Специалисты по искусственному интеллекту из Google представили новую систему машинного перевода, которая основана на принципах глубинного обучения. По формальным оценкам и по мнению опрошенных добровольцев, точность перевода системой существенно выше, чем у существующих аналогов, хотя и не достигает пока точности живых переводчиков. Описание системы выложено в виде препринта в базе arXive.org.
Точный машинный перевод с одного языка на другой является одной из классических задач в области искусственного интеллекта. Пока существующие системы не способны конкурировать с живыми переводчиками, однако быстро их догоняют. За последние годы точность перевода существенно выросла за счет применения продвинутых методов машинного обучения, развития параллельного вычисления на графических процессорах и появления большого количества баз данных с текстами на разных языках, которые могут служить в качестве обучающей выборки.
Популярные системы машинного перевода можно грубо разделить на традиционные, основанные на переводе отдельных фраз, и на более новые, основанные на нейронных сетях, учитывающих не только типичное значение фразы, но и ее контекст. Нейронные сети, которые используются в этом последнем случае, чаще всего относятся к классу рекуррентных, их основным отличием является то, что их ответ зависит не только от поступающих на вход данных, но и от предыдущего состояния сети. Это позволяет системам «помнить» о том, что они «видели» раньше, и учитывать это при выборе того или иного ответа. Грубо говоря, именно это позволяет системе понимать, что при переводе фразы «тугой лук» второе слово не следует трактовать как onion — на это намекает первое слово исходной фразы, которое должно изменить состояние нейросети. При этом программисты не обязаны заранее указывать или даже знать правила сочетаемости слов друг с другом, этому нейросеть учится самостоятельно на базе готовых текстов.
Следует отметить, что элементарными единицами данных в нейросети GMNT, в отличие от аналогов, являются не слова, а их фрагменты (wordpieces), которых в данной работе используется 32 тысячи штук. По словам создателей, это позволяет добиться компромисса между универсальностью и точностью с одной стороны, и скоростью вычислений и обучения — с другой. Дело в том, что рекуррентные нейросети могут работать не только на уровне слов, но и на уровне букв. Так работают, например, нейросети в развлекательных проектах, где идет генерация текстов или музыки «в стиле» некоторого образца. В области машинного обучения это, теоретически, может позволить добиться перевода даже таких понятий, которых нет в обычных словарях (позволит делать транслитерацию, «кальку» с одного языка на другой и т.д.). Однако работа на уровне букв в случае машинного перевода технически существенно сложнее из-за вычислительных проблем и необходимости длительного обучения. В свою очередь, работа на уровне целых слов приводит к проблемам с суффиксами, окончаниями и прочими флексиями, что для перевода очень нежелательно.
Другие пары дали сравнимые результаты, однако в каждом из них «человеческие» переводы пока все-таки немного точнее, чем нейросетевые. Следует, однако, отметить, что авторы в своей работе не пытались добиться максимально точного результата, а скорее стремились к балансу между правильностью перевода и вычислительной сложностью. Для этого использовалось множество эвристик, которые упрощают и ускоряют работу системы, но могут вести к ошибкам. Поэтому увеличение времени обучения и доступность вычислительных ресурсов могут еще больше увеличить точность перевода даже без существенной переработки архитектуры новой системы.
Ранее нейросети (другого типа) уже использовались в системе Google Translate. Однако тогда их роль в перевода ограничивалась лишь распознаванием текста на изображении. Сам перевод надписей "на ходу" проводился традиционным путем. Подобные системы перевода дополненной реальности создают несколько компаний, в некоторых случаях они даже обходятся без подключения к интернету.
Александр Ершов