Что такое трансфертное обучение?
Идея трансферного обучения
состоит в том, чтобы использовать знания, полученные
моделью, обученной на большом количестве данных для другой задачи.
Модель A будет обучена специально для задачи A.
Теперь предположим, что вы хотите обучить модель B
для другой задачи.
Одним из вариантов может быть обучение модели с нуля.
Это может потребовать большого количества вычислений, времени и данных.
Вместо этого мы можем инициализировать модель B
с теми же весами, что и модель A,
передавая знания модели A на задачу B.
При обучении с нуля,
все веса модели инициализируются случайным образом.
В этом примере мы обучаем модель BERT
на задаче распознавания того,
похожи или нет два предложения.
Слева - обучение с нуля,
а справа - дообучение предварительно обученной модели.
Как мы видим, использование трансфертного обучения
и предварительно обученной модели дает лучшие результаты.
И неважно, будем ли мы обучать дольше.
Точность обучения с нуля составляет около 70%,
в то время как предварительно обученная модель легко преодолевает отметку в 86%.
Это связано с тем, что предварительно обученные модели
обычно обучаются на больших объемах данных
которые обеспечивают модели статистическое понимание
языка, используемого во время предварительного обучения.
В компьютерном зрении
трансфертное обучение успешно применяется
уже почти десять лет.
Модели часто предварительно обучаются на наборе данных ImageNet,
содержащем 1,2 миллиона фотографий.
Каждое изображение классифицируется по одной из 1000 меток.
Подобное обучение на размеченных данных
называется обучением с учителем.
В обработке естественного языка (NLP),
трансфертное обучение появилось совсем недавно.
Ключевое отличие от ImageNet заключается в том, что предварительное обучение
обычно осуществляется самостоятельно,
что означает, что оно не требует аннотации от человека
для меток.
Очень распространенной целью предварительного обучения
является угадывание следующего слова в предложении.
Для этого нужно только много-много текста.
Например, GPT-2 была предварительно обучена таким образом
используя содержание 45 миллионов ссылок
размещенных пользователями в Reddit.
Другим примером задачи предварительного cамообучения под наблюдением
является предсказание значения случайно замаскированных слов.
Это похоже на тесты "заполни пустое место",
которые вы, возможно, выполняли в школе.
BERT был предварительно обучен таким образом, используя английскую Википедию
и 11 000 неопубликованных книг.
На практике трансферное обучение применяется к заданной модели
путем отбрасывания ее головы,
то есть последних слоев, сфокусированных на цели предварительного обучения,
и замены ее новой, случайно инициализированной головой,
подходящей для поставленной задачи.
Например, когда мы ранее проводили дообучение модели BERT,
мы удалили голову, которая классифицировала слова-маски,
и заменили ее классификатором с двумя выходами.
Поскольку наша задача имеет две метки.
Чтобы быть максимально эффективной, используемая предварительно обученная модель
должна быть максимально похожа
на задачу, для которой она дообучается.
Например, если проблема
состоит в классификации немецких предложений,
лучше всего использовать предварительно обученную немецкую модель.
Но вместе с хорошим приходит и плохое.
Предварительно обученная модель передает не только свои знания,
но и любую предвзятость, которую она может содержать.
ImageNet в основном содержит изображения
из Соединенных Штатов и Западной Европы.
Поэтому модели, дообученные с его помощью
обычно лучше работают с изображениями из этих стран.
OpenAI также изучил смещение
в прогнозах своей модели GPT-3
которая была предварительно обучена
с использованием задачи "Угадай следующее слово".
Изменение пола в строке подсказке
с "He was very" на "She was very"
изменило предсказания с преимущественно нейтральных прилагательных
на почти только физические.
В карточке модели GPT-2
OpenAI также признает ее необъективность
и не рекомендует использовать ее
в системах, взаимодействующих с людьми.