Предтренировочная модель - дедукция BERT

NLP
Предтренировочная модель - дедукция BERT

1. ЭЛМО (2018.2.15)

Elmo основан на двунаправленном LSTM и обучается с использованием идей классических языковых моделей. Предварительно нужно предварительно потренироваться на большом количестве корпуса, а т.н.deep contextualizedЗатем векторы слов объединяются в различных задачах НЛП с помощью определенных методов.

1. Модель пророчества

для последовательности N слов(t1,t2,...,tN)(t_1, t_2, ..., t_N), через известную последовательность(t1,t2,...,tt1)(t_1, t_2, ..., t_{t-1})вычислятьtkt_k, поэтому форвардная модель оракула получает формулу вероятности каждого токена следующим образом:image_1e3pat1rvm519ujbbq1sb0ihg9.png-5kBВ соответствии с приведенной выше моделью прогнозирования используется предложение (каждый токен представлен традиционным независимым вложением слов).LLLSTM слоя может получить представление независимо от контекста. на этоLLслой LSTM,tkt_kСоответствующие представления токеновhk,jLM,j=1,,,Lh^{LM}_{k,j}, j=1,,,L. Вывод верхнего уровня LSTMh^{LM}_{k,L} использует слой Softmax для предсказания следующего слова $$t_{k+1}. Вышеприведенный пример — прямой LSTM, обратный LSTM — та же идея:image_1e3pbm5439anl4v1o4na4n1u5bm.png-5.8kBМаксимизируйте как прямые, так и обратные вероятности во время обучения.image_1e3pboj5f1dsf9rd1salgeck0c13.png-12.2kBПараметры вектора слова и слоя Softmax являются общими, а прямой LSTM и обратный LSTM обучают свои соответствующие параметры.

2.Elmo

дляLLДвунаправленный LSTM слоев на токенtkt_kможно иметь2L+12L+1Каждый вектор представляет:image_1e4uq2dbg1tm31ce8luj17si1mqi9.png-8.5kBДля каждого слояhk,jLMh^{LM}_{k,j}Равные j-слою прямые и обратные векторы объединяются вместе, чтобы получить.

ELMO интегрирует выходные данные многослойного biLSTM в векторELMok=E(Rk;θe)ELMo_k=E(R_k;\theta_e), в простейшем случае ELMo использует только вектор верхнего уровняE(Rk)=hk,LLME(R_k)=h^{LM}_{k,L}.

Однако говорят, что лучшая модель ELMo — добавить все выходные данные biLSTM к нормализованному softmax, чтобы узнать веса, что немного похоже на принцип внимания.image_1e4ure6h31i1t7881o46qvu679m.png-9.8kB

вstask=softmax(w)s^{task}=softmax(w), γ\gamma- коэффициент масштабирования, который эквивалентен использованиюstasks^{task}Ранее использовалась нормализация слоя для каждого слоя biLSTM:image_1e4urn6kt7t21vuf1l0j164910d313.png-97.7kB

3. Доступ к нижестоящим методам задач

(1) Прямое преобразование вектора слов ELMoELMokELMo_kс обычными векторами словxkx_kсплайсинг (concat)[xk;ELMok][x_k;ELMo_k]. (2) Прямое преобразование вектора слов ELMoELMokELMo_kс выходным вектором скрытого слояhkh_kсоединение[hk;ELMok][h_k;ELMo_k], в SNLI, SQuAD улучшились.

2. GPT, GPT2.0, GPT3.0

GPT — это модель прогнозирования перед обучением, более ранняя, чем Bert, а также новаторская работа в режиме предварительной подготовки + тонкой настройки. Но все версии GPT используют модель одностороннего оракула. И используйте декодер-трансформер.

  • GPT1.0

image_1e9sktf1417qehss166s1qhq1sb6m.png-218.5kB

Как показано на рисунке выше, структура модели GPT состоит из 12 декодеров Transformer, расположенных друг над другом. Ввод модели на этапе тонкой настройки с использованиемStart,Delim, Extractсшивание.

  • GPT 2.0

Структура модели и метод предварительной подготовки практически такие же, как и до GPT1.0. Разница:

  1. Используйте больший корпус и корпус лучшего качества.
  2. Экспериментальная настройка нулевого выстрела, без акцента на использование тонкой настройки.
  3. более крупная модель.
  • GPT 3.0

