Самоконтролируемое обучение (SSL) быстро сокращает разрыв с контролируемыми методами. Недавно Facebook AI Research (FAIR), один из основных игроков в расширении горизонтов самоконтролируемого обучения, представил SEER. SEER — это модель с самоконтролем с параметрами 1,3 млрд, предварительно обученная на изображениях Instagram размером 1 млрд, которая достигает 84,2% точности в топ-1 на ImageNet, комфортно превосходя все существующие модели с самоконтролем бумажные. Другие исследователи из FAIR обучили трансформеры зрения с самоконтролем (SSViT) и сравнили их с полностью контролируемыми ViT и консетями и обнаружили, что SSViT изучают более мощные представления [бумага].

Несмотря на все эти недавние прорывы, основная идея самоконтроля на самом деле не нова и существует уже некоторое время. Мы занимались самостоятельным обучением, но только под разными названиями, в основном как обучение без учителя. Тем не менее, ведутся споры о том, что мы должны перестать рассматривать его как неконтролируемый, поскольку на самом деле он не является неконтролируемым по своей сути. При обучении с самоконтролем мы действительно наблюдаем за обучением модели, но со свободными и творческими сигналами наблюдения, а не сгенерированными человеком. Один очень интересный и не очень новый пример — Word2Vec, где мы обучаем модель предсказывать слово, исходя из окружающих его слов. Эта статья была опубликована на ICLR 2013, и в то время ее результаты считались волшебными. В этой статье показано, что если вы научите нейронную сеть предсказывать слово по нескольким предшествующим и последующим словам, извлеченные векторы признаков демонстрируют множество интересных линейных отношений. Например, если мы вызовем экстрактор признаков f(), мы можем показать, что f(‘король’) – f(‘мужчина’’) + f(‘женщина’) = f(‘королева’). Эти ранние результаты доказали, как самоконтроль способен извлекать семантические отношения.

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

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

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

Категории SSL

Грубо говоря, современные методы SSL попадают в одну из этих трех категорий: обучение предтекстовым задачам, контрастное обучение и неконтрастное обучение.

Обучение предлоговым задачам

Обучение предлоговым задачам пытается определить творческие проблемы с предлоговыми задачами, решение которых учит модель хорошему пониманию семантики наших данных. Далее я собираюсь объяснить две из наиболее важных работ по обучению предлогам. Первый берет два фрагмента одного изображения и пытается предсказать относительное расположение второго фрагмента к первому. А я уже испортил другой метод. Он учит решать головоломки. Посмотрим, как они достигнут своих целей!

Прогнозирование контекста

В этой статье авторы обучают CNN классифицировать относительное положение между двумя участками изображения. Одна плитка хранится в середине сетки 3x3, а другая плитка может быть размещена в любом из других доступных 8 мест.

Например, учитывая два вышеуказанных патча, авторы пытаются научить модель предсказывать 1, что является относительным положением второго патча по отношению к первому. Или на изображении ниже мы видим, что с учетом этих двух изображений модель должна предсказать Y = 3.

Авторы достигают своей цели, обучая две параллельные сети на основе CNN с общими весами. Одна сеть принимает первый патч, а другая — второй патч в качестве входных данных.

Архитектура сети показана на рисунке выше. Каждая параллельная сеть максимально соответствует архитектуре AlexNet. Выходы fc6 затем объединяются вместе, чтобы сформировать вход для fc7. Выходной слой fc9 содержит 8 нейронов, каждый из которых соответствует одному из 8 возможных местоположений. Авторы показывают, что, принимая вызов PASCAL, их предварительно обученная модель превосходит AlexNet, обученную с нуля. Однако это может быть не самое честное сравнение, поскольку в последнем не используются никакие изображения за пределами набора данных PASCAL, а не только помеченные изображения.

Решение головоломки

Более новая версия предыдущей статьи is this paper, которая поднимает это на новый уровень и использует задачу повторной сборки головоломки в качестве своего предлога. Авторы утверждают, что решение головоломок можно использовать для обучения системы тому, что объект состоит из частей и что это за части.

На картинке выше показано, что они обычно делают. Имея эту фотографию тигра, они хотят случайным образом извлечь из нее участок 3x3, рандомизировать плитку и обучить сеть, способную предсказывать правильное местоположение для каждой плитки. Это достигается за счет 9 параллельных сетей на основе CNN с общими весами.

Авторы определяют 64 различных перестановки для каждой головоломки, например. S=(8,4,1,9,7,3,6,5,2), и сети необходимо предсказать, какую из этих 64 перестановок она получила в качестве входных данных. Они показывают, что их метод превосходит метод предсказания контекста с большим отрывом в задаче PASCAL.

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

Проблема с предтекстовым обучением заключается в том, что обычно нелегко придумать задачу, которая заканчивается хорошим извлечением признаков. Существует еще одно семейство методов самоконтроля — контрастное обучение, в котором самоконтроль осуществляется с использованием другого подхода. Контрастное обучение пытается сформировать положительные выборки для каждых входных данных x и преобразовать x в латентные представления, где x близок к другим своим положительным партнерам. Одна большая проблема с этим подходом называется коллапсом, который происходит, когда модель учится отображать все входные данные в идентичное вложение, чтобы получить идеальный результат. Чтобы избежать этого, нам также нужны отрицательные примеры для каждого входа x, которые, насколько это возможно, отображаются в вектор признаков x.

