Вавилонская нейросеть для многоязычного перевода |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-01-22 09:25 Практически все системы нейронного машинного перевода создавались для одной языковой пары — обработать несколько языковых пар, не изменяя базовую модель НМП, было невозможно. В 2016 г. исследователи создали такую модель: они объединили одноязычные модели в одну структуру и добавили в начало исходной последовательности специальный символ, чтобы указать требуемый язык перевода. Все остальные части системы, такие как кодировщик (энкодер), декодер, механизм внимания и общий словарный запас модели остались без изменений. Структура такой многоязычной модели идентична системе нейронного машинного перевода Google (GNMT), но в некоторых экспериментах к ней были добавлены прямые соединения между уровнями энкодера и декодера. Чтобы использовать многоязычные данные в рамках одной системы, специалисты предложили изменить входные данные и добавить в начале исходного предложения специальный токен, указывающий язык, на который должен быть осуществлен перевод. Например, при переводе в паре английский?испанский How are you? -> ?C?mo est?s? нужно внести следующее изменение: <2es> How are you? -> ?C?mo est?s? чтобы показать, что целевой язык (язык перевода) — испанский язык. Исходный язык не указывается — модель учит это автоматически. После добавления токена к исходным данным модель обучают на всех многоязычных данных, состоящих из нескольких параллельных корпусов одновременно. Чтобы решить проблему перевода неизвестных слов и ограничить словарный запас для эффективности вычислений, применялась общая модель в 32 тыс. слов для всех исходных и целевых данных. Модели могут включать один или несколько исходных или целевых языков. Разработчики рассмотрели три случая: несколько исходных языков и один язык перевода, один исходный язык и несколько языков перевода, несколько исходных и несколько языков перевода. Несколько исходных языков и один язык перевода Это самый простой способ объединения языковых пар. Поскольку существует только один целевой язык, не нужно вводить дополнительный токен. Провели три группы экспериментов: для пар немецкий ? английский / французский ? английский, японский ? английский / корейский ? английский, испанский ? английский / португальский ? английский. Все модели многоязычных и одноязычных пар имели такое же количество параметров, как и базовые модели НМТ, обученные на одной языковой паре. Во всех экспериментах многоязычные модели превзошли базовые одноязычные системы, несмотря на некоторые недостатки в отношении количества параметров, доступных для языковой пары. Объяснить такой успех многоязычной НМТ можно еще и тем, что в модели было представлено больше данных для английского языка и что некоторые исходные языки принадлежат к одним и тем же языковым группам. Один исходный язык и несколько языков перевода Здесь провели три группы экспериментов, очень похожих на эксперименты из предыдущего пункта, добавив в начало исходного предложения токен, указывающий на целевой язык. Результаты показали, что многоязычные модели сопоставимы с базовыми моделями и в некоторых случаях превосходят их (значительное превосходство по шкале BLEU получили, например, для языковой пары английский ? испанский). Несколько исходных языков и несколько целевых языков Самый сложный случай. Поскольку задано несколько целевых языков, к началу исходного предложения необходимо добавить токен для целевого языка. Эксперименты показали, что многоязычные модели с тем же объемом словаря, что и одноязычные, довольно близки к базовым показателям — средняя относительная потеря оценки по BLEU во всех экспериментах составляет всего около 2,5%. Проводились и более крупные эксперименты — разработчики попытались объединить 12 рабочих языковых пар в единой многоязычной модели. Многоязычная модель потребовала меньше времени и вычислительных ресурсов на обучение, чем объединенные одноязычные модели, но больше, чем стандартная одноязычная модель. Такая многоязычная модель обрабатывает в 12 раз меньше данных, чем стандартная модель, поэтому она переводит в среднем хуже отдельных (от 5,6% до 2,5% потерь по BLEU в зависимости от размера), тем не менее, её результаты признаны удовлетворительными. А что, если смешать языки? После экспериментов с несколькими парами исходных или целевых языков исследователи задумались, что происходит, когда языки смешиваются на входе или на выходе. Может ли многоязычная модель успешно обрабатывать многоязычные входные данные (переключение кода) и что получится, если её запустить со смешением двух токенов для целевого языка? Чтобы найти ответ, они провели дополнительные эксперименты и установили, что многоязычные модели способны справиться с переключением кода исходного языка в середине предложения. Например, смешивание японского и корейского языков в исходном коде во многих случаях приводит к правильным переводам на английский, что подтверждает: модель может обрабатывать переключение кодов, хотя в обучающих данных таких примеров переключения кодов не было. Интересно, что смешанный перевод немного отличался от переводов отдельных примеров на разных языках на один исходный язык. Эксперименты же с целевым языком продемонстрировали менее любопытные результаты. В зависимости от определенных параметров модель переводит исходное предложение либо на смесь языков, либо полностью на один из целевых языков с неестественными для него характеристиками (например, порядок слов). Так откуда разговоры об интерлингве? Объединив несколько языковых пар в одной модели, разработчики Google получили неожиданный и очень интересный результат: модель научилась переводить в языковых парах, на которых она не обучалась. Например многоязычная модель НМП, использующая примеры языковых пар португальский ? английский и английский ? испанский, может генерировать допустимые переводы для языковой пары португальский ? испанский, даже не используя данные для этой языковой пары. При этом машина больше не переводит через английский («язык-мост»), а использует общие семантические представления между языками. Такой перевод без обучения (zero-shot translation) модель может выполнять только между языками, которые она в определенный момент обучения рассматривала отдельно как исходный и целевой языки. Больше всего разработчиков удивило, что необученные модели оказались способны выдавать перевод приемлемого качества. Еще бы — ведь изначально это вообще казалось невозможным! Они предположили, что такой эффект возможен потому, что единая структура позволяет модели изучать форму interlingua между всеми этими языками — т.е. модель оказалась способна выявлять общие семантические слои для разных языков и находить им соответствия. В эксперименте, описанном выше, перевод производился между языками, принадлежащими одной языковой семье (испанский и португальский), и исследователи заинтересовались, насколько хорошо работает перевод без обучения для менее родственных языков. Они сравнили с переводом через английский язык переводы без обучения в паре испанский ? японский, использовав свою крупную модель (испанский и японский языки могут рассматриваться как совершенно не связанные). Как и ожидалось, перевод без обучения сработал хуже, и качество перевода упало сильнее (по BLEU — примерно на 50%), по сравнению со случаем для более родственных языков. Несмотря на снижение качества, исследователи пришли к выводу о том, что такой подход позволяет осуществлять перевод даже между несвязанными языками. Говорить о том, что существует универсальный язык, через который Google научился переводить тексты с любых языков, пока рано. Но возможно Google подобрался еще на шаг ближе к тому, как переводит человек. Александра Опанасенко Материал подготовлен совместно с группой переводческих компаний AKM Translations Источник: m.vk.com Комментарии: |
|