От RNN к BERT

BERT — это современная модель, представленная Джейкобом Девлином в Google, которая изменила ход поиска контекстуального значения слов. В конце концов, Google принял его в своей поисковой системе в 2019 году, чтобы импровизировать свои поиски.

Контексты — это вычисленные вложения слов, которые представляют значение слова на основе предложений. Более ранние представления встраивания слов, такие как Word2Vec и GloVe, представляли слово без контекстуального значения. Однако с развитием языковых моделей от RNN до BERT вычисления для поиска контекстных вложений стали более эффективными и качественными.

RNN — это нейронная сеть с прямой связью, развертываемая с течением времени как таковая. Они имеют дело с данными последовательности, где входные данные имеют определенный порядок, который приводит к нескольким типам архитектур, включая:

  1. Модели векторной последовательности принимают на вход вектор фиксированного размера и выводят последовательность любой длины. (например, в подписях к изображениям).
  2. Модели Sequence-Vector принимают последовательности входных данных и выводят вектор фиксированного размера. (Например, в классификации настроений).
  3. Модели Sequence-Sequence принимают последовательности входных и выходных последовательностей векторов. (например, в языковом переводе). Модель «последовательность к последовательности» состояла из кодировщика и декодера. Кодер кодирует слова последовательно во встраивание, а декодер преобразует эти вложения в слова.

Однако у RNN есть некоторые недостатки,

  1. Они очень медленно обучаются, настолько медленно, что для обучения мы используем усеченную версию обратного распространения ошибки.
  2. Они не очень хорошо справляются с длинными последовательностями; у нас есть градиенты, которые исчезают и взрываются, если сеть слишком длинная.

Затем в 1991 году появился LSTM, который заменил клетки LSTM нейронами в RNN. Эта ячейка имеет ветвь, которая позволяет переданной информации пропустить большую часть обработки текущей ячейки и перейти к следующей. Это позволяет сохранить память для более длинной последовательности.

Некоторые недостатки LSTM:

  1. Он не фиксирует истинное значение слов, даже двунаправленно, поскольку технически он просто объединяет контекст, изученный слева направо и справа налево.
  2. RNN медленнее обучаются, LSTM намного медленнее, чем RNN.
  3. RNN/LSTM требует последовательного потока для обучения, что не позволяет эффективно использовать современные графические процессоры для параллельных вычислений.

В 2017 году была представлена ​​​​архитектура нейронной сети Transformer, в которой используется архитектура кодировщик-декодер, очень похожая на RNN; разница в том, что входную последовательность можно передавать параллельно, а не последовательно. Это помогло трансформерам обучаться быстрее, поскольку слова могут обрабатываться одновременно, а контекст слов лучше усваивается, поскольку они могут изучать контекст с обоих направлений одновременно.

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

Трансформаторы концептуально более привлекательны, чем ячейки LSTM, поскольку они могут видеть физическое разделение задач. Кодер изучает контекст входной последовательности, а декодер изучает, как сопоставить входную последовательность с выходной последовательностью. Оба они по отдельности имеют некоторое понимание языка, и из-за этого понимания мы разделяем архитектуру и создаем системы, которые понимают язык.

Складываем декодеры Трансформеров, и получаем архитектуру трансформера GPT; и наоборот, если мы складываем кодировщики трансформеров, мы получаем BERT, представление двунаправленного кодировщика от трансформеров.

В Трансформерах был недостаток,

  1. Он может решить только нейронный машинный перевод (например, перевод с английского на французский).

Принимая во внимание, что в BERT он может решать такие проблемы, как:

  1. Нейронный машинный перевод
  2. Вопрос Ответ
  3. Анализ настроений
  4. Обобщение текста
  5. И многое другое!

Часть 2. Если мы объединим кодировщики Трансформеров, мы получим BERT

www.arpanghoshal.com