Несколько ключевых моментов:

  1. более крупная модель
  2. Больше нет необходимости в тонкой настройке
  3. Лучше всего работает экспериментальная установка с несколькими выстрелами.
  4. Это по-прежнему модель одностороннего прогнозирования, реализованная Transformer.

2. BERT (2018.10.11)

Берт использует Transformer как компонент для совместного обучения и конвергенции для двух контролируемых задач одновременно. Эти две задачи состоят в том, чтобы предсказать слово маски и предсказать отношения между двумя предложениями.Первая задача может рассматриваться как модель обучения информации на уровне маркера, и она является двунаправленной. Вторая задача — изучить информацию на уровне предложений и даже на уровне документов. Слои описаны ниже:

  1. Input/Output Representations

representationsИспользуйте пару предложений {A, B} для создания входных данных, соедините их с [SEP] и начните с [CLS], а скрытое состояние соответствующего последнего слоя [CLS] можно использовать для задач классификации предложений. Создайте входное представление, используя три слоя закодированных сумм:

  • Вложения WordPiece для создания вложений токенов
  • Используется для указания того, принадлежит ли токен предложению A или предложению B, называемому внедрением сегмента.
  • позиционные вложения, изученный вектор встраивания.
  1. Pre-training BERT
  • 2.1 Pre-training Task 1#: Masked LM(masked language model)

Поскольку традиционные условные языковые модели могут обучаться только слева направо или справа налево, чтобы получить двустороннее представление для обучения, BERT просто случайным образом маскирует некоторые токены, а затем только предсказывает замаскированные слова, это называется ЛМ в маске.

Потому что нижестоящая задача не будет иметь флаг [MASK]. Таким образом, будет несоответствие между предварительной подготовкой и тонкой настройкой, поэтому стратегия маски, принятая автором, такова: Вместо того, чтобы всегда заменять замаскированный токен на [MASK], в обучающих данных случайным образом выберите 15% токенов для предсказания, а затем замените i-й токен на 80% [MASK], 10% случайный токен и 10% сам. Другие ссылки на объяснения:appendix-A

Затем используйте перекрестную потерю энтропии (перекрестную потерю энтропии), чтобы использовать скрытые переменные последнего слоя.TiT_i, чтобы предсказать исходный токен. Потеря для этой задачи обозначается как masked_lm_loss.

Примечание: masked_lm_loss предсказывает только замаскированный токен, а не другие токены.

  • 2.2 Pre-training Task 2#: Next Sentence Prediction

Потому что многие последующие задачи, такие как QA и NLI, должны изучать взаимосвязь между уровнями предложений. Поэтому другой задачей BERT является выполнение бинарной классификации задачи предсказания следующего предложения (Next Sentence Prediction, NSP). При построении обучающих данных 50% пар предложений {A,B} являютсяIsNextотношения, остальные 50%NotNextсвязь. Потеря этой задачи записывается как next_sentence_loss.

Затем совместно тренируйтесь, окончательная потеря представляет собой сумму двух потерь задачи: total_loss = masked_lm_loss + next_sentence_loss

  1. Fine-tuning

После предварительной подготовки выходные данные модели и представление токена проходят через сетевой уровень для выполнения задач на уровне токенов, таких как маркировка объектов, mrc и т. д. Представление [CLS] головы используется для задач классификации, таких как анализ настроений, предсказание отношений наследования предложений и т. д. Конечно, для разных задач нужно настраивать разные функции потерь, например:

  • КЛЕЙ Используя токен [CLS] в начале, его представление записывается какCC, сетевой вес классификационного слоя записывается какWW. Затем используйте стандартную задачу классификации потерь:log(softmax(CWT))log(softmax(CWT)).

  • Отряд v1.1 Строительный вход A — это вопрос, а B — проход. Затем введите два вектора, вектор начального положенияSеRHS\in\mathbb{R}^Hи вектор конечного положенияEеRE\in\mathbb{R}.

Представление i-го слова записывается какTiT_i, то его распределение вероятностей в качестве нижнего индекса начала ответа:Pi=eS.TijeS.TjP_i= \frac{e^{S.T_i}}{ {\sum_{j}{e^{S.T_j}}}}Распределение вероятностей конца нижнего индекса ответа использует ту же формулу. Тогда вероятность диапазона ответов кандидата (от позиции i до позиции j) равна:STi+ETjS·T_i + E·T_j. Максимальное количество баллов и удовлетворить обаj>=ij>=i, окончательный результат прогноза. Целью обучения является сумма логарифмических вероятностей правильного начала и окончания.