Выше вы можете увидеть простую функцию потерь для сравнительного обучения из этой статьи, где z_i — скрытое представление для выборки i, а sim() — функция подобия, например. косинусное сходство. В этом примере j является положительной парой для i, которая обычно генерируется путем искажения выборки i. Таким образом, у нас есть N образцов в каждой партии, и мы генерируем положительную пару для каждого из N образцов, поэтому всего у нас есть 2N образцов. Цель состоит в том, чтобы скрытое представление каждого образца, такого как z_i, было максимально похоже на его положительные примеры, такие как z_j, и вдали от всех других примеров в пакете и их поврежденной версии. Таким образом, остальная часть текущей партии и их испорченный помощник будут играть роль отрицательных образцов.

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

Это более серьезная проблема в многомерных данных, таких как изображения, где есть много способов, которыми одно изображение может отличаться от другого. Найти набор контрастных изображений, которые охватывают все способы, которыми они могут отличаться от данного изображения, — почти невыполнимая задача. Перефразируя Анну Каренину Льва Толстого: Все счастливые семьи похожи друг на друга; каждая несчастливая семья несчастлива по-своему. источник Вот почему некоторые исследователи начинают искать новые неконтрастные методы.

Неконтрастный метод

Неконтрастные методы, пожалуй, самая горячая тема в самоконтролируемом обучении. Здесь я представлю два самых последних неконтрастных метода SSL. Один раз от Facebook AI Research и один от Deep Mind.

Близнецы Барлоу

Первый метод, который является работой исследовательской группы Яна Лекуна в FAIR, обязан своим названием принципу уменьшения избыточности нейробиолога Х. Барлоу, примененному к паре идентичных сетей. Основная идея заключается в том, что взаимно-корреляционная матрица между скрытыми представлениями для двух разных искаженных версий одного изображения должна быть максимально близка к идентичной. Матрица взаимной корреляции измеряет отношение одного сигнала – здесь скрытого представления – с другим сигналом; что здесь означает, что он измеряет связь между каждой скрытой чертой одной искаженной версии со всеми скрытыми чертами другой искаженной версии того же изображения. Ниже вы можете увидеть демонстрацию близнецов Барлоу.

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

BYOL

Принеси свой ликер! Э-э, нет, я имел в виду Bootstrap Your Own Latent Representations. Именно так исследователи из Deep Mind решили назвать свой новый неконтрастный метод. Подобно любому другому методу, который я предложил в этой статье, этот также использует преимущества двух параллельных сетей. Но на этот раз эти две сети не симметричны и не идентичны.

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

SSL в адаптации домена

Одной из проблем, в которой может быть полезен SSL, является универсальная адаптация домена (UniDA). В UniDA у нас есть помеченный исходный набор данных из домена и немаркированный целевой набор данных из другого домена. Исходный и целевой наборы данных выбираются из разных распределений, и на их категории нет ограничений. Это означает, что в исходном наборе данных могут быть классы, которых нет в исходном наборе данных, или наоборот.

UniDA, естественно, открывает возможность проявить творческий подход и искать различные формы самоконтроля, которые могут быть полезны либо при сопоставлении распределения между исходным и целевым доменами, либо при обнаружении открытого класса, когда мы хотим обнаружить целевые данные из целевой только частный класс; класс, которого нет в нашем исходном наборе данных. Это то, что Сайто и др. делать в методе (ТАНЕЦ)[https://arxiv.org/abs/2002.07953].

Идея метода DANCE заключается в следующем: целевые данные должны быть либо сгруппированы с исходными данными, чтобы их можно было пометить как один из известных классов, либо сформировать новые кластеры с другими целевыми точками данных. Чтобы это произошло, целевые точки должны быть либо сдвинуты к текущим прототипам классов, либо приблизиться к другим точкам данных. Это может произойти, если мы сначала определим распределение подобия для каждой точки данных, где p_ij показывает, насколько скрытое представление точки i похоже на F_j, где F_j является скрытым представлением либо для прототипа класса, либо для целевого примера. Затем мы можем минимизировать энтропию этого распределения, чтобы сдвинуть наше целевое скрытое представление к F_j.

Они называют этот термин кластеризацией соседства.

Другой предложенный авторами термин также использует энтропию, но на этот раз для того, чтобы привести некоторые из них в соответствие с категориями «известных» источников, сохраняя при этом «неизвестные» целевые образцы вдали от источника. Этот член потери называется потерей разделения энтропии, и мы минимизируем его только в том случае, если его расстояние от половины максимальной энторпи (rho) больше некоторого порогового значения m. Обратите внимание, что p — это результат классификации для целевой выборки.

Статья по теме:Свертывание решений в самоконтролируемом обучении