stringtranslate.com

Seq2seq

Анимация seq2seq с RNN и механизмом внимания

Seq2seq — это семейство подходов машинного обучения, используемых для обработки естественного языка . [1] Приложения включают в себя перевод языка , субтитры изображений , разговорные модели и резюмирование текста . [2] Seq2seq использует преобразование последовательностей : он превращает одну последовательность в другую.

История

Естественно, возникает вопрос, можно ли проблему перевода рассматривать как проблему криптографии. Когда я смотрю на статью на русском языке, я говорю: «Это на самом деле написано на английском, но закодировано какими-то странными символами. Теперь я приступлю к расшифровке».

—  Уоррен Уивер , Письмо Норберту Винеру , 4 марта 1947 г.
Схема Шеннона общей системы связи , показывающая процесс, посредством которого отправленное сообщение становится полученным сообщением (возможно, искаженным шумом)

seq2seq — это подход к машинному переводу (или, в более общем смысле, к последовательной трансдукции ), корни которого лежат в теории информации, где коммуникация понимается как процесс кодирования-передачи-декодирования, а машинный перевод может изучаться как частный случай коммуникации. Эта точка зрения была разработана, например, в модели шумного канала машинного перевода.

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

Идея трансдукции последовательности кодер-декодер была разработана в начале 2010-х годов (см. [3] [1] для предыдущих статей). Наиболее часто цитируемыми статьями, которые являются авторами seq2seq, являются две статьи 2014 года. [3] [1]

В seq2seq, предложенном ими, и кодер, и декодер были LSTM . Это имело проблему «узкого места», поскольку вектор кодирования имел фиксированный размер, поэтому для длинных входных последовательностей информация имела тенденцию теряться, поскольку их было трудно вписать в вектор кодирования фиксированной длины. Механизм внимания , предложенный в 2014 году, [4] решил проблему узкого места. Они назвали свою модель RNNsearch , поскольку она «эмулирует поиск по исходному предложению во время декодирования перевода».

Проблема с моделями seq2seq на этом этапе заключалась в том, что рекуррентные нейронные сети трудно распараллелить. Публикация Transformers 2017 года [5] решила эту проблему, заменив кодирующую RNN на блоки Transformer с собственным вниманием («блоки кодировщика»), а декодирующую RNN — на блоки Transformer с перекрестным вниманием и каузальной маской («блоки декодировщика»).

Приоритетный спор

Одна из статей, цитируемых в качестве источника seq2seq, — (Sutskever et al 2014), [1] опубликованная в Google Brain, когда они работали над проектом машинного перевода Google. Исследование позволило Google перестроить Google Translate в Google Neural Machine Translation в 2016 году. [1] [6] Томаш Миколов утверждал, что разработал несколько идей до прихода в Google Brain , включая машинный перевод seq2seq, о чем он упомянул Илье Суцкеверу и Куоку Ле , когда они работали в Google Brain, но те не признали его в своей статье. [7]

Миколов работал над RNNLM (использование RNN для моделирования языка) для своей докторской диссертации [8] и более известен разработкой word2vec .

Архитектура

Кодировщик

RNN-кодер

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

Декодер

декодер RNN

Декодер берет вектор контекста и скрытые состояния из кодера и генерирует окончательную выходную последовательность. Декодер работает в авторегрессионной манере, производя один элемент выходной последовательности за раз. На каждом шаге он рассматривает ранее сгенерированные элементы, вектор контекста и информацию о входной последовательности, чтобы сделать прогнозы для следующего элемента в выходной последовательности. В частности, в модели с механизмом внимания вектор контекста и скрытое состояние объединяются вместе, чтобы сформировать скрытый вектор внимания, который используется в качестве входных данных для декодера.

Механизм внимания

Кодер-декодер Seq2seq RNN с механизмом внимания, обучение
Кодер-декодер Seq2seq RNN с механизмом внимания, обучения и вывода

Механизм внимания — это усовершенствование, представленное Бахданау и др. в 2014 году для устранения ограничений в базовой архитектуре Seq2Seq, где более длинная входная последовательность приводит к тому, что вывод скрытого состояния кодера становится нерелевантным для декодера. Он позволяет модели выборочно фокусироваться на различных частях входной последовательности во время процесса декодирования. На каждом шаге декодера модель выравнивания вычисляет оценку внимания, используя текущее состояние декодера и все скрытые векторы внимания в качестве входных данных. Модель выравнивания — это еще одна модель нейронной сети, которая обучается совместно с моделью seq2seq, используемой для вычисления того, насколько хорошо вход, представленный скрытым состоянием, совпадает с предыдущим выводом, представленным скрытым состоянием внимания. Затем к оценке внимания применяется функция softmax , чтобы получить вес внимания.

Кодер-декодер Seq2seq RNN с механизмом внимания, где подробно показана конструкция механизма внимания. Подробности см. на странице механизма внимания .

В некоторых моделях состояния кодировщика напрямую подаются в функцию активации, устраняя необходимость в модели выравнивания. Функция активации получает одно состояние декодера и одно состояние кодировщика и возвращает скалярное значение их релевантности. [9]