paper, code

Сценарии для BERT

  • Решите задачи на сопоставление предложений или абзацев
  • Включите ответ на самом языке, не полагаясь конкретно на другие функции, кроме текста.
  • Bert больше подходит для решения задач NLP, где длина ввода не слишком велика.
  • Применимый сценарий Берта связан со степенью востребованности глубоких семантических признаков в задачах НЛП. Чем больше задач, требующих глубоких семантических особенностей, тем более подходит Берт для их решения.

3. RoBERTa(2019.7.26)

RoBERTa (надежно оптимизированный подход к предтренировке BERT) — это улучшенный BERT. Основные пункты этой статьи:

  1. Статическая маскировка против динамической маскировки

    Изначально Берт случайным образом выбрал 15% токенов для каждой последовательности и заменил их на [MASK].Чтобы устранить несоответствие с последующими задачами, он также заменил эти 15% токенов на [MASK] для (1) 80% время; (2) ) 10% времени остается без изменений; (3) 10% времени заменяется другими словами. Однако в течение всего процесса обучения после выбора 15% токенов они не изменятся, а это означает, что 15% токенов выбираются случайным образом с самого начала и не изменятся в следующие N эпох. Это называется статической маскировкой. В начале RoBERTa скопировал 10 предтренировочных данных, каждый из которых случайным образом выбрал 15% токенов для маскирования, то есть существует 10 различных методов маскирования для одного и того же предложения. Затем каждые данные обучаются для N/10 эпох. Это эквивалентно тому, что при обучении этих N эпох будут меняться замаскированные токены каждой последовательности. Это называется динамической маскировкой. Так действительно ли это изменение работает? Автор провел эксперимент, заменив только статическую маскировку на динамическую маскировку и сохранив другие параметры без изменений.Динамическая маскировка действительно может улучшить производительность.

image_1e9smpgfq1ti3u431ng9hbi11jv9.png-17.3kB2. с ПОШ и без ПОШ 3. Большие мини-партии 4. Больше данных, дольше обучение

4. AlBert (2019.12.26)

Основное исследование AlBert заключается в том, как уменьшить параметры и уменьшить модель.Модель сокращает время обучения, и время прогнозирования будет сокращено, конечно, производительность не может быть снижена. В общей сети Берта пусть размер встраивания словаря будетEE, уровень кодировщикаLL, размер скрытого слояHH, затем установите размер прямой связи/фильтра на4H4H, количество головок внимания равноH/64H/64. Основная структура модели АльБерта и Берта осталась неизменной, и были внесены три основных улучшения:

1.Factorized embedding parameterizatio

В Bert и последующих улучшениях, таких как XLNet и RoBERTa, размер вектора слова WordPieceEEразмер скрытого слояHHсвязанных, таких какEEвсегда равноHH. Эта настройка может не понадобиться. Автор считает, что вектор слова WordPiece является обучаемым * контекстно-независимым (контекстно-независимым), а вектор скрытого слоя изучаетсяКонтекстно-зависимые* представления. В то время как модель, подобная модели Берта, имеет преимущество обучения контекстно-независимым представлениям путем получения сигналов из контекста, поэтому размер встраивания слова WordPiece составляетEEразмер из скрытого слояHHвыделены так, чтобы общие параметры модели можно было использовать более эффективно, гдеHHнамного больше, чемEE.

Если размер словаряVV, размер матрицы вложения модели класса Берта равенV*EV*E, на этот раз легко достигая значения параметра уровня миллиарда.

так,Альберт хочет порватьEEиHHСвязывание связи между ними, тем самым уменьшая количество параметров модели, улучшая при этом производительность модели.

В AlBert параметры вложения разложены на две меньшие матрицы. вместо отображения горячего вектора непосредственно наEEскрытый вектор размера, в AlBert, сначала сопоставьте его сEEразмер встраивания, а затем поместите его в скрытый слой. Это разложение матрицы вложения на двеV*EV*EиE*HE*Hматрица. Таким образом, вы можете встроить вектор изO(V*H)O(V*H)статьO(V*E+E*H)O(V*E + E*H),когдаHHнамного больше, чемEE, снижение параметров очень существенное.

