Моя последняя работа по полуконтролируемому обучению оказалась интересна многим. Итак, я решил сделать аналогичное резюме по репрезентативному обучению. Лично я люблю эту область и возлагаю большие надежды на 2022 год. В этой статье я попытался обобщить многие важные работы, опубликованные за последнее время. Возможно, я что-то пропустил, но все же попытался написать хорошую вводную статью в эту область машинного обучения. Надеюсь, я сэкономлю чье-то время на переваривание информации.

Контрастное обучение

предложенный Sumit Chopra et al. в 2005 году.

Сравнительное обучение — это структура, которая изучает схожие/несходные представления из данных, которые организованы в пары похожие/несходные. Эта потеря также известна как InfoNCE и обычно формулируется следующим образом:

где q — представление выборки запроса, тогда как k+ и k- — представления положительных и отрицательных выборок ключей соответственно. Обычно образцы q и k представляют собой дополненные пары одного и того же изображения. Наконец, температурный гиперпараметр tau используется для регулирования чувствительности. Эта структура была основной идеей во многих работах.

Простая структура для контрастного обучения визуальным представлениям

Также известен как SimCLR, предложенный Ting Chen et al.

Сначала мы увеличиваем мини-партию, чтобы получить положительные пары. Затем тот же кодер f и проекционная головка g (MLP) применяются к расширенным образцам. Наконец, мы применяем контрастные потери, определенные выше, чтобы максимизировать согласие, минимизировать расстояние между дополненной парой одного и того же образца изображения. Таким образом, важно отметить, что чем больше размер партии, тем больше у нас отрицательных образцов для нашей сравнительной структуры обучения. Это приводит к вычислительной сложности.

Самоконтролируемое обучение претекст-инвариантным представлениям

PIRL, предложенный Ishan Misra et al. Вы могли заметить этот метод на рисунке SimCLR выше. Поэтому я чувствую, что должен кратко представить его, поскольку он тесно связан с последними достижениями в этой области.

На рисунке выше показан обзор структуры PIRL. I_t — это расширенный вид исходного образца изображения I, тогда как тета показывает веса основного кодировщика (ResNet), а f и g — две отдельные проекционные головки (полностью связанные слои). Как видим, нам нужно получить 9 преобразованных/дополненных фрагментов изображения и соединить их представления. Таким образом, головка проекции g принимает каскадное вложение, которое в 9 раз больше, чем исходящее из верхней ветви. После того, как мы применяем проекционные головы, мы применяем контрастное обучение следующим образом:

где m_I — векторы признаков исходных изображений (не дополненных), хранящихся в банке памяти M. Таким образом, мы пытаемся максимально согласовать векторы признаков m_I с соответствующими проекциями, поступающими из двух ветвей. Обратите внимание, что отрицательные образцы выбираются случайным образом из банка памяти.

Momentum Contrast для обучения визуальному представлению без присмотра

Кайминг Хе и др. предложил подход к неконтролируемому репрезентативному обучению, известный как MoCo.

Авторы, как видно на рисунке выше, удаляют банк памяти, в котором хранятся представления функций на протяжении всего обучения, из-за затрат памяти, которые он приносит при обучении. Вместо этого они вводят энкодер импульса, который обновляется как скользящее среднее основного онлайн-энкодера. Кроме того, они предлагают Dictionary в качестве структуры очереди (первым пришел, первым вышел), в которой также хранятся представления функций. Он намного меньше, чем банк памяти, поскольку авторы утверждают, что нет необходимости хранить векторы признаков, полученные за несколько эпох в прошлом. Как видно на изображении, контрастные потери достигаются за счет минимизации расстояния между представлениями расширенной пары изображений, поступающих из обеих сетей, и максимизации расстояния между представлениями, случайно выбранными из Словаря. Интересно, что было много работ, показывающих, что усреднение представлений, выполненное банком памяти, очень похоже на усреднение энкодера, энкодера импульса. Однако импульсный энкодер значительно снижает затраты памяти.

Псевдокод прикреплен ниже:

МоКо v2 и МоКо v3

