Рекуррентные нейронные сети

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

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

В первых рекуррентных сетях главной идеей было дать сети видеть свой выходной образ на предыдущем шаге. У такой сети только часть рецепторов принимает сигналы из окружающего мира, на другие рецепторы приходит выходной образ из предыдущего момента времени. Рассмотрим прохождение последовательности сигналов через сеть. Сигнал поступает на группу рецепторов соединенных с внешним миром (INPUT) и проходит в скрытый слой (HIDDEN). Преобразованный скрытым слоем сигнал пойдет на выходной слой (OUTPUT) и выйдет из сети, а его копия попадет на задержку. Далее в сеть, на рецепторы, воспринимающие внешние сигналы, поступает второй образ, а на контекстную группу рецепторов (CONTEXT) — выходной образ с предыдущего шага из задержки. Далее со всех рецепторов сигнал пойдет в скрытый слой, затем на выходной.

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

Одной из ключевых идей рекуррентных сетей является то, что они должны быть способны использовать предшествующую информацию для решения текущей задачи, например, использовать информацию о предыдущем кадре видео для обработки текущего кадра. Если бы рекуррентные сети могли это делать, они были бы чрезвычайно полезны. Иногда для выполнения текущей задачи нам необходима только недавняя информация. Например, рассмотрим языковую модель, которая пытается предсказать следующее слово на основе предыдущих. Если мы хотим предсказать последнее слово фразы «облака в небе», то здесь не требуется дополнительный контекст, потому что и так очевидно, что последним словом будет «небо». В подобных случаях, когда «расстояние» от места появления необходимой информация до места ее применения небольшое, рекуррентная сеть может успешно использовать эту информацию. Но с увеличением этого расстояния результаты ухудшаются. Для решения этой проблемы были созданы LSTM-сети.

LSTM-сеть – это особый тип рекуррентной нейронной сети, способной обучаться долговременным зависимостям. LSTM-сети были представлены в работе Hochreiter and Schmidhuber, 1997, а затем оптимизированы и популяризированы во многих последующих работах. Такие сети прекрасно справляются с решением многих задач и находят широкое применение в данное время. Архитектуру LSTM-сети мы рассмотрим в следующей статье.

Тэги: lstm-сети искусственный интеллект нейронные сети сеть джордана сеть элмана


 


 
архив

подписка