BertНа приведенном выше рисунке показан вход BERT с одним горячим вектором.Первая проекция заключается в том, что между словами нет взаимодействия (не зависит от контекста). Только когда дело доходит до внимания, происходит взаимодействие между словами (зависит от контекста). Таким образом, первая проекция не требует векторов очень большой размерности.AlBertНа изображении АльБерта выше вы можете поместить первое сопоставление в очень низкое измерение, а затем увеличить масштаб до большого измерения, когда делаете внимание в контексте. Словарный запас модели обучения НЛП обычно очень велик, поэтому первое горячее векторное сопоставление с параметрами встраивания будет много. В этом есть два преимущества:

  1. параметры значительно снижены
  2. Разблокируйте между контекстно-независимым представлением слова и контекстно-зависимым представлением, вы можете свободно усиливать контекстно-зависимое представление, то есть сеть становится шире

2.Cross-layer parameter sharing

Существует несколько методов совместного использования параметров на выбор, например, совместное использование только параметров сети прямой связи (FFN) между слоями и совместное использование только параметров внимания. Стратегия, принятая AlBert, заключается в совместном использовании всех параметров между слоями.

3.Inter-sentence coherence loss

В Берте используются две потери, однаmasked_lm_loss, другойnext_sentence_loss. Есть статья об удаленииnext_sentence_loss, обнаружил, что производительность модели не оказала большого влияния. Так думает авторnext_sentence_lossПричина небольшого эффекта в том, что эта задача слишком проста, модели нужно выучить только два предложения с разными темами, и она повторяется с МЛМ, из-за чего Берт выучивает почти все из МЛМ. Поэтому Альберт принимаетsentence-order prediction (SOP)loss, структура обучающих данных аналогична Берту: в качестве положительного примера берутся два последовательных предложения из одного и того же документа, а в качестве отрицательного примера те же два предложения переворачиваются. Довольно мистический.

анализировать:

  1. Эффект: AlBert лучше, чем Bert, за исключением того, что вышеприведенная версия large лучше, чем Bert, например, xlarge и xxlarge.
  2. Скорость: На этапе прогнозирования (прямое распространение) разницы между AlBert и Bert в той же версии почти нет, Строго говоря, Albert еще медленнее, потому что Embedding AlBert также должен выполнять операцию декомпозиции матрицы. так,AlBert не улучшает скорость предсказания!

paper

5. ELECTRA (2020.4.23)

Языковая модель, которую использует Берт, представляет собой MLM, т. е. она случайным образом маскирует 15% токенов, а затем обучает модель прогнозировать токены в замаскированных позициях. Тогда всем известна сложность обучения Берта.Эта ELECTRA опирается на идею GAN для построения модели. Берт только предсказывает токен замаскированной позиции, эта задача слишком проста (последняя статья АльБерт думает Next Sentence Prediction, вроде бы улучшение Берта заключается в том, чтобы усложнить задачу, надо сначала потрудиться, поработать мышцами, и сожрать кожу своего тела, ,). Итак, как ввести более сложную задачу? Сначала он использует модель MLM, которую автор называет Генератор, чтобы переписать предложение, то есть заменить позицию MASK некоторыми токенами, а затем использует другую сеть, которую автор называет Дискриминативной, чтобы предсказать, является ли каждый токен в предложении правильным. заменены (проблема маркировки последовательности). Эту задачу авторы называютreplaced token detection.

image_1e6gen6gl1l70er1q5b1evs1ri99.png-31.3kB

  1. Pre-training

Структура модели показана выше, Генератор и Дискриминатор являются энкодерами Берта. На этапе pre_training G и D обучаются вместе, на этапе Fine_tuning G остается неизменным, и только D выполняет обновление параметров.

Для ввода:x=[x1,...,xn]x = [x_1,..., x_n], кодирование для получения вектора:h(x)=[h1;...,hn]h(x) = [h_1;..., h_n]

На этапе pre_training, поскольку обратное распространение между Генерато и Дискриминатором невозможно, левая и правая сети фактически обучаются независимо:

  • Generator

Сеть генератора слева, которая является стандартным MLM, вычисляет вероятность предсказания токена во всех позициях [MASK] для позицииkk, Генератор генерирует токенxtx_tВероятность:image_1e6gjelir1srg183o1k9s841ac39.png-10.8kB

