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

Вступление

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

Контрастная потеря явно сравнивает пары представлений изображений. Он отталкивает представления, исходящие от разных изображений, при объединении представлений, исходящих из другого набора преобразований или представлений одного и того же изображения.

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

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

Предложение

Для преодоления перечисленных выше ограничений авторы предложили следующее:

  1. Потеря кластеризации в сети: авторы предлагают масштабируемую функцию потерь, которая работает как с большими, так и с маленькими размерами пакетов и не требует дополнительных действий. как банк памяти или датчик импульса. Теоретически его можно масштабировать до неограниченного количества данных.
  2. Стратегия множественного кадрирования: новый метод увеличения, который использует сочетание видов с разным разрешением вместо двух видов с полным разрешением, без значительного увеличения объема памяти и вычислительных ресурсов.
  3. Объединение двух вышеперечисленных в единую модель, которая превосходит все другие методы SSL, а также предварительное обучение для нескольких последующих задач.

Метод

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

Но чем он отличается от типичных подходов к кластеризации?

Типичные методы кластеризации, такие как DeepClutsering, автономны, поскольку в целом они основаны на двух шагах. На первом этапе вы кластеризуете функции изображения всего набора данных, а на втором этапе мы прогнозируем кластеры или коды для различных представлений изображений. Тот факт, что эти методы требуют нескольких проходов по набору данных, делает их непригодными для онлайн-обучения. Посмотрим, как авторы поэтапно решают эти проблемы.

Онлайн-кластеризация

  1. У нас есть набор преобразования изображений T. Каждое изображение xn преобразуется в расширенное представление xnt путем применения преобразования t, взятого из T.
  2. Расширенное представление xnt затем сопоставляется с векторным представлением путем применения нелинейного сопоставления .
  3. Этот вектор признаков затем проецируется на единичную сферу, что IMO является просто процессом нормализации. Давайте еще раз посмотрим на порядок:

4. Затем мы вычисляем коды qnt, для этого вектора znt, сопоставляя его с набором. K обучаемых векторов-прототипов {c₁, c₂… ..c_k}. Матрица, образованная этими векторами, обозначается C.

Проблема с предсказанием с заменой мест

Мы говорили о преобразовании изображений, проекции вектора признаков и вычислении кода (q), но не обсуждали, почему мы делаем это таким образом. Как было сказано ранее, одна из целей всего этого упражнения - изучить визуальные функции в режиме онлайн без какого-либо контроля. Мы хотим, чтобы наши модели изучали надежные представления, согласованные в разных представлениях изображений.

Авторы предлагают обеспечить согласованность между кодами из разных дополнений одного и того же изображения. Это вдохновлено сравнительным обучением, но разница в том, что вместо прямого сравнения векторов признаков мы будем сравнивать назначение кластеров для разных представлений изображений. Как?

После того, как мы вычислили коды zt и zs из двух разных дополнений одного и того же изображения, мы вычислили бы коды qt и qs путем сопоставления векторов признаков с прототипами K. Затем авторы предлагают использовать замененную задачу прогнозирования со следующей функцией:

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

Здесь операция softmax применяется к скалярному произведению z и C. Член Τ - это температурный параметр. Принятие этой потери ко всем изображениям и парам дополнений данных приводит к следующей функции потерь для задачи предсказания с перестановкой мест:

Эта функция потерь совместно минимизирована по отношению к прототипам C и параметрам θ кодировщика изображения f, используемым для создания функций znt

Расчет онлайн-кодов

Когда мы начали это обсуждение, мы говорили о кластеризации в автономном режиме и в сети, но мы не рассматривали, насколько этот метод работает в сети.

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

Для данного B векторов признаков Z = [z₁, z₂,. . . , z_B], мы заинтересованы в отображении их на прототипы C = [c₁,. . . , c_K]. Это отображение или коды представлены как Q = [q₁,. . . , qB], а Q оптимизирован для максимального сходства между функциями и прототипами, т. е.

где H (Q) - функция энтропии, а ε - параметр, контролирующий гладкость отображения. Вышеупомянутое выражение представляет проблему оптимального транспорта (подробнее об этом позже). У нас есть функции и прототипы, и теперь мы хотим найти оптимальные коды. Член энтропии справа помогает в равнораспределении (Пожалуйста, поправьте меня в разделе комментариев, если я ошибаюсь).

Кроме того, поскольку мы работаем над мини-партиями, ограничение накладывается на мини-партии и выглядит примерно так:

где 1_K обозначает вектор единиц в размерности K. Эти ограничения предписывают, что в среднем каждый прототип выбирается не менее (B / K) раз в партии.

Как только решение Q * найдено для (3), мы можем выбрать два варианта. Во-первых, мы можем напрямую использовать программные коды. Во-вторых, мы можем получить дискретные коды, округляя решение. Авторы обнаружили, что дискретные коды хорошо работают при автономном вычислении кодов для полного набора данных. Однако в онлайн-настройках, где мы работаем с мини-пакетами, использование дискретных кодов работает хуже, чем использование непрерывных кодов. Объяснение заключается в том, что округление, необходимое для получения дискретных кодов, является более агрессивным шагом оптимизации, чем обновления градиента. Хотя это приводит к быстрой сходимости модели, это приводит к худшему решению. Эти программные коды Q * имеют форму нормализованной экспоненциальной матрицы.

Здесь u и v - векторы перенормировки, вычисленные с использованием небольшого числа умножений матриц с использованием итерационного алгоритма Синкхорна-Кноппа

Примечание: спасибо Амит Чаудхари за указание на соответствующие ресурсы для транспортного многогранника и алгоритма Синкхорна-Кноппа. Вы можете подробно прочитать об этих двух ее и здесь

Работа с небольшими партиями

Когда количество B функций партии слишком мало по сравнению с количеством прототипов K, невозможно равномерно разделить партию на K прототипов. Поэтому при работе с небольшими пакетами авторы используют функции из предыдущих пакетов, чтобы увеличить размер Z в (3), и только коды функций пакета используются в потере обучения.

Авторы предлагают хранить около 3К признаков, то есть в том же диапазоне, что и количество кодовых векторов. Это означает, что они сохраняют только функции из последних 15 пакетов с размером пакета 256, в то время как для контрастных методов обычно требуется хранить последние 65 000 экземпляров, полученных из последних 250 пакетов.

Вся приведенная выше информация относится только к онлайн-кластеризации. Нигде вы не обсуждали новую стратегию аугментации. Пытаетесь сделать пост в блоге коротким? Ага!

Мульти-кадрирование: увеличение представлений изображениями меньшего размера

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

Отлично. Давайте возьмем кадры размером 4x4, 8x8, 16x16, 32x32,… .. Достаточно данных, чтобы заставить чертову сеть учиться, ха!

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

  1. Два кадра стандартного разрешения.
  2. V дополнительные обрезки с низким разрешением, которые покрывают только небольшие части изображения.

Функция потерь в (1) затем обобщается как:

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

Полученные результаты

Авторы провели ряд экспериментов. Я не буду перечислять здесь все подробности обучения. О них можно прочитать прямо из газеты. Важно отметить, что большинство гиперпараметров были взяты непосредственно из статьи SimCLR вместе с LARS optimize r с косинусной скоростью обучения и Проекционная головка MLP. Я перечисляю здесь некоторые результаты.

Заключение

Эта статья мне очень понравилась. ИМХО, это одна из лучших работ по SSL на сегодняшний день. Он не только пытается решить проблемы, связанные с задачей распознавания экземпляров и контрастным обучением, но также предлагает очень творческое решение для продвижения вперед. Самая большая сила этого метода в том, что он онлайн.