7 типов искусственных нейронных сетей для обработки естественного языка

Ольга Давыдова

Что такое искусственная нейронная сеть? Как это работает? Какие типы искусственных нейронных сетей существуют? Как разные типы искусственных нейронных сетей используются при обработке естественного языка? Мы обсудим все эти вопросы в следующей статье.

Искусственная нейронная сеть (ИНС) - это вычислительная нелинейная модель, основанная на нейронной структуре мозга, которая может научиться выполнять такие задачи, как классификация, прогнозирование, принятие решений, визуализация и другие, просто рассматривая примеры.

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

Искусственная нейронная сеть https://en.wikipedia.org/wiki/Artificial_neural_network#/media/File:Colored_neural_network.svg

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

Искусственный нейрон с четырьмя входами http://en.citizendium.org/wiki/File:Artificialneuron.png

Взвешенная сумма входов дает сигнал активации, который передается в функцию активации для получения одного выхода от нейрона. Обычно используются функции активации: линейная, ступенчатая, сигмовидная, tanh и выпрямленная линейная единица (ReLu).

Линейная функция

f(x)=ax

Пошаговая функция

Логистическая (сигмовидная) функция

Функция Тань

Функция выпрямленных линейных единиц (ReLu)

Обучение - это процесс оптимизации весов, в котором ошибка прогнозов сводится к минимуму, а сеть достигает заданного уровня точности. Метод, который чаще всего используется для определения вклада каждого нейрона в ошибку, называется обратным распространением, который вычисляет градиент функции потерь.

Систему можно сделать более гибкой и мощной, используя дополнительные скрытые слои. Искусственные нейронные сети с несколькими скрытыми слоями между входным и выходным слоями называются глубокими нейронными сетями (DNN), и они могут моделировать сложные нелинейные отношения.

1. Многослойный перцептрон (MLP)

Персептрон https://upload.wikimedia.org/wikipedia/ru/d/de/Neuro.PNG

Многослойный перцептрон (MLP) состоит из трех или более слоев. Он использует нелинейную функцию активации (в основном гиперболический тангенс или логистическую функцию), которая позволяет классифицировать данные, которые нельзя разделить линейно. Каждый узел на уровне подключается к каждому узлу на следующем уровне, делая сеть полностью подключенной. Например, приложения многоуровневой персептронной обработки естественного языка (NLP) - это распознавание речи и машинный перевод.

2. Сверточная нейронная сеть (CNN)

Типичная архитектура CNN https://en.wikipedia.org/wiki/Convolutional_neural_network#/media/File:Typical_cnn.png

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

Сверточные нейронные сети показывают выдающиеся результаты в приложениях для обработки изображений и речи. Юн Ким в статье Сверточные нейронные сети для классификации предложений описывает процесс и результаты задач классификации текстов с использованием CNN [1]. Он представляет модель, построенную на основе word2vec, проводит с ней серию экспериментов и проверяет ее на нескольких тестах, демонстрируя, что модель работает отлично.

В Понимании текста с нуля Сян Чжан и Янн ЛеКун демонстрируют, что CNN могут достигать выдающихся результатов без знания слов, фраз, предложений и любых других синтаксических или семантических структур в отношении человеческого языка [2]. Семантический анализ [3], обнаружение перефразирования [4], распознавание речи [5] также являются приложениями CNN.

3. Рекурсивная нейронная сеть (РНС)

Простая рекурсивная архитектура нейронной сети https://upload.wikimedia.org/wikipedia/commons/6/60/Simple_recursive_neural_network.svg

Рекурсивная нейронная сеть (RNN) - это тип глубокой нейронной сети, образованной путем рекурсивного применения одного и того же набора весов к структуре, чтобы сделать структурированное предсказание по входным структурам переменного размера или скалярное предсказание по ней, пройдя заданную структуру. в топологическом порядке [6]. В простейшей архитектуре нелинейность, такая как tanh, и матрица весов, которая является общей для всей сети, используются для объединения узлов в родительские.

4. Рекуррентная нейронная сеть (RNN).

Рекуррентная нейронная сеть (RNN), в отличие от нейронной сети прямого распространения, представляет собой вариант рекурсивной искусственной нейронной сети, в которой связи между нейронами образуют направленный цикл. Это означает, что выход зависит не только от текущих входов, но и от состояния нейрона на предыдущем шаге. Эта память позволяет пользователям решать проблемы НЛП, такие как распознавание рукописного ввода или речи. В статье Генерация, перефразирование и обобщение отзывов пользователей на естественном языке с помощью рекуррентных нейронных сетей авторы демонстрируют модель рекуррентной нейронной сети (RNN), которая может генерировать новые предложения и резюме документов [7].

