Если нам, людям, нужны способности супергероев, то мы стремимся дать машинам возможности, подобные человеческим. Конечно, это долгий путь. Но если вы читаете о последних достижениях в области глубокого обучения, неудивительно, что они становятся лучше в своей работе. Некоторые модели глубокого обучения превзошли человеческие возможности с точки зрения распознавания объектов!

Возможности таких моделей достигаются за счет больших наборов данных. Мы, люди, можем распознавать объекты, только увидев несколько примеров. Если вы один раз увидите изображение панголина, в следующий раз вы легко его узнаете. А модели учатся как люди?

Небольшое обучение направлено на достижение этой способности. Цель обучения за несколько выстрелов состоит в том, чтобы распознавать объекты, имея только несколько их образцов. Давайте посмотрим, как он пытается достичь этого подвига, отличного от обычного глубокого обучения, о котором мы знаем.

При обучении с несколькими выстрелами данные поезда и теста разделены таким образом, что они не пересекаются. Идея состоит в том, чтобы классы и их образы, которые модель предоставляет при обучении, не пересекались с теми, что при тестировании.

Давайте назовем эти разделения как мета-обучение и мета-тест. Кроме того, эти разделения объединяются в задачи. Задачи состоят из собственных наборов поездов и тестов, называемых наборами поддержки и наборами запросов соответственно.

Давайте проясним это здесь. Базовыми единицами обучения за несколько шагов являются наборы поддержки и запросов. Эти наборы составляют задачу, а множество задач вместе образуют наши данные мета-обучения и мета-теста. Вы можете думать об этих задачах как о мини-пакетах в обычном глубоком обучении.

В задаче классификации изображений вспомогательный набор разработан в виде N-way K-shot, т. е. существует N классов, состоящих из K каждый. Таким образом, всего N*K изображений. Набор запросов состоит из Q изображений, принадлежащих N классам. Во время обучения модели разрешается видеть классы для изображений Q. Но не во время испытаний. Число K обычно невелико, например 1 или 5. В случае K = 0 это называется обучением с нулевым выстрелом. Немногие выстрелы в обучении за несколько выстрелов названы в честь числа К.

Как обучается и тестируется модель с несколькими выстрелами?

Во время обучения модель оценивает свою функцию стоимости на основе изображений запроса, обусловленных ее набором поддержки. Для данного набора поддержки N-way K-shot и модели H, параметризованной Θ, предполагается, что H предсказывает класс для Q. На основе потерь, полученных на наборе запросов задачи, вычисляются градиенты, которые в дальнейшем используются для обновления параметров модели. Таким образом, цель состоит в том, чтобы минимизировать потери предсказания в наборе запросов.

Это повторяется для всех задач или также называется эпосидами в номенклатуре с несколькими выстрелами. Во время теста модели показывается набор поддержки, и она должна предсказать класс для своих изображений запроса. На данный момент набор запросов определенно не имеет метки класса.

Подводя итог, данный набор данных разбит на два непересекающихся набора поездов и тестов. Эти наборы в дальнейшем предполагается подавать в модель в формате задачи. Задача состоит из наборов поддержки и запросов. Во время обучения модели предоставляется набор поездов, состоящий из задач, где каждая задача имеет свой набор поддержки N * K и набор запросов Q. Для задачи модель обновляется на основе прогноза, который она делает для набора запросов. После того, как модель обучена, теперь она поставляется с тестовым набором. Набор тестов состоит из отдельных заданий. Предполагается, что модель, наконец, сделает прогноз по изображениям запроса.