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

Материал из in.wiki
Перейти к навигации Перейти к поиску
w>Zboris
(улитка ангел)
Строка 1: Строка 1:
{{Значения|Трансформер}}
 
'''Трансфо́рмер''' ({{lang-en|Transformer}}) — архитектура [[Глубокое обучение|глубоких]] [[Нейронная сеть|нейронных сетей]], представленная в 2017 году исследователями из [[Google Brain]]<ref name="paper">{{source|Q30249683}}</ref>.
 
 
По аналогии с [[Рекуррентная нейронная сеть|рекуррентными нейронными сетями]] (РНС) трансформеры предназначены для обработки последовательностей, таких как текст на естественном языке, и решения таких задач как [[машинный перевод]] и [[автоматическое реферирование]]. В отличие от РНС, трансформеры не требуют обработки последовательностей по порядку. Например, если входные данные — это текст, то трансформеру не требуется обрабатывать конец текста после обработки его начала. Благодаря этому трансформеры [[Параллельные вычисления|распараллеливаются]] легче чем РНС и могут быть быстрее [[Машинное обучение|обучены]]<ref name="paper" />.
 
 
 
== Архитектура сети ==
 
== Архитектура сети ==
  

Версия от 19:56, 4 февраля 2025

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

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

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

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

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

Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^\mathrm{T}}{\sqrt{d_k}}\right)V

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

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

Примечания

  1. Семен Козлов. Transformer — новая архитектура нейросетей для работы с последовательностями. Хабр (30 октября 2017). Дата обращения: 3 ноября 2020. Архивировано 13 сентября 2020 года.
  2. Тимур Гаскаров. Как Яндекс научил искусственный интеллект находить ошибки в новостях. Хабр (12 декабря 2019). Дата обращения: 3 ноября 2020. Архивировано 1 декабря 2020 года.
  3. Isaac Caswell, Bowen Liang. Recent Advances in Google Translate (англ.). Google AI Blog (8 июня 2020). Дата обращения: 3 ноября 2020. Архивировано 2 ноября 2020 года.

Ошибка Lua в Модуль:External_links на строке 409: attempt to index field 'wikibase' (a nil value). Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value).