18 марта 2020
Вавилонская нейросеть для многоязычного перевода
Практически все системы нейронного машинного перевода создавались для одной языковой пары — обработать несколько языковых пар, не изменяя базовую модель НМП, было невозможно.
В 2016 г. исследователи создали такую модель: они объединили одноязычные модели в одну структуру и добавили в начало исходной последовательности специальный символ, чтобы указать требуемый язык перевода. Все остальные части системы, такие как кодировщик (энкодер), декодер, механизм внимания и общий словарный запас модели остались без изменений.
Структура такой многоязычной модели идентична системе нейронного машинного перевода Google (GNMT), но в некоторых экспериментах к ней были добавлены прямые соединения между уровнями энкодера и декодера. Чтобы использовать многоязычные данные в рамках одной системы, специалисты предложили изменить входные данные и добавить в начале исходного предложения специальный токен, указывающий язык, на который должен быть осуществлен перевод. Например, при переводе в паре английский→испанский
How are you? -> ¿Cómo estás?
нужно внести следующее изменение:
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 подобрался еще на шаг ближе к тому, как переводит человек.
Александра Опанасенко
Слепнущие нейросети
31 октября на Международной конференции по компьютерному зрению в Сеуле (ICCV 2019) было представлено исследование «Что не может создать GAN (генеративно-состязательная сеть)».
Дэвид Бау, сотрудник Лаборатории компьютерных наук и искусственного интеллекта (CSAIL) Массачусетского технологического института, вместе с коллегами исследовали характеристики данных, которые чаще игнорируются системой машинного обучения.
GAN и другие нейронные сети не только похоже обнаруживают шаблоны в данных, они также могут игнорировать схожие объекты. Бау и его коллеги обучали различные типы GAN на изображениях объектов внутри и снаружи зданий. Независимо от того, где были сделаны снимки, GAN постоянно опускала важные детали: людей, машины, вывески, фонтаны и предметы мебели, даже когда эти объекты заметно выделялись на изображении.
В процессе работы исследователи отметили также, что люди на изображениях могли исчезать выборочно. Иногда они превращались в кусты, а порой и вовсе растворялись в зданиях на заднем плане изображения.
Извини, человек, мне лень
Ученые предположили, что виной всему «лень» алгоритмов. Хотя целью GAN является создание убедительных образов, она может выучить, что легче воспроизводить здания и ландшафты и системно пропускать более трудные объекты, например, людей и автомобили. Ведь создать реалистичное человеческое лицо тяжело, и это получается редко. А за нереалистичные изображения GAN получает штраф — такова природа генеративно-состязательного обучения, в котором одна сеть должна убедить другую, что изображение хорошее. В итоге генеративная часть сети решает «не связываться» с этими сложными объектами и просто убирает их.
Исследователи давно знают, что GAN имеют склонность игнорировать некоторые статистически значимые детали, им легче генерировать здания и ландшафты, упуская более мелкие детали. Но это может быть первым исследованием, которое покажет, что современные GAN могут систематически опускать целые классы объектов в изображении.
Поскольку инженеры используют GAN при создании синтетических изображений для обучения автоматизированных систем, таких как беспилотные автомобили, существует опасность того, что люди, знаки и другая важная информация могут оказаться в «слепом пятне». Поэтому важно не только оценивать результат работы нейросети, но и понимать, как устроена сама модель.
Источник: Visualizing an AI model’s blind spots
Google-проповедник, гендерные стереотипы и развитие ИИ: интервью с разработчиком Googlе-Переводчика
Некоторое время назад Google Переводчик при попытке перевести определенные буквосочетания на суахили или маори выдавал пугающие религиозные пророчества. Кликбейт-сайты выдвигали предположения о заговоре, но на самом деле оказалось, что дело было всего лишь в особенностях обучающих датасетов — машинный перевод основывался на религиозных текстах и в сложных случаях обращался к привычным паттернам.
Эта ситуация в очередной раз породила волну обсуждений о сложностях машинного перевода. Тем не менее, как рассказал технический директор Google Translate Макдафф Хьюз (Macduff Hughes) изданию The Verge, именно возможность машинного обучения делает инструменты перевода Google такими успешными. Доступный, простой и быстрый перевод стал одной из тех привилегий XXI века, которую мы воспринимаем как что-то само собой разумеющееся, однако это стало возможным только благодаря искусственному интеллекту (ИИ).
В 2016 году Переводчик перешел с метода, известного как статистический машинный перевод по фразам, на метод, в котором задействованы нейросети. Старая модель перевода, когда текст переводился по одному слову, выдавала много ошибок, так как система не учитывала грамматические нормы, например времена глаголов и порядок слов. Новая же модель переводит предложение за предложением, а значит, учитывает чуть более широкий контекст.
«В результате мы получаем язык, который звучит естественнее, с более плавными переходами», — отмечает Хьюз, и обещает, что Google Переводчик ожидают еще большие положительные изменения. Скоро он сможет различать стили речи, (использует говорящий формальную лексику или сленг?), и чаще предлагать несколько вариантов формулировок.
Переводчик — это репутационно полезный для Google проект, который, как многие заметили, является для компании своего рода прикрытием применения искусственного интеллекта для спорных и неоднозначных целей, к примеру, военных разработок. Хьюз рассказывает, зачем компания продолжает поддерживать этот сервис, а также объясняет, как собираются решать проблему стереотипов при использовании данных для обучения искусственного интеллекта.
Интервью с Макдаффом Хьюзом
Главным нововведением в последней обновленной версии Переводчика стали гендерно обусловленные варианты перевода. Что сподвигло вас к таким изменениям?
Мы исходили из двух дополняющих друг друга факторов. Первый — обеспокоенность социальными предрассудками, которые встречаются во всех разработках с использованием машинного обучения и ИИ. Продукты и сервисы, использующие алгоритмы машинного обучения, отражают гендерные стереотипы, которые содержатся в обучающих данных, а те, в свою очередь, отражают социальные предрассудки, усиливая их и даже преувеличивая. Этой проблемой обеспокоены не только в Google, но и во всей индустрии. Мы, как любая компания, хотим занимать лидирующие позиции в решении этих проблем и мы знаем, что Переводчик тоже не идеален, особенно когда речь идет о гендерных стереотипах.
Классический пример стереотипного мышления: врач — мужчина, медсестра — женщина. Если такие предубеждения встречаются в языке, тогда и модель перевода запомнит их и будет распространять. Если, к примеру, в 60-70% случаев профессия относится к мужчинам, тогда система перевода может запомнить это и в 100% случаев будет указывать её как мужскую. Нам нужно бороться с этим.
Многие наши пользователей изучают языки и хотят понимать, какие существуют варианты выражения мыслей и какие при этом могут быть нюансы. Мы давно пришли к важности демонстрации нескольких вариантов перевода, и это тоже повлияло на наш гендерный проект. Нельзя точно сказать, каким образом стоит решать такие проблемы. Нельзя просто предлагать варианты в соотношении 50/50 или давать произвольный вариант (в случае, когда мы апеллируем к гендеру в переводе), правильней будет давать пользователям больше информации для выбора. Показать, что существует более одного варианта перевода данной фразы на другой язык, и отметить, какие существуют различия между предложенными вариантами. В переводе довольно много спорных культурных и языковых моментов; мы хотим хоть как-то решить проблему гендерных стереотипов и тем самым улучшить качество работы Переводчика.
Какова следующая проблема, связанная с предрассудками и нюансами перевода?
У нас есть три значительные инициативы. Первая — продолжать работу над проектом, который мы только что с вами обсуждали. Мы уже запустили перевод полных предложений с учётом гендерных факторов, но пока только с турецкого языка на английский. Далее мы хотим улучшить качество их перевода и подключить другие языки к данному проекту. Для некоторых языков мы завершили перевод отдельных слов.
Вторая инициатива касается перевода целых документов. В данном случае проблема предрассудков также существует, но она должна решаться иным образом. Например, возьмем статью из Википедии о женщине и переведем ее с другого языка, в котором нет категории рода, на английский. Вероятнее всего, большинство местоимений переведутся на английский как «он» и «его». Каждое предложение статьи переводится отдельно от других, и, если в тексте на исходном языке нет четких указаний на гендер, то с большей долей вероятности в переводе по умолчанию появятся местоимения, относящиеся к мужскому роду. Сегодня особенно оскорбительно использовать слово в неправильном роде, но решение этой проблемы требует абсолютно иного подхода, нежели мы использовали ранее. В нашем примере проблема решается обращением к контексту, остальной части документа. И эту проблему предстоит решить инженерам и исследователям.
Третья инициатива посвящена гендерно-нейтральным языковым конструкциям. Сегодня мы живем в самый разгар культурной нестабильности, отражающейся не только в английском языке, но и во всех языках, имеющих гендерно-окрашенные слова. В современном мире формируется движение за создание гендерно-нейтрального языка, и в связи с этим к нам поступает множество заявок от пользователей с вопросом, когда мы начнем его внедрять. Частый пример, который приводят в связи с этим, — использование в английском языке местоимения «они» в единственном числе. Вариант использования «они» по отношению к человеку в противовес местоимениям «он» или «она» очень популярен, хотя и не используется в учебниках и в стандартах. Такая же ситуация наблюдается в испанском, французском и многих других языках. Правила меняются с такой скоростью, что даже экспертам сложно уследить за всеми изменениями.
Любопытная ситуация произошла в прошлом году с Google Переводчиком, когда люди обнаружили, что при введении выдуманных бессмысленных слов он выдавал фрагменты религиозных текстов. Люди стали выдвигать фантастические теории на этот счет. Что вы предприняли по этому поводу?
Я не удивился, что это произошло, но меня поразило то, какой интерес это вызвало у пользователей. Стали появляться разные теории заговора — якобы Google зашифровал загадочные послания о космических пришельцах, тайных религиозных культах… На самом деле эта ситуация иллюстрирует основную проблему моделей машинного обучения, когда в ответ на ввод непредусмотренных данных система реагирует непредвиденным образом. Проблема, над которой мы работаем, заключается как раз в том, чтобы в ответ на бессмысленный запрос система не выдавала ничего осмысленного.
Но почему это произошло? Я не помню, чтобы вы когда либо озвучивали объяснение произошедшего.
Обычно это случается потому, что при обучении модели языку, на который вы переводите, в качестве обучающих данных используется большое количество религиозных текстов. Для каждой языковой пары, которая сейчас у нас имеется, мы используем в процессе машинного обучения всю доступную в Интернете информацию. Поэтому типичное поведение модели, столкнувшейся с непонятной фразой — подбор самого близкого варианта из обучающих данных. В ситуации с редкими языками, на которые в интернете очень мало переведенных текстов, модель чаще всего выдает фразы религиозного толка.
Для некоторых языков первым переведенным документом, который мы нашли, была Библия. Мы берём всё, что можем найти, и обычно всё в порядке, но если вводить бессмыслицу, результат часто бывает именно такой. Если бы основными переведенными документами были юридические документы, то модель бы выдавала термины из юриспруденции, если бы это были руководства по управлению самолетом, то выдавались бы летные инструкции.
Это невероятно. Напоминает то, как Библия короля Джеймса повлияла на становление английского языка. Мы и сегодня используем многие фразы, взятые из этого перевода Библии 17-го века. Что-то похожее происходило с Google Переводчиком? Много ли необычных источников и фраз используется в обучающих базах?
Да, иногда нам попадаются необычные фразы из интернет сообществ, например, сленг с игровых форумов и сайтов. И такое бывает! Увеличивая количество языков, мы собираем более разнообразные данные для обучения, и да, иногда на просторах интернета встречается довольно занимательный сленг. Но, боюсь, пока не могу припомнить ничего определенного.
Итак, Google Переводчик особенно интересен тем, что, в отличии от ИИ, о котором ведутся споры, как и где его можно применять, все единодушны во мнении, что перевод — вещь полезная и относительно беспроблемная. Что, на ваш взгляд, мотивирует Google вкладывать средства в перевод?
Наша компания ставит перед собой довольно идеалистические цели. Я считаю, что команда разработчиков Google Переводчика еще большие идеалисты. Мы усердно работаем, чтобы сказанное вами было правильно понято. И именно поэтому так важно бороться с предрассудками и исправлять неверный перевод, который может принести вред.
Но зачем Google в это инвестировать? Нас часто об этом спрашивают, и ответ довольно прост. Наша миссия заключается в том, чтобы систематизировать всю информацию в мире, и сделать её доступной для каждого, а мы еще очень сильно далеки от достижения «доступности каждому». И пока большая часть жителей планеты не сможет получить доступ к онлайн информации, ее нельзя считать всемирно доступной. Чтобы выполнить основную миссию компании, Google должен решить проблему перевода, и я думаю, что основатели понимали это еще десятилетие назад.
А вы считаете возможно решить проблему перевода? Недавно в журнале The Atlantic вышла статья известного профессора-когнитивиста Дугласа Хофштадтера, в которой он отмечает «ограниченность» Google Переводчика. Что вы можете ответить на его критику?
То, на что он указал, было справедливым, и это правда так. В работе Переводчика есть эти проблемы. Но пока они для нас не на первом плане, потому что при переводе они выявляются в очень малом проценте случаев. Если мы возьмем типичные тексты, которые люди обычно переводят, там эти проблемы возникают крайне редко. Но он прав: чтобы на самом деле решить проблему перевода и позволить машинному переводу достичь уровня опытного переводчика, необходимы серьезные технические усовершенствования. Обучаясь только на примерах параллельных текстов, невозможно узнать о нескольких оставшихся процентах случаев.
Ведь как уже очень давно говорят, перевод — это основная проблема ИИ. Поэтому, чтобы полностью решить проблему перевода, необходимо полностью решить проблемы ИИ. И я согласен с этим. Однако я считаю, что можно решить очень большой процент этих проблем, чем мы сейчас и занимаемся.
Инесса Анохина, Наталья Пак
Машинное обучение и Data Science похожи на ядерную физику в начале 50-х или кибернетику в 60-е. Мечтают делать многие, понимают немногие, делают — совсем немногие. Главная преграда — математика. Все эти «линейные регрессии», «градиентные спуски» и «дифференцируемые функции» пугают, особенно если вы не открывали учебники со школы. Да и если открывали — матан и линал все равно немного бросают в дрожь. А без математики в Data Science никуда.
Простой пример — производные. В школе их изучение обычно привязывают к физике. Помните, там скорость разных едущих/бегущих/летящих объектов вычислялась как производная от расстояния, а ускорение — как производная от скорости... Так вот, в Data Science производные используются в обучении нейросетей. Чтобы нейросеть всё лучше переводила тексты или распознавала котиков на фото, применяют алгоритм «обратного распространения ошибки» и тот самый «градиентный спуск». А в его основе — как раз расчет производных!
Вот только в Data Science производные посложнее, чем в школьной программе. В школе нужно было найти точку с нулевой производной на двумерном графике — а здесь многомерные гиперплоскости… Разобраться в этом самому непросто. Гораздо проще понять математику в основе нейросетей, расспрашивая опытного дата-сайнтиста. Такая возможность будет сегодня в 20:00 — наши партнеры OTUS проведут бесплатный вебинар «Математика в Data Science».
Регистрация: https://otus.pw/Rkl4/
Что там будет?
На вебинаре вам расскажут:
— какая математика нужна для Data Science, а без чего можно обойтись
— с чего правильно начинать обучение, чтобы было понятно и не страшно
— как развиваться в Data Science и строить свою карьеру
Кто ведет?
Курс ведёт Пётр Лукьянченко — преподаватель высшей математики в НИУ-ВШЭ с 10 летним стажем и data-саентист. Учился в Лондонской школе экономики, работал Team Lead Analytics в Lamoda, занимался анализом экспериментальных данных в научной организации.
Что будет за вебинаром?
Если вебинар вам понравится, вы сможете подключиться к обучению на основном курсе «Математика в Data Science». У курса есть базовая версия для новичков — и продвинутая, для тех, кто уже начал разбираться в Data Science, но хочет прокачаться. Курс платный, ознакомиться с программой можно по ссылке: otus.pw/vbZ5/
Сегодня 160 лет Антону Павловичу Чехову. За несколько месяцев до смерти Чехов сказал Бунину, что читать его будут «лет семь». А в итоге оказался звездой мировой литературы, вместе с Достоевским и Толстым. Чеховым вдохновлялись Джойс, Вирджиния Вулф и Бернард Шоу, его пьесы ставят по всему миру. В театре Чехов стал таким же новатором, как Эйнштейн в физике или Стив Джобс в мобильной электронике. Чехов переизобрел драматургию: в его пьесах часто нет главного героя, нет однозначно хороших или плохих персонажей, вообще — нет диктата автора. Автор рисует тонких, сложных, психологически нагруженных персонажей, а режиссеру достается свобода создавать из них самые разные сценические прочтения — вплоть до противоположных друг другу. Ничего подобного не было и не могло быть в пьесах драматургов до-чеховской поры, вроде Островского.
Цифровые методы пока что плохо приспособлены для исследования литературного творчества. Digital Literary Studies, цифровое литературоведение, делает свои первые шаги. Тем не менее первые робкие подходы к исследованию драматургии, и конкретно творчества Чехова, уже есть. Сегодня мы хотим поделиться работой русско-немецкой команды ученых, которая исследовала и визуализировала пьесы Чехова с использованием сетевого анализа (англ. network analysis, нем. Netzwerkanalyse).
Каждая пьеса — от ранних «На большой дороге» и «Ночи перед судом» до классических «Чайки», «Дяди Вани», «Трех сестер» и «Вишневого сада», ставших венцом чеховской драматургии, — представлена в виде социальной сети персонажей. Сети построены на основе разметки взаимодействия между героями. Сила взаимодействия (толщина связи в сети) пропорциональна числу диалогов двух персонажей. Цветами обозначен пол героев.
Также в центре этой визуализации приведена статистика. В столбцах показаны распределения центральностей персонажей в социальных сетях наиболее значимых Чеховских пьес (мы рассказывали о том, как измеряется центральность, вот здесь: https://vk.com/@sysblok-socseti-russkoi-dramy-chast-i..). Под столбцами — два графика: правый показывает плотность социальных сетей, левый — соотношение мужской и женской речи в пьесах Чехова.
Что дает такое представление? Во-первых, информация о центральностях персонажей подтверждает тезис об отсутствии главного героя в большинстве пьес. Центральности распределены равномерно, а в «Дяде Ване» и «Чайке» наиболее центральный персонаж меняется в зависимости от метрики.
Во-вторых, Чехов оказывается практически единственным классическим русским драматургом, у которого доля женской речи в пьесах сопоставима с мужской. У других крупных авторов пьес, например, Островского или Гоголя, мужчины говорят в разы больше, чем женщины. У Чехова же практически гендерный паритет.
В-третьих, мы можем проследить своеобразную эволюцию структуры Чеховских пьес. В 80-е годы, первый период взрослого творчества Чехова, испытываются разные конфигурации героев: от самых маленьких, на 2-3 персонажа, в небольших шуточных пьесах вроде «Медведя», «Предложения» или «Трагика поневоле», до нагромождения лиц и фигур в написанной не для сцены «Татьяне Репиной». К концу творческой биографии Чехова (условный период с 1895 по 1904) видна некоторая стабилизация: писатель оставил малые шуточные формы, но и не создает больше сценических толп. Его поздние пьесы — зрелые полновесные драматические произведения со сложными, но не переусложненными конфигурациями персонажей.
#philology@sysblok