убыток определяется как:image_1e6gksc391dst1mhksq91er512ca13.png-9.4kB

  • Discriminator

Используемая обучающая выборка, называемая в статье поврежденным примером.xcorruptx^{corrupt}, который создается с помощью генератора для замены замаскированного маркера. Затем позвольте Дискриминатору предсказатьxtx_tБыло ли заменено:image_1e6gjmma6q2vkb711r7rl7mo1m.png-6.2kB

Потеря диска справа определяется как:image_1e6gkt76lu3t1321jq16sgs751g.png-14.7kB

  • loss

Окончательный режим тренировки представляет собой взвешенную сумму двух потерь:image_1e6gkv07k1uston91ge4eus5em1t.png-8.6kBПоскольку задача дискриминатора относительно проста, потери RTD будут малы по сравнению с потерями MLM, поэтому добавляется коэффициент, и автор использует для обучения 50.

paper codeСсылаться на:1

6. XLNet (2019.6.19)

Автор определяет два режима предварительной подготовки, представленные в настоящее время на рынке, как AR (авторегрессивный) и AE (автокодирование).режим дополненной реальностиЕсть ELMO и GPT.Проблема в том, что он использует одностороннюю модель прогнозирования для прогнозирования.Хотя ELMO использует двухсторонние языковые модели, эффект все еще очень слабый.Режим автоэкспозиции, такие как BERT, черезMasked LMДвунаправленная языковая модель может быть хорошо реализована, но есть две проблемы: 1. Символы [MASK] находятся только в предварительной подготовке, но не в тонкой настройке, поэтому это вызываетдвухэтапное отклонение. 2. Предположение BERT состоит в том, что прогнозируемые токены полностью независимы, что слишком просто для естественного языка, чтобы иметь длинные зависимости. Например, ввод во время предварительного обучения: «естественная [Маска] [Маска] обработка», целевая функция на самом делеp(языкестественное лечение)+p(Словоестественное лечение)p(язык|естественная обработка)+p(язык|естественная обработка), в то время как при использовании AR это должно бытьp(языкприрода)+p(Словоестественный язык)p(язык|естественный)+p(язык|естественный язык). Таким образом, распределение вероятностей, полученное с помощью BERT, также основано на этом предположении.Игнорировать связь между этими токенами.

Поэтому XLNet предложила схему По сравнению с BERT есть три изменения:

  1. Используйте моделирование языка перестановок. Автор предлагаетtwo-stream attentionреализовать.
  2. Основываясь на идее Transformer-XL, он больше подходит для длинных текстов, поэтому лучше справляется с задачей SQuAD.
  3. Задача NSP (предсказание следующего предложения) больше не используется. XLNet использует относительное кодирование сегментов,Только судите, находятся ли два токена в сегменте, а не к какому сегменту они принадлежат.
  4. Больше и лучше корпус.

Реализация XLNet

  1. Permutations

для последовательностиx = [This, is, a, sentence], длина последовательностиTT, то количество комбинаций равноT!T!Кусок. Например, при расчете вероятности того, что третья позиция жетона задана двумя первыми. Предположим, что есть три комбинации: [1, 2, 3, 4], [1, 2, 4, 3] и [4, 3, 2, 1] , тогда соответствующая вероятность равна:Pr(a,This,is)Pr(a,|This,is),Pr(sentence,This,is)Pr(sentence,|This,is)иPr(is,sentence,a)Pr(is,|sentence,a). Следовательно, целевая функция XLNet состоит в том, чтобы выполнить модель прогнозирования AR для всех комбинаций, чтобы максимизировать комбинированную вероятность правдоподобия однонаправленного прогнозирования:image_1e9picl3cpdr1ndbov3107jf2j1a.png-19.1kB 2. Attention Mask

Модель решает проблему порядка токена.В преобразователе в качестве входных данных одновременно добавляются встраивание позиции и встраивание слова. Например,Pr(Thisis+2)Pr(This|is+2). Однако в XLNet порядок следования уже перемешан, поэтому использовать такое относительное положение неправильно. использовать здесьattention maskЧтобы добиться, например, для комбинации [3, 2, 4, 1], модель вычисляет вероятность первой позиции, а именно «а», потому что впереди нет токена, поэтому нет контекста, тогда его соответствующая маска [0,0,0,0]. Таким же образом можно получить матрицу маски этой комбинации:[0111001000000110]\begin{bmatrix} 0 & 1 & 1& 1 \\ 0 & 0 & 1& 0 \\ 0 & 0 & 0& 0 \\ 0 & 1 & 1& 0\end{bmatrix}Другое представление (-Указывает, что эта позиция является маской):Pr(This,is+2,a+3,sentence+4)Pr(This|-,is+2,a+3,sentence+4) Pr(is,,a+3,)Pr(is|-,-,a+3,-) Pr(a,,,)Pr(a|-, -,-,-) Pr(sentence,is+2,a+3,)Pr(sentence|-,is+2,a+3,-)

  1. Two-stream self-attention

Это еще одна проблема, которую следует учитывать: нам нужно не только рассчитать условную вероятность предсказания токена в определенном месте в контексте, нам также нужно знать, какое место предсказывает модель. То есть для расчета:Pr(This1,is+2)Pr(This|1,is+2), это1st1^{st}, есть2st2^{st}Вероятность. Но Transformer напрямую добавляет встраивание позиций и встраивание слов вместе, то есть:Pr(ThisThis+1,is+2)Pr(This|This+1,is+2). Но в XLNet, поскольку порядок токенов перемешивается, модель не знает, что это1st1^{st}, даже не знаю, есть ли это в последовательности. Решение заключается в использованииtwo-stream self-attention mechanism, на слое m каждыйiiМаркер местоположения, представленный двумя векторами:himh^m_iиgimg^m_i.hhИнициализация представляет собой встраивание слов + встраивание позиции, иggИнициализация представляет собой общее встраивание + встраивание позиции.hhОн обновляется в потоке контента, который является обычным вниманием к себе, которое обновляется с помощью Q, K и V.ggОбновите в потоке запроса, используйте вектор содержимого немаскированной части как K и V и обновите себя как Q в предыдущем слое.

На рисунке ниже показано, что вmmЭтаж,g4mg^m_4Как обновляется:image_1e9pt040n141j3jda421tuj101s1n.png-72.1kB

Давайте еще раз посмотрим на примеры и рисунки в статье: Для входной последовательности (1,2,3,4), если вы хотите вычислить комбинацию (3,2,4,1), передайтекрая матрицы маскиможно реализовать,Но на самом деле его входная последовательность все еще (1,2,3,4)Что вычисляется через эту маску:p(12,3,4)p(1|2,3,4), p(23)p(2|3), p(3)p(3|), p(42,3)p(4|2,3), то есть может быть реализована комбинация вычислений (3, 2, 4, 1). По сути, это стандартное внимание к себе. Таким образом, XLNet одновременно «считывает» следующий токен при построении модели оракула.

image_1e9pep7bc1na3vq10e012qi1cqsm.png-111.5kB

В матрице маски на рисунке красными точками обозначены части, которые не маскируются.

Ссылка 1 Принцип и анализ кода работы внутреннего внимания и маски в Transformer

7. SpanBERT (2019.7.24)

По сравнению с Bert, SpanBERT имеет два основных изменения:

  1. MLM не является случайной маской, а каждый раз маскирует все токены в интервале, а длина и начальная позиция этого интервала выбираются случайным образом.
  2. Больше не используйте задачу NSP (прогнозирование следующего предложения), вместо этого используйте задачу SBO (цель границы диапазона).

image_1e6qlnkmea0a1t4f10721dmh7dh9.png-48.7kB

На приведенном выше рисунке показан режим обучения SpanBERT. Интервал «игра в американский футбол» маскируется, и SBO использует вектор скрытого слоя маркеров с обеих сторон интервала (x4x_4,x9x_9) для прогнозирования каждого токена в диапазоне. Вышеприведенный рисунок представляет собой описание потери двух задач MLM и SBO при прогнозировании футбола, где футбол является третьим токеном в отрезке, а его вектор положения равенp3p_3.

1.mask span

Для ввода предложения итеративно создайте ввод маски.Когда часть маски достигает 15%, процесс заканчивается. Длина пролета и начальная позиция пролета, выбираемые каждый раз, являются случайными, и длина пролета подчиняетсягеометрическое распределение, а максимальная длина может быть только 10. Авторы экспериментально определили, что наилучшие показатели были при p=0,2, когда средняя длина пролета составляла 3,8.

