Многие из последних достижений в области глубокого обучения связаны с использованием неструктурированных и неконтролируемых данных. Использование таких данных особенно распространено в моделировании речи и языка, например, где топ-модели используют различные задачи предварительной подготовки на неконтролируемых текстовых корпусах. ²³ Это также получило распространение в других областях. В недавней статье группы Куок Ле. повысила точность ImageNet Top-1 на поразительные два процента, используя настройку ученик-учитель и почти 300 миллионов псевдо-помеченных изображений из социальных сетей.

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

Что такое псевдо-ярлыки?

В зависимости от модели и проблемы существует несколько различных подходов к псевдо-маркировке. Наиболее часто используемый подход следует архетипу ученик-учитель и аналогичен полу-контролируемым методам. Используя «учительскую» модель или ансамбль моделей, вы прогнозируете ярлыки для дополнительного, немаркированного набора данных. Затем, используя эти новые метки в сочетании с исходным набором данных, вы можете обучить новую «студенческую» модель на этом расширенном наборе данных. Поскольку новая «студенческая» сеть имеет доступ к большему количеству обучающих примеров, хотя и частично обозначенных учителем, она должна обобщать более точно.

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

Теоретический пример

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

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

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

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

Тем не менее, изображения с псевдонимами содержат дополнительные шаблоны, которые сеть может изучить. Другие домены часто получают такую ​​же выгоду. В задачах НЛП слова вне словарного запаса, которые появляются только в тестовом наборе, но не в обучающем наборе, могут быть переданы в модель с контекстом во время обучения с использованием псевдо-маркировки.

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

Конкретный пример, советы и рекомендации

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

Предположим, у нас есть слегка коррелированный набор данных с одной переменной, которая следует функции y ~ 1/2 x + rand (0, .5), и у нас есть данные для целочисленных выборок менее 150 и мы хотим предсказать целочисленные выборки до 300.

Теперь давайте потренируемся на 150 помеченных целочисленных выборках и сделаем прогнозы до 300 с помощью LightGBM. Цели показаны красным, а прогнозы - синим.

Как видите, здесь довольно серьезная проблема. LightGBM выравнивает свои прогнозы за пределами известного диапазона, что означает, что прогнозы ухудшаются, когда x увеличивается выше 150.

Давайте проделаем тот же тест, но на этот раз с однослойной нейронной сетью.

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

Теперь, используя эти прогнозы, давайте рассмотрим эту нейронную сеть как модель «учителя» и попробуем передать знания нашей модели LightGBM, присвоив псевдо-метки всему набору данных.

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

Успех! LightGBM намного лучше справляется с экстраполяцией линейной корреляции для тестовых данных, с которой LightGBM традиционно не справляется.

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

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

Тренируйтесь,

Ray & Kensho R&D

Спасибо Патрику О’Ниллу, Сиришу Гурураджа, Георгу Кучко, Юлии Довженко, Габриэлю Алтай и Кэролайн Гереньи за помощь с публикацией.

Сноски

1 BERT: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка, https://arxiv.org/abs/1810.04805

2 XLNet: Generalized Autoregressive Pretraining for Language Understanding, https://arxiv.org/abs/1906.08237

3 Turing-NLG: языковая модель с 17 миллиардами параметров от Microsoft, https://www.microsoft.com/en-us/research/blog/turing-nlg-a -17-миллиард-язык-модель-модель-Майкрософт /

4 Самостоятельное обучение с помощью Noisy Student улучшает классификацию ImageNet: https://arxiv.org/abs/1911.04252

5 https://www.kaggle.com/c/sp-society-camera-model-identification

6 Глубокое обучение устойчиво к огромному шуму от лейблов, https://arxiv.org/abs/1705.10694