Tl;dr — это форма обучения без присмотра, когда мы позволяем ИИ самостоятельно идентифицировать метки данных.

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

Другим примером может быть, учитывая неполные данные, предсказать, как следует реконструировать отсутствующий контент. Если дана первая половина предложения, …

На этом первом изображении мы видим пример, к которому подошли исследователи из Беркли Deepak Pathak et al. который использовал «кодировщик контекста» для заполнения больших недостающих областей изображения, где он не может получить «подсказки» от соседних пикселей. Он должен создавать окна где-то в этом пустом пространстве и верхней перекладине двери.

Это похоже на идею помочь компьютерам понять постоянство объектов, что-то, что развилось у малышей примерно в 2 месяца. Также обратите внимание, что предварительное обучение этой модели выполняется значительно быстрее, чем в ImageNet (14 часов вместо 3 дней), но не так точно (семантическая сегментация 30% вместо 48%).

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

В зависимости от размера поощрения, то есть вероятности того, что результат/метка верны, или, как объяснил бы Ян ЛеКун, интенсивности энергии, мы можем позволить глубокой СНС работать без присмотра и «достичь производительности человеческого уровня при прогнозировании того, как башни блоков упадут».

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

Хорошо, теперь, когда мы видим его полезность, давайте лучше разберемся в самоконтролируемом обучении. Их существует множество, но ни один из них не является более известным (и мощным), чем Google Deepmind’s Bootstrap Your Own Latent (BYOL), который обучался на 512 облачных TPU. $$$$$$$$$…

BYOL достигла более высокой эффективности, чем современные контрастные методы, без использования отрицательных образцов. Почему важно, чтобы не было отрицательных образцов?

Многие вопросы с произвольными ответами возникают при использовании отрицательных проб. Откуда мы получаем отрицательные образцы? Должны ли они быть единообразно отобраны? Должны ли мы сохранять буфер? Должны ли мы заказать их? Что считается «достаточно сложным» (жесткий отрицательный майнинг) и т. д. Это пагубные дилеммы, которые остановили рост ИИ с 2010 года, пока BYOL не показал, что он может работать так же хорошо, как контролируемые модели десять лет спустя.

Как работает BYOL?

Есть две нейронные сети, которые взаимодействуют и учатся друг у друга. Первый, выделенный синим цветом, – это онлайн-сеть, где θ – набор параметров, которые изучает модель, а ε – целевые параметры (в удачном названии целевая сеть). ). Найдите реализацию на github здесь.

При вводе x мы применяем функцию увеличения t (например, случайную обрезку, отражение по горизонтали, дрожание цвета, размытие и т. д.) для создания «дополненные виды» — искажения исходного изображения, но не меняющие его сути (то есть его семантики).

Мы сопоставляем эти две немного разные версии с помощью двух немного разных кодировщиков (например, ResNet 50), f_θ(x) и f_ε(x), чтобы создать слой представления. Обычно на этом многие нейронные сети останавливаются, и модель машинного обучения (LR, RF и т. д.) применяется для прогнозирования нашего простого вектора, представляющего входные данные.

После каждого шага мы используем Экспоненциальное скользящее среднее онлайн-параметров (θ) для обновления целевых параметров (ε). Таким образом, ε является запаздывающим средним значением θ, идея, которая исходит из принципа контраста импульса в физике. Причина этого в том, что нам нужно «стабильное» представление в качестве цели.

Итак, снова мы берем два немного разных изображения и пропускаем их через два немного разных кодировщика, чтобы получить вектор y_θ и вектор y’_ε.

Проектор (g(y_θ) → z_θ) не очень нужен для архитектуры BYOL. Это в первую очередь полезно для изменения размерности с 2048 на 4092 или 256 или на то, что лучше всего подходит для вашей модели/графического процессора/бюджета. Мы можем пропустить это в большинстве случаев.

Наконец, мы смотрим на слой предсказания.

Цель состоит в том, чтобы найти предикторную функцию q_θ, которая сводит на нет увеличение целевой сети (t') и минимизирует потери между целевым и онлайн-прогнозами. через среднеквадратичную ошибку (MSE) . Расширяясь в соответствии с архитектурой BYOL, мы останавливаемся, когда q_θ(f_θ(t(x))) ≈ f_ε(t'(x)). Обратите внимание, что q_θ должен сделать это, не зная ни целевых параметров (ε), ни того, какая функция увеличения (t') использовалась для входного изображения (x).

Затем симметризируйте потери, используя входной вектор y_ε из целевой нейронной сети вместо y_θ (z_θ). В завершение минимизируйте их сумму (L^BYOL = L(y_θ) + L(y_ε)) относительно θ с помощью метода стохастической оптимизации (SO). . Наконец, мы получаем существенную динамику BYOL!

Таким образом, эта функция, q_θ, обучена оценивать ожидаемое значение E[f_θ(t(x ))] для всех дополнений t. Который, короче говоря, обучен игнорировать аугментации и находить основную семантику изображения. Независимо от того, какой мусор ввод ему был дан.

На человеческом языке BYOL говорит: «Мне все равно, обрежете ли вы часть этого, сделаете его в оттенках серого, повернете на 60 градусов или размоете, собака на этом изображении все равно собака».

Вывод

BYOL — это форма обучения с самоконтролем, состоящая из следующих шагов:

  1. введите немаркированное изображение
  2. увеличивать по-разному (случайная обрезка, поворот и т. д.)
  3. запускать дополненные изображения через отдельные кодировщики (ResNet 50)
  4. попытайтесь предсказать цель (ε) с параметрами, которые мы можем настроить (θ).

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

Важно отметить, что самоконтролируемое обучение действительно является частью неконтролируемого обучения. Термин «обучение без учителя» обычно относится к процессу «черного ящика» кластеризации или уменьшения размерности, тогда как обучение с учителем дает подробные и прослеживаемые выводы для задач регрессии и классификации. Мы делегируем ИИ маркировку объектов и последующую классификацию, мы отказываемся от единственного, что делало его контролируемым обучением — ручного определения основных истин в соответствии с человеческим суждением.

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

Теперь мы можем аппроксимировать ИИ где-то в диапазоне от 2 до 12 месяцев. Он разработал постоянство объекта и постоянство формы.