Трансформер (модель машинного обучения)

Трансфо́рмер (англ. Transformer) — архитектура глубоких нейронных сетей, представленная в 2017 году исследователями из Google Brain[1].

По аналогии с рекуррентными нейронными сетями (РНС) трансформеры предназначены для обработки последовательностей, таких как текст на естественном языке, и решения таких задач как машинный перевод и автоматическое реферирование. В отличие от РНС, трансформеры не требуют обработки последовательностей по порядку. Например, если входные данные — это текст, то трансформеру не требуется обрабатывать конец текста после обработки его начала. Благодаря этому трансформеры распараллеливаются легче чем РНС и могут быть быстрее обучены[1].

Архитектура сети

править

Архитектура трансформера состоит из кодировщика и декодировщика. Кодировщик получает на вход векторизованую последовательность с позиционной информацией. Декодировщик получает на вход часть этой последовательности и выход кодировщика. Кодировщик и декодировщик состоят из слоев. Слои кодировщика последовательно передают результат следующему слою в качестве его входа. Слои декодировщика последовательно передают результат следующему слою вместе с результатом кодировщика в качестве его входа.

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

Внимание на основе скалярного произведения

править

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

 

Использование

править

Трансформеры используются в Яндекс.Переводчике[2], Яндекс.Новостях[3], Google Переводчике[4], GPT от OpenAI

Примечания

править
  1. 1 2 Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A. N., Kaiser Ł., Polosukhin I. Attention is All you Need (англ.) // Advances in Neural Information Processing Systems 30 / I. Guyon, U. v. Luxburg, S. Bengio, H. Wallach, R. Fergus, S.V.N. Vishwanathan, R. Garnett — 2017. — P. 15. — arXiv:1706.03762
  2. Семен Козлов. Transformer — новая архитектура нейросетей для работы с последовательностями. Хабр (30 октября 2017). Дата обращения: 3 ноября 2020. Архивировано 13 сентября 2020 года.
  3. Тимур Гаскаров. Как Яндекс научил искусственный интеллект находить ошибки в новостях. Хабр (12 декабря 2019). Дата обращения: 3 ноября 2020. Архивировано 1 декабря 2020 года.
  4. Isaac Caswell, Bowen Liang. Recent Advances in Google Translate (англ.). Google AI Blog (8 июня 2020). Дата обращения: 3 ноября 2020. Архивировано 2 ноября 2020 года.