Подробное объяснение StructBERT

алгоритм

Это 4-й день моего участия в ноябрьском испытании обновлений.Подробности о событии:Вызов последнего обновления 2021 г.

StructBERT

StructBERT: Incorporating Language Structures into Pre-training for Deep Language Understanding

StructBERT — это усовершенствование BERT от Alibaba.Модель добилась хороших результатов и в настоящее время занимает второе место в рейтинге GLUE.

Во-первых, давайте посмотрим на следующие два предложения на английском и китайском языках.

i tinhk yuo undresatnd this sentneces.

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

На самом деле два приведенных выше предложения не по порядку.

Отсюда идея улучшения structBERT. Для человека порядок слов или символов не влияет на чтение, а модель та же, хороший ЛМ должен уметь исправлять собственные ошибки.

Архитектура модели StructBERT такая же, как у BERT, и ее улучшение заключается в добавлении двух новых целей предварительной подготовки в случае существующих задач MLM и NSP:Word Structural ObjectiveиSentence Structural Objective

Word Structural Objective

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

argmaxθlogP(pos1=t1,pos2=t2,...,posk=tkt1,t2,...,tk,θ)\mathop{argmax}\limits_{\theta}\sum \log P(pos_1=t_1,pos_2=t_2,...,pos_k=t_k\mid t_1,t_2,...,t_k,\theta)

в,θ\thetaПредставляет параметры модели, желаемый результат состоит в том, чтобы восстановить подпоследовательность в правильном порядке с наибольшей вероятностью.

  • Larger KK, модель должна научиться восстанавливать больше данных о помехах, задача сложная
  • Smaller KK, модель должна научиться восстанавливать менее зашумленные данные, задача проста

Наборы бумагиK=3K=3, Это лучше для эффекта одного задания предложений

Sentence Structural Objective

Учитывая пару предложений (S1, S2), определите, что S2 является следующим предложением, предыдущим предложением и несвязанным предложением S1 (задача трех категорий)

При выборке для предложения S13\frac{1}{3}Вероятность выборки следующего предложения S составляет пару предложений,13\frac{1}{3}Вероятность выборки предыдущего предложения S,13\frac{1}{3}Вероятность случайной выборки предложений из другого документа для формирования пар предложений

Ablation Studies

Авторы проводят исследования абляции двух предложенных предтренировочных задач, чтобы проверить эффективность каждой задачи.

Как показано на рисунке выше, эти две задачи сильно влияют на производительность большинства нижестоящих задач (кроме SNLI).

  • Первые три задания состоят из одного предложения, и видно, что на них большое влияние оказывает Word Structural Objective.
  • Последние три представляют собой задания на пары предложений, и видно, что Sentence Structural Obejctive оказывает на них большое влияние.

постскриптум

Жаль, что автор поискал на github и не смог найти предварительно обученную модель StructBERT

Reference