Механизмы внимания и трансформеры

Урок 19 из 25 курса «Основы ИИ для начинающих»: официальный курс Microsoft AI for Beginners (Майкрософт) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Одной из важнейших задач в области обработки естественного языка (NLP) является машинный перевод. Это ключевая задача, лежащая в основе таких инструментов, как Google Translate. В этом разделе мы рассмотрим машинный перевод или, в более общем смысле, любую задачу последовательность-к-последовательности (которую также называют трансдукцией предложений). В рекуррентных нейронных сетях (RNN) задача «последовательность-к-последовательности» реализуется с помощью двух рекуррентных сетей. Одна сеть, кодировщик, преобразует входную последовательность в скрытое состояние, а другая сеть, декодировщик, разворачивает это скрытое состояние в переведённый результат. У такого подхода есть несколько проблем: Конечное состояние сети-кодировщика с трудом запоминает начало предложения, что приводит к низкому качеству модели для длинных предложений. Все слова в последовательности оказывают одинаковое влияние на результат. Однако в действительности определённые слова во входной последовательности часто оказывают большее влияние на выходные данные, чем другие. Механизмы внимания позволяют взвешивать контекстное влияние каждого входного вектора на каждое выходное предсказание RNN. Это реализуется путём создания «коротких путей» между промежуточными состояниями входной и выходной RNN. Таким образом, при генерации выходного символа yt мы учитываем все скрытые состояния входа hi с различными весовыми коэффициентами αt,i. Модель кодировщика-декодировщика с механизмом аддитивного внимания из Bahdanau et al., 2015, цитируется из этого поста в блоге Матрица внимания {αi,j} представляет степень, в которой определённые входные слова участвуют в генерации заданного слова в выходной последовательности. Ниже приведён пример такой матрицы: Рисунок из Bahdanau et al., 2015 (Рис.3) Механизмы внимания ответственны за большую часть текущего или близкого к текущему уровня развития NLP. Однако добавление внимания значительно увеличивает количество параметров модели, что привело к проблемам масштабирования с RNN. Ключевое ограничение масштабирования RNN заключается в том, что рекуррентная природа моделей затрудняет пакетную обработку и распараллеливание обучения. В RNN каждый элемент последовательности должен обрабатываться последовательно, что означает, что его нельзя легко распараллелить.

План урока

  1. Предлекционный тест
  2. Модели-трансформеры
  3. Позиционное кодирование/эмбеддинг
  4. Многоголовое самовнимание
  5. Внимание кодировщика-декодировщика
  6. BERT
  7. ✍️ Упражнения: Трансформеры
  8. Заключение

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды