Трансформер (модель машинного обучения): различия между версиями
(→Использование: уточнение) |
|||
Строка 60: | Строка 60: | ||
|archive-url = https://web.archive.org/web/20201102113452/https://ai.googleblog.com/2020/06/recent-advances-in-google-translate.html | |archive-url = https://web.archive.org/web/20201102113452/https://ai.googleblog.com/2020/06/recent-advances-in-google-translate.html | ||
|url-status = live | |url-status = live | ||
− | }}</ref>, [[Generative pre-trained transformer|GPT]] от [[OpenAI]] | + | }}</ref>, [[Generative pre-trained transformer|GPT]] от [[OpenAI]] |
== Примечания == | == Примечания == | ||
{{примечания}} | {{примечания}} | ||
[[Категория:Искусственные нейронные сети]] | [[Категория:Искусственные нейронные сети]] |
Версия от 07:13, 30 августа 2024
Трансфо́рмер (англ. Transformer) — архитектура глубоких нейронных сетей, представленная в 2017 году исследователями из Google Brain[1].
По аналогии с рекуррентными нейронными сетями (РНС) трансформеры предназначены для обработки последовательностей, таких как текст на естественном языке, и решения таких задач как машинный перевод и автоматическое реферирование. В отличие от РНС, трансформеры не требуют обработки последовательностей по порядку. Например, если входные данные — это текст, то трансформеру не требуется обрабатывать конец текста после обработки его начала. Благодаря этому трансформеры распараллеливаются легче чем РНС и могут быть быстрее обучены[1].
Архитектура сети
Архитектура трансформера состоит из кодировщика и декодировщика. Кодировщик получает на вход векторизованую последовательность с позиционной информацией. Декодировщик получает на вход часть этой последовательности и выход кодировщика. Кодировщик и декодировщик состоят из слоев. Слои кодировщика последовательно передают результат следующему слою в качестве его входа. Слои декодировщика последовательно передают результат следующему слою вместе с результатом кодировщика в качестве его входа.
Каждый кодировщик состоит из механизма самовнимания (вход из предыдущего слоя) и нейронной сети с прямой связью (вход из механизма самовнимания). Каждый декодировщик состоит из механизма самовнимания (вход из предыдущего слоя), механизма внимания к результатам кодирования (вход из механизма самовнимания и кодировщика) и нейронной сети с прямой связью (вход из механизма внимания).
Внимание на основе скалярного произведения
Каждый механизм внимания параметризован матрицами весов запросов , весов ключей , весов значений . Для вычисления внимания входного вектора к вектору , вычисляются вектора , , . Эти вектора используются для вычисления результата внимания по формуле:
Использование
Трансформеры используются в Яндекс.Переводчике[2], Яндекс.Новостях[3], Google Переводчике[4], GPT от OpenAI
Примечания
- ↑ 1,0 1,1 Ошибка Lua в Модуль:Sources на строке 1705: attempt to index field 'wikibase' (a nil value).
- ↑ Семен Козлов. Transformer — новая архитектура нейросетей для работы с последовательностями . Хабр (30 октября 2017). Дата обращения: 3 ноября 2020. Архивировано 13 сентября 2020 года.
- ↑ Тимур Гаскаров. Как Яндекс научил искусственный интеллект находить ошибки в новостях . Хабр (12 декабря 2019). Дата обращения: 3 ноября 2020. Архивировано 1 декабря 2020 года.
- ↑ Isaac Caswell, Bowen Liang. Recent Advances in Google Translate (англ.). Google AI Blog (8 июня 2020). Дата обращения: 3 ноября 2020. Архивировано 2 ноября 2020 года.