Есть несколько модификаций, которые MoCo v2 привносит в исходную структуру. Я хотел бы резюмировать их, опираясь на рисунок выше, следующим образом:

  1. Дополнительная головка MLP в качестве финального модуля (добавляется к обоим энкодерам). Этот заголовок MLP резюмируется на снимке исходного кода, прикрепленном ниже. Мы видим, что мы просто заменяем последний полносвязный слой парой полносвязных слоев с промежуточной активацией ReLU (скрытый слой 2048-d, с ReLU).

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

3. Авторы включают планировщик косинусной скорости обучения.

Загрузите свой собственный латентный новый подход к самоконтролируемому обучению

BYOL, предложенный Жаном-Бастьеном Грилем и др.

Надеюсь, вы уже знакомы с такими терминами, как репрезентация и проекция. Если нет, пожалуйста, не торопитесь, чтобы понять различия: D.

Основной вклад BYOL заключается в том, что авторы отказались от словаря или буфера памяти, используемых MoCo и PIRL соответственно. Вместо этого они представили другую головку предсказания (MLP похож на головку проекции). Таким образом, как мы можем заметить из рисунка выше, предсказательная головка берет проекцию онлайн-кодировщика, основного, и пытается предсказать проекцию, приходящую от импульсного энкодера. Голова предсказания очень важна, так как помогает избежать коллапса (когда все представления одинаковы).

Обратите внимание, что этот предиктор применяется только к онлайн-ветви, что делает архитектуру асимметричной между онлайн-конвейером и целевым конвейером.

Таким образом, я считаю, что это действует как своего рода регуляризация. Также авторы полностью отказываются от использования отрицательных образцов и предлагают следующую потерю:

где все векторы признаков нормализованы по l2.

BYOL превосходит все предыдущие аналоги, несмотря на его необычную основу.

МоКо v3

