Краткий обзор механизма внимания для нейронных моделей машинного перевода.

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

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

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

Это врожденное человеческое качество не было передано машинным алгоритмам до 2015 года, когда Багданау, Чо и Бенжио представили механизм «внимания». Этот механизм был предложен для максимизации производительности перевода, позволяя модели автоматически (мягко) искать части исходного предложения, которые имеют отношение к предсказанию целевого слова, без необходимости явно формировать эти части как жесткий сегмент. Я допускаю, что это предложение может быть трудно переварить, но мы поймем его смысл, разбив на части и обратив внимание на отдельные его части по очереди. (Я знаю, что это очень мета.) Влияние этой статьи 2015 года было огромным, и в дальнейшем она стала строительным блоком для нескольких современных моделей.

Зачем нам внимание?

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

Узкое место

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

Основная идея

Чтобы решить эту проблему, Bahdanau et al. представил расширение модели кодер-декодер, которое учится выравнивать и транслировать совместно. Новая архитектура использует двунаправленную RNN в качестве кодера и декодера, которые смогут сосредоточиться на всех скрытых состояниях, а не только на конечном скрытом состоянии. Что делает эта модификация, так это дает декодеру гибкость в принятии решений и, следовательно, идентификацию частей исходного предложения, которые могут быть более актуальными для предсказания следующего слова в целевом предложении. Это интуиция механизма внимания, и теперь она ведет нас к математике, которая используется для того, чтобы это произошло.

Таким образом, этот новый подход облегчает распространение информации по последовательности аннотаций, которые могут быть соответственно выборочно извлечены декодером.

С помощью языка нам удается передавать идеи на большие расстояния в пространстве и времени, но создание синтаксических связей между словами в предложении, которые могут быть или не быть в непосредственной близости друг от друга, лежит в основе выражения идей на любом языке. Именно здесь вмешивается внимание и помогает отображать синтаксис исходного языка в целевой язык. Определить отношения слов с другими словами, которые могут быть далеко в том же предложении, игнорируя при этом другие слова, которые просто не имеют большого влияния на слово, которое мы пытаемся предсказать, — это то, к чему стремится внимание.

Мне хотелось бы объяснить алгебру механизма внимания, но я нашел редактор Medium неудобным для математического письма. Пояснение вы найдете внизу этой страницы.

Вы можете посетить мою страницу здесь. Вы можете следить за моим твиттером здесь.

использованная литература

[1] Багданау, Д., Чо, К. и Бенжио, Ю. Нейронный машинный перевод путем совместного обучения выравниванию и переводу. В Proc. Международная конференция по обучающим представлениям (2015 г.)

[2] Чо, Кёнхён, Аарон Курвиль и Йошуа Бенджио. Описание мультимедийного контента с использованием сетей кодировщика-декодера на основе внимания. (2015)

[3] Суцкевер, И. Виньялс, О. и Ле. QV Обучение последовательности с помощью нейронных сетей. В Proc. Достижения в области нейронных систем обработки информации (2014 г.)

[4] Сообщение в блоге Криса Ола. «Внимание и дополненные рекуррентные нейронные сети»