Главная
Новости
Строительство
Ремонт
Дизайн и интерьер




02.03.2021


28.02.2021


26.02.2021


24.02.2021


24.02.2021





Яндекс.Метрика





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

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

07.02.2021

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

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

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

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

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

  • Трасформер

  • Кодирующий слой

  • Декодирующий слой

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

Каждый механизм внимания параметризован матрицами весов запросов W Q {displaystyle W_{Q}} , весов ключей W K {displaystyle W_{K}} , весов значений W V {displaystyle W_{V}} . Для вычисления внимания входного вектора X {displaystyle X} к вектору Y {displaystyle Y} , вычисляются вектора Q = W Q X {displaystyle Q=W_{Q}X} , K = W K X {displaystyle K=W_{K}X} , V = W V Y {displaystyle V=W_{V}Y} . Эти ветора используются для вычисления результата внимания по формуле:

Attention ( Q , K , V ) = softmax ( Q K T d k ) V {displaystyle { ext{Attention}}(Q,K,V)={ ext{softmax}}left({frac {QK^{mathrm {T} }}{sqrt {d_{k}}}} ight)V}

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

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