Изучение "разума" нейронной сети

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

Во время обучения, нейронная сеть постоянно корректирует свои внутренние настройки способами, которые даже ее создатели не могут интерпретировать. Многочисленные недавние работы в области информатики были сосредоточены на умных методах определения того, как нейронные сети выполняют то, что они делают.

В нескольких недавних работах исследователи из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института (КСАИЛ) и Катарского научно-исследовательского института использовали недавно разработанный метод интерпретации, который применялся в других областях, для анализа нейронных сетей, обученных выполнять машинный перевод .

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

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

«В механическом переводе исторически существовала какая-то пирамида с разными слоями», — говорит Джим Гласс, старший научный сотрудник CSAIL, который работал над проектом с Йонатаном Белинковым, аспирантом Массачусетского технологического института по электротехнике и информатике. «На самом низком уровне было слово, поверхностные формы, а вершина пирамиды была своего рода промежуточным представлением, и у вас были бы разные слои, где вы делали синтаксис, семантику. Это было очень абстрактное понятие, но идея заключалась в том, что чем выше вы вошли в пирамиду, тем легче было бы перевести на новый язык, а затем вы снова спуститесь. Поэтому часть того, что делает Yonatan, пытается выяснить, какие аспекты этого понятия кодируются в сети ».

Работа над машинным переводом была представлена недавно в двух документах на Международной совместной конференции по обработке естественного языка. К ним присоединились исследователи из Катарского научно-исследовательского института (QCRI), в том числе Луис Макрез, Хасан Саджад, Надир Дуррани, Фахим Далви и Стефан Фогель.

Выравнивание звуков

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

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

Методика исследователей MIT и QCRI состоит в том, чтобы обучить сеть и использовать выход каждого из своих слоев в ответ на отдельные примеры обучения для обучения другой нейронной сети для выполнения конкретной задачи. Это позволяет им определить, для какой задачи оптимизирован каждый уровень.

В случае сети распознавания речи Белинков и QCRI использовали выходы отдельных слоев для обучения системы идентификации «звуков», особых фонетических единиц, характерных для разговорного языка. «T» звучит в словах «tee», «tree», например, можно классифицировать как отдельные звуки, но система распознавания речи должна расшифровать все из них, используя букву «t». И Белинков и QCRI обнаружили, что более низкие уровни сети лучше распознают звуки, чем более высокие уровни, где, по-видимому, различие менее важно.

Аналогичным образом, в более ранней работе, представленной прошлым летом на ежегодном собрании Ассоциации вычислительной лингвистики, стекла, Белинкова и их коллег QCRI, было показано, что более низкие уровни сети машинного перевода особенно хороши при распознавании частей речи и морфологии — такие функции, как напряжение, количество и сопряжение.

Создание значения

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

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

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

Добавить комментарий


Защитный код
Обновить