Другие приложения

В 2019 году Facebook объявила о своем использовании в символической интеграции и разрешении дифференциальных уравнений . Компания заявила, что она может решать сложные уравнения быстрее и с большей точностью, чем коммерческие решения, такие как Mathematica , MATLAB и Maple . Сначала уравнение разбирается на древовидную структуру, чтобы избежать нотационных особенностей. Затем нейронная сеть LSTM применяет свои стандартные возможности распознавания образов для обработки дерева. [10]

В 2020 году Google выпустила Meena, чат-бота на основе seq2seq с 2,6 миллиардами параметров , обученного на наборе данных объемом 341 ГБ. Google заявила, что чат-бот имеет в 1,7 раза большую емкость модели, чем GPT-2 от OpenAI , [11] чей преемник в мае 2020 года, GPT-3 с 175 миллиардами параметров , обучен на «наборе данных объемом 45 ТБ простых текстовых слов (45 000 ГБ), который был ... отфильтрован до 570 ГБ». [12]

В 2022 году Amazon представила AlexaTM 20B, модель языка seq2seq среднего размера (20 миллиардов параметров) . Она использует кодер-декодер для выполнения обучения с небольшим количеством попыток. Кодер выводит представление входных данных, которое декодер использует в качестве входных данных для выполнения определенной задачи, например, перевода входных данных на другой язык. Модель превосходит гораздо более крупную GPT-3 в переводе и резюмировании языка. Обучение сочетает шумоподавление (соответствующую вставку отсутствующего текста в строки) и причинно-языковое моделирование (осмысленное расширение входного текста). Она позволяет добавлять функции на разных языках без массивных рабочих процессов обучения. AlexaTM 20B достигла передовой производительности в задачах обучения с небольшим количеством попыток во всех языковых парах Flores-101, превзойдя GPT-3 по нескольким задачам. [13]

Смотрите также

Ссылки

  1. ^ abcde Суцкевер, Илья; Виньялс, Ориол; Ле, Куок Вьет (2014). «Последовательное обучение с помощью нейронных сетей». arXiv : 1409.3215 [cs.CL].
  2. ^ Вадхва, Мани (2018-12-05). "Модель seq2seq в машинном обучении". GeeksforGeeks . Получено 2019-12-17 .
  3. ^ ab Cho, Kyunghyun; van Merrienboer, Bart; Gulcehre, Caglar; Bahdanau, Dzmitry; Bougares, Fethi; Schwenk, Holger; Bengio, Yoshua (2014-06-03). "Изучение представлений фраз с использованием RNN-кодера-декодера для статистического машинного перевода". arXiv : 1406.1078 [cs.CL].
  4. ^ Богданау, Дмитрий; Чо, Кёнхён; Бенгио, Йошуа (2014). «Нейронный машинный перевод путем совместного обучения выравниванию и переводу». arXiv : 1409.0473 [cs.CL].
  5. ^ Васвани, Ашиш; Шазир, Ноам; Пармар, Ники; Ушкорейт, Якоб; Джонс, Лион; Гомес, Эйдан Н; Кайзер, Лукаш; Полосухин, Илья (2017). «Внимание – это все, что вам нужно». Достижения в области нейронных систем обработки информации . 30 . Карран Ассошиэйтс, Инк.
  6. ^ У, Юнхуэй; Шустер, Майк; Чэнь, Жифэн; Ле, Куок В.; Норузи, Мохаммад; Машери, Вольфганг; Крикун, Максим; Цао, Юань; Гао, Цинь; Машери, Клаус; Клингнер, Джефф; Шах, Апурва; Джонсон, Мелвин; Лю, Сяобин; Кайзер, Лукаш (2016). «Система нейронного машинного перевода Google: преодоление разрыва между человеческим и машинным переводом». arXiv : 1609.08144 [cs.CL].
  7. ^ Миколов, Томаш (13 декабря 2023 г.). «Вчера мы получили премию Test of Time Award в NeurIPS за статью word2vec десятилетней давности». Facebook . Архивировано из оригинала 24 декабря 2023 г.
  8. ^ Миколов, Томаш. «Статистические языковые модели на основе нейронных сетей». (2012).
  9. ^ Войта, Лена. «Последовательность к последовательности (seq2seq) и внимание» . Получено 20 декабря 2023 г.
  10. ^ «Facebook имеет нейронную сеть, которая может выполнять сложные математические операции». MIT Technology Review . 17 декабря 2019 г. Получено 17 декабря 2019 г.
  11. ^ Мехта, Иван (29.01.2020). «Google утверждает, что ее новый чат-бот Мина — лучший в мире». The Next Web . Получено 03.02.2020 .
  12. ^ Гейдж, Джастин. «Что такое GPT-3?» . Получено 1 августа 2020 г.
  13. ^ Родригес, Иисус (8 сентября 2022 г.). «🤘Edge#224: AlexaTM 20B — это новая языковая супермодель Amazon, также способная к быстрому обучению». thesequence.substack.com . Получено 08.09.2022 .

Внешние ссылки