Каковы преимущества рекуррентных нейронных сетей при их использовании с обучением с подкреплением?

StackOverflow https://stackoverflow.com/questions/1783389

Вопрос

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

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

Это было полезно?

Решение

Рекуррентные нейронные сети, сокращенно RNN (хотя имейте в виду, что РНН часто используется в литературе для обозначения Случайные нейронные сети, которые фактически являются частным случаем рекуррентной NN), имеют очень разные «ароматы», что заставляет их проявлять различное поведение и характеристики.Однако в целом эти многочисленные оттенки поведения и характеристик коренится в наличии обратной связи для отдельных нейронов.Такая обратная связь поступает из других частей сети, локальных или удаленных, с того же уровня (включая в некоторых случаях «собственный») или даже с разных уровней (*).Информацию обратной связи он воспринимает как «нормальный» входной сигнал нейрона и затем может влиять, по крайней мере частично, на его выходной сигнал.

В отличие от обратное распространение который используется на этапе обучения В сети прямой связи с целью точной настройки относительных весов различных соединений [только с прямой связью] обратная связь в RNN представляет собой настоящий вход для нейронов, к которым они подключаются.

Одним из способов использования обратной связи является сделать сеть более устойчивой к шуму и другим несовершенствам входных данных (т.е. вход сети в целом).Причина этого в том, что в дополнение к входным данным, «непосредственно» относящимся к входным данным сети (типам входных данных, которые присутствовали бы в сети прямой связи), нейроны имеют информацию о том, что «думают» другие нейроны.Эта дополнительная информация затем приводит к Хеббианское обучение, т.е.идея о том, что нейроны, которые [обычно] срабатывают вместе, должны «поощрять» друг друга срабатывать.С практической точки зрения этот дополнительный входной сигнал от «однотипных» соседних нейронов (или «не-соседей») может побудить нейрон сработать, даже если его входные сигналы без обратной связи могли быть такими, что он не сработал бы (или сработал менее сильно, в зависимости от типа сети).

Примером такой устойчивости к несовершенству входных данных является ассоциативная память, обычное использование RNN.Идея состоит в том, чтобы использовать информацию обратной связи, чтобы «заполнить пробелы».

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

Еще одно чрезвычайно важное применение обратной связи заключается в том, что в некоторых архитектурах она может ввести в систему временной элемент.Конкретный вход [обратной связи] может не столько инструктировать нейрон о том, что он «думает» [сейчас], сколько вместо этого «напоминать» нейрону, что, скажем, два цикла назад (независимо от того, какие циклы могут обозначать) состояние сети (или одно из это подгосударство) было «X».Такая способность «помнить» [обычно] недавнее прошлое является еще одним фактором устойчивости к шуму во входных данных, но ее основной интерес может заключаться во внедрении «предсказания» в процесс обучения.Эти входные данные с задержкой по времени можно рассматривать как прогнозы из других частей сети:«Я услышал шаги в коридоре, ожидаю услышать дверной звонок [или шарканье ключей]».

(*) Кстати, такая широкая свобода в «правилах», определяющих разрешенные соединения, будь то обратная связь или прямая связь, объясняет почему существует так много разных архитектур RNN и их вариации).Другая причина такого большого количества различных архитектур заключается в том, что одна из характеристик RNN заключается в том, что они не так легко поддаются математической или иной обработке по сравнению с моделью с прямой связью.В результате, руководствуясь математическим пониманием или простым методом проб и ошибок, опробуется множество различных возможностей.

Это не означает, что сеть обратной связи представляет собой тотальный черный ящик. На самом деле некоторые из RNN, такие как Сети Хопфилда довольно хорошо понятны.Просто математика обычно сложнее (по крайней мере для меня ;-))

Я думаю, что вышеизложенное, в общем (слишком общем!), адресовано пожранный Элизиум(ОП) вопросы "что вместо этого делает RNN", и "общие задачи, для которых они используются".Чтобы многие дополнили эту информацию, вот неполный и неформальный обзор приложений RNN.Трудностей при составлении такого списка множество:

  • перекрытие приложений между сетями прямой связи и RNN (в результате это скрывает специфику RNN)
  • зачастую узкоспециализированный характер приложений (мы либо остаемся в слишком скучных понятиях типа «классификация», либо погружаемся в «Прогнозирование сдвигов углерода в рядах насыщенных бензолов» ;-) ) )
  • шумиха, часто связанная с нейронными сетями, когда ее описывают в вульгаризирующих текстах

В любом случае, вот список

  • моделирование, в частности изучение [часто нелинейных] динамических систем
  • Классификация (теперь для этого также используется FF Net...)
  • Комбинаторная оптимизация

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

  • Обнаружение движения
  • прогнозирование нагрузки (как в случае с коммунальными услугами или услугами:прогнозирование нагрузки в краткосрочной перспективе)
  • обработка сигнала :фильтрация и контроль

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top