В чем разница между прямой связью и рекуррентными нейронными сетями?


59

В чем разница между прямой и рекуррентной нейронной сетью?

Почему вы используете один поверх другого?

Существуют ли другие сетевые топологии?


Ответы:


57

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

Сеть прямой связи

Сети обратной связи (или периодические или интерактивные) могут иметь сигналы, распространяющиеся в обоих направлениях, путем введения петель в сети. Сети обратной связи являются мощными и могут быть чрезвычайно сложными. Вычисления, полученные из более раннего ввода, возвращаются в сеть, что дает им вид памяти. Сети обратной связи динамичны; их «состояние» непрерывно меняется, пока они не достигнут точки равновесия. Они остаются в точке равновесия до тех пор, пока не изменится входной сигнал и не будет найдено новое равновесие.

архитектура обратной связи

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

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

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

(Диаграммы взяты с веб-сайта Даны Враджитору по искусственному интеллекту C463 / B551 .)


2
Считает ли сеть с прямой связью, которая итеративно использует свои выходы как входы, как рекуррентную сеть?
naught101

1
Да, это действительно так.
Bayerj

2
Мой предыдущий комментарий был неверным. Часть этого поста была, казалось бы, плагиатом этого человека (за исключением нескольких незначительных изменений в словах) без всяких заслуг.
Glen_b

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

14

То, что пишет Джордж Донтас, верно, однако использование RNN на практике сегодня ограничивается более простым классом задач: временными рядами / последовательными задачами.

В то время как сети с прямой связью используются для изучения наборов данных, таких как где и - векторы (например, , для рекуррентных сетей всегда буду последовательностью, например .(i,t)itiRnii(Rn)

Было показано, что RNN могут представлять любую измеримую последовательность для отображения последовательности по Хаммеру.

Таким образом, в настоящее время RNN используются для всех видов последовательных задач: прогнозирование временных рядов, маркировка последовательностей, классификация последовательностей и т. Д. Хороший обзор можно найти на странице Шмидхубера по RNN .


«Хотя сети с прямой связью используются для изучения наборов данных, таких как (i, t), где i и t - векторы (например, i∈Rn, для рекуррентных сетей я всегда буду последовательностью, например, i∈ (Rn) ∗». Я знаю, что этот вопрос был спросил давно, но не могли бы вы объяснить, что это значит с точки зрения непрофессионала? Мне нужно обосновать причину, по которой я выбрал использование сети прямой связи через RNN для моего проекта, и я думаю, что это может быть причиной. И / Или, можете ли вы связать меня с источником, который позволит мне сделать это оправдание? После поиска я не могу найти его сам. Спасибо, любой ответ очень ценится!
Blue7

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

1

Что действительно интересно задавать этот вопрос?

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

Фон

Были дебаты по моделированию динамической системы между рекуррентной нейронной сетью и нейронной сетью Feedforward с дополнительными функциями, такими как предыдущие задержки (FNN-TD).

Насколько мне известно, после прочтения этих работ в 90-х ~ 2010-х. Большинство литературы предпочитают, чтобы ванильный RNN был лучше, чем FNN, поскольку RNN использует динамическую память, а FNN-TD - статическая память.

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

В чем ключевое отличие в том, как лечить эффекты памяти между RNN и FNN-TD?

К сожалению, я нигде не вижу, и любая публикация теоретически показала разницу между этими двумя. Это довольно интересно. Давайте рассмотрим простой случай, использующий скалярную последовательность для прогнозирования . Так что это задача последовательности в скаляр.Xn,Xn1,,XnkXn+1

FNN-TD является наиболее общим и всеобъемлющим способом лечения так называемых эффектов памяти . Так как это жестоко, оно теоретически охватывает любой вид, любой вид, любой эффект памяти. Единственным недостатком является то, что на практике требуется слишком много параметров.

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

Моя гипотеза «степень свободы» в этом процессе свертки определяется количеством скрытых блоков в РНН состояния . И это важно для некоторых динамических систем. Обратите внимание, что «степень свободы» может быть расширена за счет внедрения состояний с задержкой по времени [2] при сохранении того же количества скрытых единиц.s

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

Я знаю, что кто-то может упомянуть, что RNN обладает эффектом длительного времени, а FNN-TD - нет. Для этого я просто хочу упомянуть, что для непрерывной автономной динамической системы, из теории вложения Такенса, это общее свойство существования вложения для FNN-TD с, по-видимому, короткой временной памятью для достижения той же производительности, что и, казалось бы, долгое время. память в РНН. Это объясняет, почему RNN и FNN-TD не сильно отличаются в примере с непрерывной динамической системой в начале 90-х годов.

Теперь я упомяну о пользе RNN. Для задачи автономной динамической системы, использующей больше предыдущих терминов, хотя фактически это было бы то же самое, что и использование FNN-TD с меньшим количеством предыдущих терминов в теории, численно это было бы полезно в том смысле, что оно более устойчиво к помехам. Результат в [1] согласуется с этим мнением.

Ссылка

[1] Генсай, Рамазан и Тун Лю. «Нелинейное моделирование и прогнозирование с использованием прямых и рекуррентных сетей». Physica D: нелинейные явления 108.1-2 (1997): 119-134.

[2] Пан, Шауу и Картик Дурайсами. «Обнаружение моделей замыкания на основе данных». Препринт arXiv arXiv: 1803.09318 (2018).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.