Что такое БЕРТ?

BERT — документ, опубликованный исследователями из Google AI Language. В нем представлены самые современные результаты в широком спектре задач НЛП, таких как ответы на вопросы и вывод на естественном языке.

В работе представлен метод, сочетающий обучение модели внимания «Трансформатор» с языковым моделированием. В результате языковая модель с двунаправленным обучением может иметь более глубокий смысл и поток, чем однонаправленная модель.

Было показано, что в компьютерном зрении трансферное обучение очень полезно для обучения и точной настройки модели нейронной сети. Этот метод можно использовать для выполнения различных задач на естественном языке. Этот подход включает в себя обучение нейронной сети с помощью встраивания слов. Полученные функции затем используются в моделях НЛП.

Как работает БЕРТ?

BERT использует Transformer, механизм внимания, который изучает контекстуальные отношения между словами (или подсловами) в тексте. Transformer в ванильном стиле содержит два отдельных механизма: кодировщик, который считывает текстовый ввод, и декодер, который прогнозирует задачи. Целью BERT является создание языковой модели, поэтому все, что вам нужно, — это механизм кодирования. Подробные характеристики Transformer можно найти в документах Google. В отличие от направленной модели, которая считывает вводимый текст последовательно (слева направо или справа налево), кодер-трансформер считывает сразу всю последовательность слов. Поэтому правильнее сказать, что он всенаправленный, но считается двунаправленным. Это свойство позволяет модели изучать контекст слова на основе всего окружения (слева и справа от слова). В следующей таблице представлен обзор энкодеров Transformer. Вход представляет собой набор токенов, которые сначала встраиваются в вектор, а затем обрабатываются нейронной сетью. Выход представляет собой последовательность векторов размера H, где каждый вектор соответствует входному токену с тем же индексом.

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

  1. Masked LM (MLM) — перед вводом строки слов в BERT 15% слов в каждой последовательности заменяются токеном [MASK]. Затем модель пытается предсказать исходное значение замаскированного слова на основе контекста, обеспечиваемого другими немаскированными словами в последовательности. Добавляя слой классификации над выходом кодировщика, умножьте выходной вектор на встроенную матрицу и преобразуйте их в лексическую размерность, рассчитайте вероятность каждого слова в словаре с помощью Softmax. Функция потерь BERT учитывает только прогнозы замаскированных значений и игнорирует прогнозы немаскированных слов. В результате модель сходится медленнее, чем направленная модель. Это свойство компенсируется повышенной осведомленностью о контексте.
  2. Прогнозирование следующего предложения (NSP) — в процессе обучения BERT модель принимает пару предложений в качестве входных данных и учится предсказывать, является ли второе предложение в паре преемником исходного документа. Во время обучения 50 % входных данных составляют пару, второе предложение является продолжением исходного документа, а оставшиеся 50 % выбирают случайное предложение из корпуса в качестве второго предложения. Предполагается, что случайный набор отделен от первого набора. Перед вводом в модель ввод обрабатывается следующим образом, чтобы модель могла различать два предложения во время обучения. Маркер [CLS] вставляется в начало первого оператора, а маркер [SEP] вставляется в конец каждого оператора. Вложение оператора добавляется к каждому токену, чтобы указать оператор A или оператор B. Вложение предложения концептуально аналогично внедрению токена со словарем 2. Встраивание позиции добавляется к каждому токену, чтобы указать его положение в последовательности.

Работаете с БЕРТ?

Чтобы предсказать, действительно ли второй набор связан с первым набором, сделайте следующее:

  1. Вся входная последовательность проходит через модель Transformer.
  2. Выход токена [CLS] преобразуется в вектор формы 2x1 с использованием простого слоя классификации (обученной матрицы весов и смещений).
  3. Расчет вероятности IsNextSequence с помощью softmax.
  4. При обучении модели BERT, Masked LM и NextSentence Prediction обучаются вместе с целью минимизации комбинированной функции потерь двух стратегий.

Заключение

BERT, возможно, является прорывным продуктом в обработке естественного языка с использованием машинного обучения. Доступность и быстрая настройка могут обеспечить широкий спектр практических приложений в будущем. В этом резюме я попытался объяснить основные идеи этой статьи, не утопая в технических деталях. Те, кто хочет погрузиться глубже, могут поискать видео о BERT на Youtube.