На этот раз я хочу написать текст для обсуждения от Transformer-XL до XLNet, но я еще не читал его. Давайте сначала напишем часть XLNet, а Transformer-XL добавит ее завтра~
1. Предпосылки
В октябре 2018 Google выпустила модель BERT, которая доминировала в списке GLUE.В то время самым большим нововведением BERT было предложение модели маскированного языка в качестве задачи перед обучением, которая решила проблему, заключающуюся в том, что GPT не может быть двунаправленно закодирован, а ELMo не может быть глубоко двунаправленно закодирован. С того дня многие задачи больше не требуют сложных сетевых структур или большого количества размеченных данных.Промышленность и академические круги многое сделали на основе BERT.
Вчера, 19 июня 2019 года, Google выпустила еще одну модель XLNet, которая обнаружила и устранила недостатки BERT и превзошла предыдущие результаты BERT (конечно, объем данных и вычислительная мощность значительно увеличились по сравнению с прошлым годом). Пробудите всех, чтобы не уводили все время, инновации всегда вылезут из трещины.
Во-первых, вводятся две неконтролируемые целевые функции:
- AR (авторегрессия): авторегрессия, предполагающая, что данные последовательности имеют линейную зависимость, используйте
предсказывать
. Все предыдущие традиционные односторонние языковые модели (ELMo, GPT) были нацелены на AR.
- AE (автокодирование): самокодирование, копирование ввода в вывод. MLM BERT — это своего рода AE.
AR — широко используемый метод в прошлом, но недостатком является то, что он не может выполнять двунаправленное кодирование. Поэтому BERT использует AE для получения глобальной информации о последовательности. Но автор этой статьи указал на две проблемы, связанные с методом BERT AE:
- В BERT есть допущение, которое не соответствует реальной ситуации: то есть замаскированные токены не зависят друг от друга. Например, при предварительном обучении ввода: «естественная [Маска] [Маска] обработка» целевая функция на самом деле равна p(язык|естественная обработка)+p(язык|естественная обработка), и если вы используете AR, она должна быть p(язык|естественный) +p(язык|естественный язык). Таким образом, распределение вероятностей, полученное BERT, также основано на этом предположении, игнорируя связь между этими токенами.
- BERT имеет различия на этапах предобучения и тонкой настройки: поскольку большая часть входных данных содержит [Mask] на этапе предобучения вносится шум, и даже если в небольшом количестве случаев используются другие токены, он все равно отличается из реальных данных.
Выше приведены болевые точки BERT с использованием метода AE. Далее, пожалуйста, посмотрите, как XLNet решает эти проблемы.
2. XLNet
Вместо того, чтобы говорить, что XLNet решает проблему BERT, лучше сказать, что он использует новый метод, основанный на AR, для достижения двунаправленного кодирования, потому что метод AR не имеет двух вышеупомянутых болевых точек.
Инновация XLNet заключается вPermutation Language Modeling,Как показано ниже:
- теоретически
Для последовательностей длины Tx, существуют методы расположения T!, еслипереставлен в
, а затем используя AR в качестве целевой функции, оптимизированная вероятность равна
Поскольку параметры модели являются общими для различных перестановок, модель может в конечном итоге научиться собирать информацию из всех местоположений.
- Оперативно
Из-за ограничений вычислительной сложности невозможно вычислить все перестановки последовательности, поэтому для каждой входной последовательности выбирается только одна перестановка. А при реальном обучении последовательность не будет нарушена, а будет реализована перестановка через матрицу маски. Автор специально подчеркивает, что это может поддерживать тот же порядок ввода, что и точная настройка, и не будет различий между предварительной и точной настройкой.
2.1 Two-Stream Self-Attention
После решения основной проблемы следующим шагом будет реализация деталей. На самом деле возникает большая проблема после перетасовки порядка выше, то есть при предсказании третьего x модель предсказывает, если расположение изменено на
, он должен предсказать
, но модель не знает, какой из них прогнозировать в данный момент, поэтому выходное значение такое же, т.е.
, это не правильно. так сказатьДобавить информацию о местоположении,Сейчас
и
, сообщите модели, какой токен позиции в настоящее время прогнозируется.
Затем снова возникает следующая проблема.Традиционное внимание имеет только кодировку токена, а информация о местоположении находится в кодировке.Цель AR не позволяет модели видеть текущую кодировку токена, поэтому встраивание позиции необходимо удалить. Как его демонтировать? Автор предложил двухпотоковое самовнимание.
Поток запросов: вы можете видеть только текущую информацию о местоположении, но не кодировку текущего токена.
Поток контента: традиционное внимание к себе, кодирование текущего токена, например GPT.
Окончательный прогноз на этапе предварительной подготовки использует только поток запросов, поскольку поток содержимого видел текущий токен. Использование потока контента на этапе тонкой настройки возвращает к традиционной структуре внутреннего внимания.
Посмотрите на картинку ниже не менее 3 раз, пока не поймете ее, картинка четче, чем то, что я сказал. .
Кроме того, в отличие от MLM, который использует только некоторые токены для прогнозирования, а также нуждается в расчете перестановки, XLNet требует больше вычислений, поэтому для упрощения автор предлагает частичное прогнозирование, то есть прогнозирует только следующие токены 1/K.
2.2 Transformer-XL
Для того, чтобы узнать информацию на более дальних расстояниях, автор использует свой собственный Transformer-XL.
(Слишком сонный.. Вы продолжите завтра?)