Siwei Lai, Liheng Xu, Kang Liu и Jun Zhao создали рекуррентную сверточную нейронную сеть для классификации текста без функций, созданных человеком, и описали ее в Рекуррентных сверточных нейронных сетях для классификации текста. Их модель сравнивалась с существующими методами классификации текста, такими как Bag of Words, Bigrams + LR, SVM, LDA, Tree Kernels, Recursive neural network и CNN. Было показано, что их модель превосходит традиционные методы для всех используемых наборов данных [8].

5. Долговременная кратковременная память (LSTM)

Блок LSTM-глазок с воротами ввода, вывода и забывания. https://upload.wikimedia.org/wikipedia/commons/5/53/Peephole_Long_Short-Term_Memory.svg

Long Short-Term Memory (LSTM) - это особая архитектура рекуррентной нейронной сети (RNN), которая была разработана для более точного моделирования временных последовательностей и их зависимостей на больших расстояниях, чем обычные RNN [9]. LSTM не использует функцию активации в своих повторяющихся компонентах, сохраненные значения не изменяются, и градиент не имеет тенденции к исчезновению во время обучения. Обычно блоки LSTM реализуются блоками по несколько блоков. Эти блоки имеют три или четыре шлюза (например, входной вентиль, вентиль забвения, вентиль выхода), которые управляют информационным потоком, опираясь на логистическую функцию.

В статье Архитектура рекуррентных нейронных сетей с кратковременной памятью для крупномасштабного акустического моделирования Хасим Сак, Эндрю Старший и Франсуаза Бофейс показали, что глубокие архитектуры LSTM RNN достигают высочайшего уровня производительности для крупномасштабного акустического моделирования.

В работе Пэйлу Ванга, Яо Цяня, Фрэнка К. Сунга, Лэй Хэ и Хай Чжао Тегирование частей речи с помощью двунаправленной рекуррентной нейронной сети с длительной краткосрочной памятью приводится модель части речи. (POS) теги »был представлен [10] . Модель достигла точности маркировки 97,40%. Apple, Amazon, Google, Microsoft и другие компании включили LSTM в качестве фундаментального элемента в свои продукты.

6. Последовательность моделей.

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

Модели Sequence-to-Sequence в основном используются в системах ответов на вопросы, чат-ботах и ​​машинном переводе. Такие многослойные ячейки были успешно использованы в моделях последовательность-последовательность для перевода в Изучение последовательности в последовательность с помощью нейронных сетей [11].

В Обнаружении парафраз с использованием рекурсивного автоэнкодера представлена ​​новая архитектура рекурсивного автоэнкодера. Представления - это векторы в n-мерном семантическом пространстве, где фразы с одинаковым значением близки друг к другу [12].

7. Мелкие нейронные сети.

Помимо глубоких нейронных сетей, мелкие модели также являются популярными и полезными инструментами. Например, word2vec - это группа неглубоких двухслойных моделей, которые используются для создания встраивания слов. Представленный в Эффективной оценке представлений слов в векторном пространстве, word2vec принимает на вход большой корпус текста и создает векторное пространство [13]. Каждое слово в корпусе получает соответствующий вектор в этом пространстве. Отличительной особенностью является то, что слова из общих контекстов корпуса расположены близко друг к другу в векторном пространстве.

Резюме

В этой статье мы описали различные варианты искусственных нейронных сетей, такие как глубокий многослойный перцептрон (MLP), сверточная нейронная сеть (CNN), рекурсивная нейронная сеть (RNN), рекуррентная нейронная сеть (RNN), долговременная краткосрочная память (LSTM). ), модель от последовательности к последовательности и мелкие нейронные сети, включая word2vec для встраивания слов. Мы показали, как работают эти сети и как их разные типы используются в задачах обработки естественного языка. Мы продемонстрировали, что сверточные нейронные сети в основном используются для задач классификации текста, в то время как рекуррентные нейронные сети обычно используются для генерации естественного языка или машинного перевода. В следующей части этой серии мы изучим существующие инструменты и библиотеки для обсуждаемых типов нейронных сетей.

Ресурсы

1. http://www.aclweb.org/anthology/D14-1181

2. https://arxiv.org/pdf/1502.01710.pdf

3. http://www.aclweb.org/anthology/P15-1128

4. https://www.aclweb.org/anthology/K15-1013

5. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/CNN_ASLPTrans2-14.pdf

6. https://en.wikipedia.org/wiki/Recursive_neural_network

7. http://www.meanotek.ru/files/TarasovDS(2)2015-Dialogue.pdf

8. https://www.aaai.org/ocs/index.php/AAAI/AAAI15/paper/view/9745/9552

9. https://wiki.inf.ed.ac.uk/twiki/pub/CSTR/ListenTerm1201415/sak2.pdf

10. https://arxiv.org/pdf/1510.06168.pdf

11. https://arxiv.org/pdf/1409.3215.pdf

12. https://nlp.stanford.edu/courses/cs224n/2011/reports/ehhuang.pdf

13. https://arxiv.org/pdf/1301.3781.pdf