Теперь вернемся к семейству MoCo (:

Он был разработан для самостоятельных ResNet и ViT и предложен в прошлом году Kaiming He et al.

Я хотел бы резюмировать вклад следующим образом:

  1. Авторы отказываются от Dictionary и используют заголовок предсказания в качестве BYOL.

В MoCo v3 все слои в обоих MLP имеют BN. Головки MLP BYOL/SwAV имеют разные конструкции BN.

  1. Контрастный проигрыш все еще в игре. Авторы обнаружили, что большого размера пакета (4096) достаточно для достижения превосходной производительности.

3. Можно заменить магистраль на VisionTransformer (ViT). На самом деле, вся работа была проделана для включения ViTs, лол.

Пожалуйста, обратитесь к оригинальной статье для более подробной информации.

Изучение простого сиамского репрезентативного обучения

SimSiam был предложен Kaiming He et al. в 2020 году.

В этой работе авторы показывают, что, возможно, нет необходимости использовать кодер импульса в качестве модели учителя. На самом деле, простой и старый сиамский фреймворк может дать отличные результаты. Однако на рисунке выше мы видим, что есть головка predictor, которая пытается предсказать выходное представление расширенной выборки того же изображения. Кроме того, авторы отмечают, что операция «стоп-градус» играет решающую роль в предотвращении обрушения. На первый взгляд (хотя) фреймворк очень похож на SimCLR. Однако вы должны помнить, что SimCLR использует отрицательные образцы и не выполняет градуировку. Следовательно, SimCLR также требует больших размеров пакетов, что приводит к дополнительным вычислительным затратам. Псевдокод приведен ниже:

Я кратко изложу его, если вы не знакомы с фреймворком PyTorch.

  1. Вы увеличиваете изображение, чтобы получить пару дополненных образцов.
  2. Мы получаем наши прогнозы, используя сеть f_theta.
  3. Мы вычисляем встраивания прогнозов, используя заголовок predictor (MLP). Обратите внимание, что для каждой проекции дополненного изображения мы пытаемся предсказать проекцию самой пары.
  4. Вычислите потерю подобия отрицательного косинуса. Обратите внимание, что стоп град. выполняется на целевых проекциях (z).

Авторы также отмечают, что фреймворк дает сбой, если мы отбрасываем наш предиктор (т. е. предиктор h — это единичная матрица). Кроме того, скорость обучения предиктора не должна снижаться на протяжении всего обучения. На самом деле, SimSiam может достичь даже лучших результатов при условии, что lr предиктора является постоянным.

Возможное объяснение состоит в том, что h должен адаптироваться к последним представлениям, поэтому нет необходимости заставлять его сходиться (путем уменьшения lr) до того, как представления будут достаточно обучены. Мы заметили, что во многих вариантах нашей модели h с постоянным lr дает несколько лучшие результаты.

Мы можем заметить, что такая простая структура, как SimSiam, может достигать результатов, сравнимых с текущими подходами SOTA. Это определенно интересная работа, и я ожидаю, что в будущем эта идея будет изучена на более глубоком уровне.

БОНУС (:

БЕГИТЕ ОТ СВОЕГО УЧИТЕЛЯ: ПОНИМАНИЕ BYOL С ПОМОЩЬЮ НОВОГО ПОДХОДА САМОКОНТРОЛЯ

RAFT был предложен Haizhou Shi et al. в 2020 году.

На самом деле, я полагаю, что эта работа в настоящее время исследуется и совершенствуется авторами. Тем не менее, мне было интересно, и я хотел поделиться с вами.

Авторы ставят под сомнение идею попытки согласования кодировщика импульса (Mean Teacher). Таким образом, они предлагают другой подход, при котором онлайн-кодер пытается максимизировать расстояние между своим представлением и представлением Среднего Учителя (MT). Между тем, он также пытается минимизировать расстояние между представлениями расширенных образцов одного и того же изображения. RAFT включает MT способом, прямо противоположным BYOL, и явно предотвращает крах, поощряя онлайн отличаться от своего прошлого (обновления импульса). Кроме того, они доказывают, что BYOL на самом деле является особой формой RAFT (подробности см. в исходной статье). На приведенном выше рисунке очень четко показана разница между платформами BYOL и RAFT. В целом, мы также уже заметили предиктор, с которым мы уже хорошо знакомы. (:

Алгоритм RAFT приведен выше. Я резюмирую это следующим образом:

  1. Получите дополненную пару одного и того же изображения.
  2. Вычислите прогноз встраивания для обеих расширенных выборок.
  3. Вычислите проекционные вложения МТ для тех же выборок.
  4. Потеря выравнивания вычисляется между двумя прогнозными встраиваниями и побуждает пару быть как можно более близкой. Это просто потеря MSE для l2 нормализованных вложений.
  5. Отрицательная потеря кросс-модели способствует тому, чтобы вложения прогнозов (исходя из онлайн-кодировщика) отличались от вложений проекций MT.

Авторы также отмечают, что предиктор играет решающую роль в других работах, помогая избежать коллапса репрезентации. Они утверждают, что это главная причина, по которой BYOL не дает сбоев, несмотря на его необычную стратегию обучения. Кроме того, они утверждают, что структура RIFT поощряет онлайн-кодировщик всегда улучшать свою историю (MT), поэтому нам не нужно ожидать полной конвергенции. В целом, MT — это своего рода регуляризатор, и авторы утверждают, что RAFT более выгоден, чем BYOL.

Следующий





Несколько последних слов

Я постарался охватить все важные работы, опубликованные за последнее время. Впрочем, я мог что-то упустить. Пожалуйста, дайте мне знать, если я пропустил какие-либо интересные работы в этой области. В целом, я мог упустить некоторые интересные технические детали в этой статье; однако моя цель — познакомить вас с этой областью как можно быстрее. Если вы заинтересованы в какой-либо из работ, пожалуйста, не торопитесь и прочитайте оригинальные статьи для получения более подробной информации (: Спасибо, что уделили время чтению моей статьи. Надеюсь, я облегчу чью-то жизнь, сэкономив некоторое количество времени на переваривании информация.

Мое мнение

Как мы можем заметить, исследовательская группа Facebook проделала потрясающую работу в этой области. Кроме того, мы можем заметить некоторую тенденцию в этой области, поскольку в большинстве последних работ используется кодировщик импульса. Кроме того, мы также замечаем, что недавние работы не опираются на отрицательные образцы. Я просто хотел поделиться этими выводами.