Нейронные сети учатся выполнять задачи путем анализа огромных наборов данных. Их использование привело к впечатляющему росту возможностей искусственного интеллекта, в том числе в распознавании речи и машинном переводе. Но перед исследователями возникла неожиданная проблема: во время обучения нейросети начали регулярно корректировать собственные настройки способами, которые создатели не могли интерпретировать.
Чтобы понять, как работает искусственный интеллект, ученые углубились в его изучение. Одной из команд, бьющихся над разрешением этой проблемы, является группа ученых из Массачусетского технологического института и Катарского института компьютерных исследований, о работе которой рассказывает Science Daily. Они использовали недавно разработанный метод интерпретации, который применялся в других областях, чтобы понять логику принятия решений в системах распознавания речи и машинного перевода.
Как выявило исследование, системы вначале концентрируются на задачах более низкого уровня, (таких как распознавание звука или части речи), после чего переходят на более высокий уровень (транскрипция или семантическая интерпретация). Это немного напоминает структуру человеческого мозга. Как правило, сети состоят из слоев, причем каждый слой состоит из множества простых блоков обработки. Данные попадают в нижний слой, где обрабатываются и передаются выше.
Связи между слоями имеют разные «веса», которые определяют, насколько результат каждого узла влияет на вычисления, выполняемые в следующем. Во время обучения «веса» связей постоянно корректируются. Теоретически ученые могут измерить вес всех связей обученной сети, но если речь идет о миллионах узлов, то сделать это практически невозможно. Поэтому исследователи из МТИ использовали несколько иной метод: они обучили сеть и проанализировали ответ каждого слоя на отдельные задачи. Это позволило определить, для какой задачи оптимизирован каждый уровень.
В наиболее эффективных системах машинного перевода используются так называемые модели кодирования-декодирования. Хотя кодировщик и декодер обучаются совместно, их можно рассматривать как отдельные сети. Исследователи обнаружили, что нижние слои кодировщика хорошо распознают морфологию, чего нельзя сказать о высоких уровнях декодера. Переучив сеть, переводящую с английского на немецкий, и повысив возможности декодера, ученым удалось повысить точность перевода на 3%.