Самообучение с самоконтролем ( SSL ) — это парадигма в машинном обучении , где модель обучается на задаче, используя сами данные для генерации контрольных сигналов, а не полагаясь на внешние метки, предоставленные людьми. В контексте нейронных сетей самообучение направлено на использование внутренних структур или отношений во входных данных для создания значимых обучающих сигналов. Задачи SSL разработаны таким образом, что для их решения требуется фиксация существенных особенностей или отношений в данных. Входные данные обычно дополняются или преобразуются таким образом, что создаются пары связанных образцов. Один образец служит входом, а другой используется для формулирования контрольного сигнала. Это дополнение может включать введение шума, обрезку, поворот или другие преобразования. Самообучение более точно имитирует способ, которым люди учатся классифицировать объекты. [1]
Типичный метод SSL основан на искусственной нейронной сети или другой модели, такой как список решений . [2] Модель обучается в два этапа. Во-первых, задача решается на основе вспомогательной или претекстовой задачи классификации с использованием псевдометок, которые помогают инициализировать параметры модели. [3] [4] Во-вторых, фактическая задача выполняется с контролируемым или неконтролируемым обучением. [5] [6] [7] Другие вспомогательные задачи включают завершение шаблона из замаскированных входных шаблонов (молчаливые паузы в речи или части изображения, замаскированные черным).
Самостоятельное обучение дало многообещающие результаты в последние годы и нашло практическое применение в обработке звука , а также используется Facebook и другими для распознавания речи . [8]
Автоассоциативное самоконтролируемое обучение — это особая категория самоконтролируемого обучения, при котором нейронная сеть обучается воспроизводить или реконструировать свои собственные входные данные. [9] Другими словами, модель должна изучить представление данных, которое фиксирует их основные характеристики или структуру, что позволяет ей регенерировать исходные входные данные.
Термин «автоассоциативный» происходит от того факта, что модель по сути ассоциирует входные данные с собой. Это часто достигается с помощью автоэнкодеров , которые являются типом архитектуры нейронной сети, используемой для обучения представлению. Автоэнкодеры состоят из сети кодировщика, которая отображает входные данные в представление меньшей размерности (латентное пространство), и сети декодера, которая реконструирует входные данные из этого представления.
Процесс обучения включает в себя предоставление модели входных данных и требование к ней реконструировать те же данные как можно точнее. Функция потерь, используемая во время обучения, обычно штрафует разницу между исходным входом и реконструированным выходом. Минимизируя эту ошибку реконструкции, автоэнкодер изучает осмысленное представление данных в своем скрытом пространстве.
Для задачи бинарной классификации обучающие данные можно разделить на положительные примеры и отрицательные примеры. Положительные примеры — это те, которые соответствуют цели. Например, если вы учитесь определять птиц, положительными обучающими данными будут те изображения, на которых изображены птицы. Отрицательными примерами — это те, на которых их нет. [10] Контрастное самоконтролируемое обучение использует как положительные, так и отрицательные примеры. Функция потерь контрастного обучения минимизирует расстояние между положительными парами образцов, максимизируя расстояние между отрицательными парами образцов. [10]
Ранний пример использует пару одномерных сверточных нейронных сетей для обработки пары изображений и максимизации их соответствия. [11]
Контрастное предварительное обучение языка и изображения позволяет проводить совместное предварительное обучение текстового кодировщика и кодировщика изображения таким образом, чтобы совпадающая пара изображение-текст имела вектор кодирования изображения и вектор кодирования текста, охватывающие небольшой угол (имеющий большое косинусное сходство).
InfoNCE (Noise-Contrastive Estimation) [12] — это метод совместной оптимизации двух моделей на основе Noise Contrastive Estimation (NCE). [13] При наличии набора случайных выборок, содержащих одну положительную выборку из распределения «предложения» и одну отрицательную выборку , он минимизирует следующую функцию потерь:
Неконтрастное самоконтролируемое обучение (NCSSL) использует только положительные примеры. Вопреки здравому смыслу, NCSSL сходится к полезному локальному минимуму, а не достигает тривиального решения с нулевыми потерями. Для примера бинарной классификации он бы тривиально научился классифицировать каждый пример как положительный. Эффективный NCSSL требует дополнительного предиктора на стороне онлайн, который не осуществляет обратное распространение на целевой стороне. [10]
SSL относится к контролируемым методам обучения, поскольку его цель — сгенерировать классифицированный вывод из ввода. В то же время, однако, он не требует явного использования маркированных пар ввода-вывода. Вместо этого корреляции, метаданные, встроенные в данные, или знания предметной области, присутствующие во вводе, неявно и автономно извлекаются из данных. Эти контролируемые сигналы, сгенерированные из данных, затем могут использоваться для обучения. [1]
SSL похож на неконтролируемое обучение в том, что не требует меток в данных выборки. Однако, в отличие от неконтролируемого обучения, обучение не осуществляется с использованием внутренних структур данных.
Полуконтролируемое обучение сочетает контролируемое и неконтролируемое обучение, требуя, чтобы была размечена лишь небольшая часть обучающих данных . [4]
При трансферном обучении модель, разработанная для одной задачи, повторно используется для другой задачи. [14]
Обучение автокодировщика по сути представляет собой самоконтролируемый процесс, поскольку выходной шаблон должен стать оптимальной реконструкцией самого входного шаблона. Однако в современном жаргоне термин «самоконтролируемый» стал ассоциироваться с задачами классификации, которые основаны на настройке обучения предтекстовой задачи. Это подразумевает (человеческое) проектирование такой предтекстовой задачи(-ок), в отличие от случая полностью автономного обучения автокодировщика. [9]
В обучении с подкреплением самоконтролируемое обучение на основе комбинации потерь может создавать абстрактные представления, в которых в сжатом виде хранится только самая важная информация о состоянии. [15]
Самообучающееся обучение особенно подходит для распознавания речи. Например, Facebook разработал wav2vec , самообучающийся алгоритм, для выполнения распознавания речи с использованием двух глубоких сверточных нейронных сетей , которые строятся друг на друге. [8]
Модель Google Bidirectional Encoder Representations from Transformers (BERT) используется для лучшего понимания контекста поисковых запросов. [16]
GPT-3 от OpenAI — это авторегрессивная языковая модель , которая может использоваться в языковой обработке. Она может использоваться для перевода текстов или ответов на вопросы, среди прочего. [17]
Bootstrap Your Own Latent (BYOL) — это NCSSL, показавший превосходные результаты на ImageNet , а также на тестах передачи и полуконтролируемого тестирования. [18]
Алгоритм Яровского является примером самоконтролируемого обучения в обработке естественного языка . Из небольшого количества помеченных примеров он учится предсказывать, какое значение многозначного слова используется в заданном месте текста.
DirectPred — это NCSSL, который напрямую устанавливает веса предиктора, а не изучает его с помощью обновления градиента . [10]
Self-GenomeNet — пример самоконтролируемого обучения в геномике. [19]