В Bert для всех токенов, которым требуется маска, 80% слов будут заменены на [MASK], 10% слов будут случайным образом заменены другими словами, а 10% слов останутся без изменений. Та же стратегия используется в SpanBERT, за исключением того, что она применяется к каждому промежутку.

2.SBO task

Когда размах маски(xs,...,xe)(x_s, . . . , x_e)(s,e)(s,e)Указывает начальную и конечную позиции пролета, а задача SBO состоит в том, чтобы использовать представление токенов с обеих сторон пролета (Xs1X_{s-1}, Xe+1X_{e+1}), чтобы предсказать каждый токен в диапазоне. когда предсказыватьiiМестонахождение токена:image_1e6qn7pgn1citn4qndbob11ff0m.png-4.5kB

где вектор положения относительно(s,e)(s,e)относительное положениеf()f(·)Просто используйте простую двухслойную нейронную сеть.

image_1e6qo4bgatvuaj9lkflott269.png-17.9kB

Затем используйте векторное представление позиции iyiy_iпредсказыватьxix_i, потеря заключается в расчете перекрестной энтропии.

3.loss

Потери предыдущих заданий суммируются.image_1e6qokuia144f12k71nhl7n2jhum.png-11.9kB

4. Реализация

  1. Вектор положения использует 200-мерный вектор.
  2. Введите, чтобы использовать более длинное предложение.

5. Эксперименты и анализ

image_1e6qoutsqiim1q5jiebtpv12qv9.png-99kB

  1. SpanBERT особенно хорошо работает при экстрактивных ответах на вопросы.
  2. Обучение длинным предложениям, которое отбрасывает NSP, как правило, лучше, чем оригинальный двухсегментный метод BERT.

6. Ссылка

paper

8. Bert-WWM

Разница между Bert-WWM (Whole Word Masking) и Bert заключается в методе маскирования. В английском корпусе WordPiece используется для разделения предложений, то есть для разделения более длинных слов и маскирования их отдельно («##токен» используется в словаре, чтобы указать, что токен является отдельной частью). В китайском Bert маска обычно выполняется непосредственно на уровне token_level. И Bert-WWM заключается в том, чтобы маскировать определенную лексему после сегментации предложения, и в то же время маскировать другие лексемы слова, где находится лексема, а вход модели все еще находится на уровне лексемы. Следующий пример более нагляден:

инструкция Образец
Первоначальный текст Используйте языковую модель, чтобы предсказать вероятность следующего слова.
текст сегментации слов Используйте языковую модель, чтобы предсказать вероятность следующего слова.
Результаты Маски Берта Используйте тип языка [MASK] для [MASK] для измерения pro [MASK] ##lity следующего слова.
Результаты маски для Bert-WWM Используйте язык [MASK] [MASK] для [MASK] [MASK] [MASK] [MASK] [MASK] следующего слова.

Дальше все как у Берта.

Посмотрите на его экспериментальные результаты на LCQMC:image_1e6jcg5461sdt1r716m36i1e429.png-38.8kB

9. ERNIE (2019.3)

Во-первых, нет никакой разницы между структурой модели Baidu RENIE и BERT, разница в том, что слова его маски не полностью случайны, а используют знание карты. Согласно статье, таким образом, ERNIE напрямую моделирует семантические знания и повышает способность модели семантического представления.

  1. Различные методы маски

    image_1e9vklebr1no0b841b8ilgtp41m.png-42.6kB image_1e9vkmt811q6m1n141tfj18r71qip1g.png-48.2kB

    Как показано на рисунке, bert маскирует только один токен, а ERNIE использует три метода маскирования, а именно токен, сущность и фразу.

  2. Представляем беседу об обучении DLMimage_1e9vkvuajnat18521cdp7tf1a0n1t.png-58kBERNIE также вводит данные диалога на форуме, использует DLM (модель языка диалога) для моделирования структуры диалога «запрос-ответ», принимает диалоговую пару в качестве входных данных и позволяет модели научиться определять, является ли текущий многоэтапный диалог реальным или фальшивым. .

10. ERNIE 2.0

Познакомить с многозадачным обучением. Введите до 7 задач для тонкой настройки модели (не на этапе предварительного обучения) и используйте метод дополнительных задач для предварительного обучения.

image_1e9vl34qopif30u4e1u0d12pd2a.png-101.4kB