Это 31-й день моего участия в августовском испытании обновлений. Ознакомьтесь с подробностями мероприятия: Испытание августовского обновления
«Сухая улица Сезам»
В 2018 году Google выпустила BERT, крупномасштабную языковую модель предварительного обучения, основанную на двунаправленном преобразователе, которая обновила лучшие записи производительности для 11 задач НЛП, преподнеся большие сюрпризы в области НЛП. Вскоре BERT стал популярным в кругу, и множество новых профессий, связанных с ним, появлялось одно за другим.
Шок, вызванный BERT, не утих: исследователи из Университета Карнеги-Меллона и Google Brain предложили новую предварительно обученную языковую модель XLNet, которая превосходит BERT в 20 задачах, таких как SQuAD, GLUE и RACE.
Авторы говорят, что модели предварительного обучения, основанные на шумоподавляющих автоэнкодерах, таких как BERT, могут хорошо моделировать двунаправленную контекстную информацию и превосходить методы предварительного обучения, основанные на авторегрессионных языковых моделях. Однако, поскольку требуется часть входной маски, BERT игнорирует зависимости между замаскированными позициями, поэтому существует разница между предварительной подготовкой и точной настройкой (несоответствие предварительной подготовки и точной настройки).
Основываясь на этих преимуществах и недостатках, в этом исследовании предлагается обобщенная авторегрессионная предварительно обученная модель XLNet. XLNet может: 1) изучать двунаправленную контекстную информацию, максимизируя логарифмическую вероятность всех возможных порядков факторизации; 2) преодолевать недостатки BERT с характеристиками самой авторегрессии. Кроме того, XLNet также включает в себя идеи текущей оптимальной авторегрессионной модели Transformer-XL.
В конечном счете, XLNet превосходит BERT в 20 задачах и достигает самой современной производительности в 18 задачах, включая машинные ответы на вопросы, вывод на естественном языке, анализ настроений и ранжирование документов.
Многие модели, которые в прошлом превзошли BERT, сделали на его основе какие-то модификации, и по существу архитектура модели и задачи практически не изменились. Но в этой новой статье автор анализирует текущие предварительно обученные языковые модели из двух парадигм авторегрессии и автокодирования и обнаруживает, что, хотя каждая из них имеет свои преимущества, у них также есть непреодолимые трудности. С этой целью исследователи предлагают XLNet и надеются объединить превосходные свойства большого лагеря.
AR и AE два лагеря
Авторегрессивная языковая модель (авторегрессивная LM)
До выхода ELMO/BERT языковая модель, о которой все обычно говорили, на самом деле предсказывала следующее слово, которое могло бы следовать, на основе вышеприведенного содержания, что является часто упоминаемой задачей языковой модели слева направо или наоборот (что на основе следующих предсказаний предшествующего слова). Этот тип LM называется моделью авторегрессионного языка. GPT — типичная модель авторегрессионного языка. Хотя ELMO, кажется, использует вышеизложенное и следующее, по сути, это все еще авторегрессионный LM, что связано с тем, как модель реализована. ELMO должен выполнить два направления авторегрессионного LM (языковые модели слева направо и справа налево), а затем соединить скрытые состояния двух направлений LSTM вместе, чтобы отразить двунаправленную языковую модель. Так что по сути это все еще авторегрессивная языковая модель.
заданная текстовая последовательность, целью языковой модели является настройка параметров для максимизации функции правдоподобия на обучающих данных:
отметкавыражатьвсе до момента, это,.Является ли скрытое состояние до времени t закодированным RNN или Transformer (Примечание. Transformer также можно использовать для языковых моделей, таких как в OpenAI GPT).это слововстраивание
Недостатком авторегрессионной языковой модели является то, что она не может использовать контекстную информацию одновременно, вроде бы ELMO делается в обе стороны, и тогда сплайсинг вроде бы решает эту проблему, но на самом деле метод слияния слишком прост, так что эффект не очень. Его преимущества связаны с последующими задачами НЛП, такими как создание задач НЛП, таких как суммирование текста, машинный перевод и т. д. При фактическом создании контента он создается слева направо, и модель авторегрессионного языка естественным образом соответствует этому процессу. В режиме DAE (Denoise AutoEncoder) Берта при генерации задач НЛП процесс обучения и процесс применения несовместимы, в результате чего генерация задач НЛП пока не очень хороша
Языковая модель AutoEncoder (AutoEncoder LM)
BERT передает последовательностьСлучайным образом выберите 15% жетонов, чтобы они стали [MASK], чтобы получить шумную версию.. Предполагая, что исходное значение маски равно, то BERT надеется попытаться восстановить (угадать) исходное значение в соответствии с контекстом, то есть:
В приведенной выше формуле, есливыражатьМомент — это Маска, и его нужно восстановить.это преобразователь, который преобразует длину впоследовательностьКарты в последовательности скрытых состояний. Примечание: RNN предыдущей языковой модели находится вМоменты могут видеть только предыдущие моменты, поэтому обозначение; в то время как преобразователь BERT (отличный от преобразователя, используемого для языковой модели) может одновременно видеть все токены всего предложения, поэтому токен
Преимущества и недостатки этого AE LM прямо противоположны таковым у AR LM: он может быть более естественно интегрирован в двунаправленную языковую модель, и в то же время он может видеть контекст и контекст предсказанного слова, который является преимуществом. В чем недостаток? Метка [Маска] в основном вводится на стороне ввода, что приводит к несоответствию между этапом предобучения и этапом Тонкой настройки, т.к. метка [Маска] не видна на этапе Тонкой настройки
Отправной точкой XLNet является то, может ли он объединить преимущества как авторегрессионного LM, так и DAE LM. В частности, с точки зрения AR, как ввести эффект, эквивалентный двунаправленной языковой модели.
Permutation Language Model
Авторы обнаружили, что, если к методам AR и AE добавить еще один шаг, их можно полностью унифицировать, а именноPermutation
Конкретный метод реализации,Случайным образом выбирая одно из предложений, а затем «маскируя» определенное количество слов в конце (что несколько отличается от прямой замены «[MASK]» в BERT) и, наконец, используя AR для следования этому расположению в соответствии с эта договоренность. Слово, которым это предсказание "замаскировано" из
Позвольте мне немного объяснить здесь, почему некоторые слова в конце «маскируются», и какой смысл в случайном перетасовывании порядка предложений? Обычный порядок входных предложений - «1 2 3 4 5 6 7», и обычный авторегрессионный LM не может одновременно учитывать контекстную информацию. Если контекстную информацию можно рассматривать одновременно, слово «3» должно иметь информацию «1 2 4 5 6 7», другими словами, прежде чем предсказать «3», нам нужно убедиться, что модель имеет видел "1 2 4 5" 6 7" (порядок не имеет значения). После нарушения порядка предложений (например, пример выше) в конец предложения приходит слово 3. В это время при прогнозировании числа 3 по авторегрессионной ЛМ модель уже видела «1 2 4 5 6" 7", принимая во внимание контекстную информацию "3". Конечно, неважно, как зашифровано предложение, потому что наша цель не в том, чтобы предсказать, какое именно слово, а в том,Кто в конце, предсказать, кто
Вот еще интересный момент,В конце концов, следует выбрать последние несколько, чтобы прикрыть?Здесь автор устанавливает гиперпараметр K,K равно общей длине, деленной на количество необходимых прогнозов.. В приведенном выше примере общая длина равна 7, а прогноз равен 2, поэтому K = 7/2. В то время как оптимальное значение K, экспериментально найденное в статье, находится между 6 и 7 (лучше), на самом деле, если мы возьмем обратное значение K (т.е.), а затем конвертировать в проценты, вы найдетеОптимальное соотношение составляет от 14,3% до 16,7%., студенты, которые помнят статью BERT, обязательно почувствуют себя знакомыми. потому что в БЕРТПроцент маскировки токена как «[MASK]» составляет 15%., прямо между ними, я думаю, это не просто случайно, должна быть более глубокая связь
На протяжениипредложения, мы можем пройтиперестановки, а затем изучить параметры языковой модели, но это очень затратно в вычислительном отношении (предложения из 10 слов имеют 10!=3628800 комбинаций). Так что на самом деле мы просто случайным образом выбираемЧасть расположения в , чтобы описать математическим языком, введем несколько обозначений.представляет собой длинумножество всех перестановок последовательности, тогдаявляется одним из методов сортировки. мы используемпредставляет собой порядокэлементы ивыражатьс 1-го по 1-йэлементы
Например, предположим,ТакВсего 6 элементов, предположим один из них,но,и
В приведенных выше обозначениях цель Permutation LM состоит в том, чтобы настроить параметры модели таким образом, чтобы максимизировать следующую вероятность правдоподобия:
Приведенная выше формула выглядит немного сложной, но на самом деле ее довольно просто прочитать: выберите одну из всех перестановок, затем разложите совместную вероятность на произведение условных вероятностей на основе этой перестановки и сложите
Специфичная реализация перестановки бумаги не расстраивается на порядок входного предложения, а трансформаторомAttention Maskдействовать
Например, для предложений с порядковыми номерами 1234 сначала случайным образом выберите последовательность 3241. В соответствии с этим расположением мы сделаем Маску внимания, аналогичную приведенной выше картинке, сначала посмотрите на первый ряд, потому что в новом расположении 1 является последним, согласно методу AR слева направо, 1 может видеть все 234 , так что первая 234 позиция строки красная (она не закрыта, она будет использоваться), и так далее, вторая строка, так как 2 в новом расположении вторая, видно только 3, поэтому 3-я позиция красная, третий ряд, потому что 3-я в первой, других позиций не видно, так что закройте все это...
Проблема отсутствия информации о местоположении цели
Вышеупомянутая идея проста, но есть проблема, если мы используем стандартную реализацию Transformer. Вот пример
Предположим, входное предложение — «Мне нравится Нью-Йорк», а перестановка — z=[1, 3, 4, 2], предположим, что нам нужно предсказать, то по формуле Simple LM:
мы обычно используем верхний регистрпредставляет собой случайную величину, такую как, а в нижнем регистреПредставляет конкретное значение, например гипотезу"Йорк", тоУказывает вероятность того, что 4-е слово — York. Опишите на естественном языке:Значит этоВероятность того, что четвертое слово — «Йорк» при условии, что первое слово — «я», а третье — «новый».
Кроме того, мы предполагаем, что перестановка z'=[1,3,2,4], нам нужно предсказать,Так:
Независимо от того, каково истинное значение предсказания, давайте предположим,- вероятность "Йорка", тогдаЗначит этоВероятность того, что второе слово — «Йорк» при условии, что первое слово — «я», а третье — «новый».
Если мы внимательно сравним приведенные выше две формулы, мы обнаружим, что они эквивалентны. Но исходя из опыта видно, что эти две вероятности различны, а та, что выше, более вероятна, потому что Йорк - это город после Нью-Йорка, а что такое "Йорк-Нью"?
Суть вышеуказанной проблемы заключается в том, что модель не знает положение слова, которое нужно предсказать в исходной последовательности. Читатели, знакомые с Transformer, могут спросить: не введен ли код местоположения? Разве информация с кодировкой местоположения не работает? Примечание. Кодировка положения добавляется вместе с вводом Embedding в качестве ввода, поэтомувнутреннийС информацией о местоположении модель (вероятно) знает (догадываясь на основе входного вектора), что «I» — это первое слово, а New — третье слово, но вектор четвертого слова, очевидно, еще не знает (зная) , Таким образом, мы должны «явно» указать модели, где я хочу предсказать слово
Для дальнейшего описания запишем приведенные выше две формулы в более общем виде. Учитывая перестановку z, нам нужно вычислить, если использовать обычный Трансформер, то формула расчета такая:
Согласно предыдущему обсуждению, мы знаем, что ключом к проблеме является то, что модель не знает, какую позицию слова предсказать.Чтобы решить эту проблему, мы помещаем предсказанную позициюв модель:
В приведенной выше формулеУказывает, что это новая модель, а его аргументы добавляются к предыдущему слову, и положение слова для предсказания
Two-Stream Self-Attention
Следующий вопрос заключается в том, какую модель использовать для представления. Конечно, есть много необязательных функций (моделей), которые нам нужно использовать., извлечь требуемую информацию с помощью механизма «Внимание», а затем предсказатьслово местонахождение. Тогда он должен соответствовать следующим двум требованиям:
- предсказывать,Использовать только информацию о местоположенииВместо того, чтобы использовать. Это очевидно: вы, конечно, не можете знать, какое слово предсказывать, когда предсказываете слово.
- предсказыватьслова после,должен быть закодированинформация (семантика)
Однако два вышеуказанных требования противоречивы и неудовлетворительны для обычных Трансформеров. Здесь это очень важно, поэтому я приведу пример.
Предположим, что входное предложение по-прежнему «Мне нравится Нью-Йорк», а одна аранжировка —, предполагая(который), теперь мы хотим вычислить, то есть, учитывая слово «I» в первой позиции, предсказать вероятность «Нового» в третьей позиции. Очевидно, что мы не можем использовать информацию самого «Нового», а можем только предсказывать, основываясь на «Я» в первой позиции. Предположим, нам посчастливилось найти хорошую функцию, он может лучше предсказать эту вероятность. Теперь наша очередь вычислить(который), то есть согласноипредсказать "Йорк". Очевидно, что знание того, что третья позиция — «Новая», может быть очень полезно для предсказания того, что четвертая позиция — «Йорк», ноИнформации о слове New нет. Читатели могут спросить: разве вы не говорилиМожно ли лучше предсказать вероятность третьего слова «Новое» на основе первого слова «Я»? Здесь есть два момента: вероятность «Новой» после «И» невелика; при прогнозировании «Йорка» мы знаем, что третья позиция — «Новая», но из-за ограничений модели мы не можем повторно использовать эту информацию
Для решения этой проблемы в статье вводятся два потока, то есть два скрытых состояния:
- Содержимое скрыто, сокращенно, который, как и стандартный Transformer, кодирует как контекст, так иСодержание
- запросить скрытое состояние, сокращенно, который кодирует только контекст и позицию для прогнозирования, но не содержит
Ниже мы опишем процесс расчета. Сначала мы запрашиваем скрытое состояниеинициализируется переменной, скрыть содержимоеВстраивание инициализировано в слово. Верхний индекс 0 здесь означает слой 0 (несуществующий слой, используемый для расчета первого слоя). Поскольку скрытое содержимое может кодировать текущее слово, более целесообразно инициализировать Embedding как слово.
Затем от m=1 до M-го слоя вычисляем слой за слоем:
- Query Stream: use but cannot see
- Content Stream: use both and
Вышеупомянутые два потока используют свой собственный вектор запроса соответственно.и вектор содержимого; но используются оба вектора Key и Value. Но обратите внимание, что поток запросов недоступен, поэтому K и V равны. И KV потока контента, который содержит
Вышеупомянутое обновление градиента такое же, как стандартное самостоятельное внимание. Во время тонкой настройки мы можем отказаться от потока Query и использовать только поток Content. Наконец, при вычислении формулы мы можем использовать вектор запроса верхнего слоя
Мы можем интуитивно понять процесс расчета с помощью следующего рисунка.
Верхнее левое изображение — это расчет потока контента, предполагая, что расположение, и теперь мы предсказываем вероятность слова в позиции 1. Согласно договоренности, мы можем обратиться к Содержимому всех 4 слов, поэтому,и
Нижний левый рисунок — это расчет потока запросов, поскольку он не может ссылаться на собственное содержимое, поэтому,и
Правая часть рисунка — это полный процесс расчета, смотрим на него снизу вверх. во-первыхиинициализируются каки, затем Content Mask и Query Mask вычисляют выходные данные первого слояи, а затем вычислить второй слой…. Обратите внимание на две маски справа, давайте сначала посмотрим на маску содержимого. Его первая строка заполнена красными точками, что указывает на то, что первое слово может относиться ко всем словам (согласно), второе слово может обслуживать себя, а третье слово…. Разница между маской запроса и маской содержимого заключается в том, что они не могут быть присоединены друг к другу, поэтому все диагональные линии представляют собой белые точки.
До сих пор основная идея XLNet была относительно ясна. Основное использование LM, но для решения проблемы контекста введение Permutation LM. Перестановка LM требуется при прогнозировании информации о целевой позиции, поэтому при введении двухпотока поток контента кодируется в контент текущего времени, а ссылка на предыдущую историю потока запросов только для прогнозирования и текущей позиции. После окончательного приказа решить проблему чрезмерного расчета, для приговора мы только прогнозируемслово
Далее, XLNet использует преимущества Transformer-XL, который лучше, чем традиционный Transformer, для обработки очень длинных контекстов. Я просто кратко представляю здесь Transformer-XL, заинтересованные читатели могут обратиться кБумага Трансформер-XL
Transformer-XL
Segment Recurrence Mechanism
Хотя Transformer изначально создавался для задач перевода, последние тенденции показывают, что его применение для языкового моделирования также может привести к значительным результатам. Однако для оптимального применения требуются некоторые изменения в его архитектуре.
Зачем? Что не так с Трансформером? Основным улучшением Transformer по сравнению с RNN является его способность фиксировать долгосрочные зависимости. Однако Transformer должен хранить гораздо больше информации о промежуточных шагах (градиентах), чем RNN, и она увеличивается с увеличением длины последовательности. Другими словами, память может взорваться (БУООООУМ!), если вы попытаетесь напечатать весь документ сразу.
Чтобы предотвратить эту проблему, некоторые ранние методы заключались в том, чтобы разделить документ наТекстовый сегмент фиксированного размера (Segment), одна тренировка за раз. Это решает проблему с памятью, но нарушает способность модели фиксировать долгосрочные зависимости. Например, предложение «У дочери был хороший зонт | который ей подарила мать», если «дочь» и «ее» относятся к разным абзацам. то информация о "дочери" не будет известна при кодировании "её"
Как решить эту проблему? Теперь очередь Transformer-XL.
Один из важных компонентов Transformer-XL, **Segment Recurrence Mechanism (механизм сегментного цикла)**, который хочет сделать, заключается в том, может ли он сохранять все скрытые состояния, вычисленные им после расчета предыдущего сегмента, и сохранять их в Memeory, то при вычислении текущего сегмента,Объедините ранее сохраненное скрытое состояние и скрытое состояние текущего сегмента в качестве K и V механизма Attention для получения более подробной контекстной информации.
Согласно предыдущей идее, мы используем кеш для кэширования состояния части истории. При вычислении градиента используется только информация этого сегмента, но при пересылке фактически используется информация предыдущего сегмента (или даже сегмента давно прошедшего времени), поэтому он чем-то похож на RNN. Ниже мы опишем процесс повторного использования состояния на математическом языке. Предположим, что два соседних сегментаи. Гипотетический сегментСкрытая последовательность состояний n-го слоя, затем вычислить отрезокПроцесс скрытого состояния выглядит следующим образом:
в,представление функцииНе участвует в расчете градиента.представляет векторную конкатенацию,являются параметрами модели. При расчете Query используетсяпредыдущий слой этого абзацаИнформация, а вычисление ключа и значения
В принципе, пока позволяет память графического процессора, метод может использовать информацию из большего количества предыдущих абзацев, а на этапе тестирования также можно получить более длинные зависимости (аналогично DenseNet).
Relative Positional Encoding
В Transformer важной частью является то, что он учитывает информацию о положении последовательности. В случае сегментации возникают проблемы, если позиционное кодирование в Transformer по-прежнему используется непосредственно только для каждого сегмента, т. е. представление каждого отдельного сегмента в одной и той же позиции использует одно и то же позиционное кодирование. Например, первыйабзац и абзацПервая позиция сегмента будет иметь ту же кодировку позиции, но они будутВажность моделирования сегментов, очевидно, не одинакова (например,Первая позиция в сегменте может быть менее важной)
Поэтому Transformer-XL предлагаетКодирование относительного положения, больше не заботит информация об абсолютном положении слов в предложении, а относительная информация, такая как относительная информация, например, сколько слов находится между двумя словами
В стандартном Transformer тот же Segment'sиОценка внимания разбита следующим образом
в,это слововектор слова,это слововектор положения
Четыре пункта (a)(b)(c)(d) имеют свое собственное значение: (a) представляет собой адресацию, основанную исключительно на содержании; (b) и (c) соответственно.Содержимое местоположения и информация о местоположении соответственно относятся кАдресация по информации о местоположении и содержании; (d) основана исключительно на адресации между местоположениями. Поэтому, если вы хотите улучшить, вам нужно улучшить последние три элемента, связанные с информацией о местоположении.
Схема улучшения, данная Transformer-XL, выглядит следующим образом:
- и предыдущийНапротив, первое изменение заключается в кодировании абсолютных позиций в (b) и (d).заменяются векторами кодирования относительного положения. Обратите внимание здесьэто метод кодирования синусоидальной функции, введенный ранее, он фиксирован и не требует изучения
- В (c) используйте обучаемыйзаменить оригинал. поскольку мы предполагаем, что оценка внимания зависит только отиотносительное положениене зависит от абсолютного положения, поэтому здесь для всехвсе так же. это, так что вы можете использовать новыйПредставлять. Точно так же в (г)Слишком
- Наконец, мы помещаем матрицу преобразования Ключаразделить наисоответственно для вектора содержимого и вектора относительного положения
В приведенной выше новой формуле значение каждого пункта очень ясно: (а) представляет расчет содержимого, т. е.Матрица преобразования времени встраиванияиВложение, умноженное наВнутренний продукт ; (b) представляет позиционное смещение на основе содержимого, то естьВектор умножается на относительный код положения; (c) представляет глобальное смещение контента; (d) представляет глобальное смещение положения
Relative Segment Encoding
Поскольку многие последующие задачи НЛП содержат несколько предложений, например, задачи с ответами на вопросы. Ниже мы обсудим, как предварительно обучить два сегмента в авторегрессионной структуре. Подобно BERT, мы выбираем два предложения, которые с вероятностью 50% являются последовательными предложениями (семантически связанными до и после) и с вероятностью 50% являются прерывистыми (нерелевантными) предложениями. Мы изучаем перестановку LM, объединяя эти два предложения в одно предложение. Ввод аналогичен BERT: [A, SEP, B, SEP, CLS], где SEP и CLS — два специальных токена, а A и B — два сегмента. Немного отличаясь от BERT, CLS здесь ставится в конец. Причина в том, что для BERT Самостоятельное внимание может воспринимать положение, потому что мы кодируем информацию о положении во входной вектор, а сам расчет Самостоятельного внимания не учитывает информацию о положении. Как мы обсуждали ранее, чтобы уменьшить объем вычислений, языковая модель перестановок здесь обычно предсказывает только последние 1/K токенов. Мы хотим, чтобы CLS кодировала семантику всех двух сегментов, поэтому мы хотим, чтобы это был предсказанный объект, который обязательно будет предсказан в конце
Но в отличие от BERT, XLNet не добавляет задачу для предсказания следующего предложения, потому что не всегда полезно добавлять эту задачу через экспериментальный анализ. [Примечание: на самом деле многие практики основаны на опыте некоторых авторов. После того, как многие авторы увидят, что определенная модель хороша, все последователи не обязательно будут хорошими. Иногда это может повлиять только на определенный набор данных, или эффект может быть вызван другими факторами.В статье изменено 5 факторов.На самом деле, это может быть только один или два фактора, которые действительно приводят к улучшению, и другие 3 фактора могут быть бесполезны или даже иметь небольшое количество побочных эффектов]
BERT использует абсолютное кодирование сегментов, то есть идентификатор сегмента первого предложения равен 0, а второго предложения — 1. Таким образом, если изменить порядок двух предложений, вывод будет другим. XLNet использует относительное кодирование сегментов, которое определяет, принадлежат ли два слова одному и тому же сегменту при расчете внимания, если местоположениеислова принадлежат к одному и тому же сегменту, затем используйте обучаемое вложение,в противном случае, то есть нам важно только, принадлежат ли они к одному и тому же сегменту или к разным сегментам. когда мы выходим из положения attend to , мы рассчитаем новый показатель внимания следующим образом:
впервыйВектор запроса позиций, b — обучаемое смещение. Наконец, мы добавим этот показатель внимания к исходному рассчитанному показателю внимания, чтобы он мог узнать, когдаиотносятся к характеристикам сегмента ииОсобенности, принадлежащие разным сегментам
Conclusion
Весь процесс расчета Transformer-XL выглядит следующим образом:
Стоит отметить, что, как и BERT, он также одновременно строит положительные примеры (правильные непрерывные предложения) и отрицательные примеры (случайные примеры следующего предложения), а затем выполняет обработку перестановки на каждом сегменте отдельно, а затем предсказывает положительные примеры. , последний один абзац будет использовать информацию предыдущего абзаца, но не для отрицательных примеров
Что касается потери при обучении, XLNet использует только потерю PLM, но не использует потерю предсказания следующего предложения, как BERT, но хорошо работает в задачах на уровне предложений. Я чувствую себя очень волшебным в этом явлении. Это должно было бы помочь
Следующий контент представляет собой только личное мнение
XLNet в целом выглядит очень отвратительно, не так просто и прямолинейно, как Transformer, и дает мне ощущение, что восточную стену демонтируют и строят западную стену (введение Permutation, поэтому нет информации о местоположении, таким образом привлекая внимание Shuangliu). XLNet представляет механизм случайной перестановки и двухпотокового внимания на основе Transformer XL, что делает всю модель очень сложной.
Обучение XLNet использует в общей сложности126 ГБ текстовых данных, в то время как обучение BERT использует только 13 ГБ данных. Итак, хотя итоговая оценка XLNet превзошла BERT, это из-за помощи данных или модель действительно хороша?