前馈神经网络和递归神经网络有什么区别?


Answers:


57

前馈 ANN仅允许信号传播一种方式:从输入到输出。没有反馈(循环);,任何层的输出都不会影响同一层。前馈ANN往往是将输入与输出相关联的简单网络。它们被广泛用于模式识别。这种类型的组织也称为自下而上或自上而下。

前馈网络

通过在网络中引入环路,反馈(或递归或交互式)网络可以具有双向传播的信号。反馈网络功能强大,并且可能变得极为复杂。从早期输入得出的计算将反馈到网络中,从而为它们提供了一种存储空间。反馈网络是动态的;他们的“状态”不断变化,直到达到平衡点。它们保持在平衡点,直到输入发生变化并且需要找到新的平衡为止。

反馈架构

前馈神经网络非常适合于对一组预测变量或输入变量与一个或多个响应变量或输出变量之间的关系进行建模。换句话说,它们适用于任何我们想知道许多输入变量如何影响输出变量的功能映射问题。多层前馈神经网络,也称为多层感知器(MLP),在实践中是最广泛研究和使用的神经网络模型。

作为反馈网络的一个例子,我可以回想一下Hopfield的网络。Hopfield网络的主要用途是作为关联内存。关联存储器是一种接受输入模式并生成输出作为与输入最紧密相关的存储模式的设备。关联存储器的功能是调用相应的存储模式,然后在输出端生成模式的清晰版本。Hopfield网络通常用于解决二进制模式向量的问题,并且输入模式可能是所存储模式之一的嘈杂版本。在Hopfield网络中,存储的模式被编码为网络的权重。

Kohonen的自组织地图(SOM)表示另一种神经网络类型,与前馈多层网络明显不同。与前馈MLP中的训练不同,SOM训练或学习通常称为无监督训练,因为SOM中没有与每个输入模式相关的已知目标输出,并且在训练过程中,SOM处理输入模式并学习对数据进行聚类或分段通过调整权重(使其成为减少维度和数据聚类的重要神经网络模型)。通常以保留输入之间相互关系的顺序的方式创建二维地图。群集的数量和组成可以根据训练过程生成的输出分布在视觉上确定。仅训练样本中有输入变量,

(这些图来自Dana Vrajitoru的C463 / B551人工智能网站。)


2
迭代地将其输出用作输入的前馈网络是否算作递归网络?
naught101

1
是的,确实如此。
bayerj 2014年

2
我以前的评论是错误的。该帖子的部分内容似乎被此人窃(除了几个小的字词更改),没有任何信誉。
Glen_b 2015年

1
我试图从数学上理解为什么RNN优于前馈网络。是否有任何示例很难通过前馈ANN进行近似,而使用RNN则很容易。
pikachuchameleon

14

乔治·唐塔斯(George Dontas)的写作是正确的,但是今天在实践中使用RNN仅限于一类简单的问题:时间序列/顺序任务。

尽管前馈网络用于学习像数据集其中和是向量(例如,但对于递归网络,始终是序列,例如。(i,t)itiRnii(Rn)

已经证明RNN能够代表任何可测量的序列到Hammer的序列映射。

因此,如今,RNN已用于各种顺序任务:时间序列预测,序列标记,序列分类等。有关RNN的Schmidhuber页面,可以找到很好的概述。


“虽然前馈网络用于学习像(i,t)这样的数据集,其中i和t是向量(例如i∈Rn,但对于递归网络,我将始终是一个序列,例如i∈(Rn)∗”“我知道这个问题是问了很久以前,但是您介意用外行的术语解释这意味着什么吗?我需要证明我选择在RNN上为我的项目使用前馈网络的原因,并且我认为这可能是原因。或者,您可以将我链接到使我能够证明这一观点的来源吗?在搜索后我自己找不到自己了,谢谢,非常感谢任何回答!
Blue7 2014年

这个答案现在有点过时了。尽管RNN很自然地将其用于序列数据,但它们也可以用于对静态输入(例如图像或其他)进行预测。请参阅:循环卷积神经网络,用于物体识别循环回路对腹侧流执行核心物体识别行为至关重要的证据
Firebug,

1

问这个问题真正有趣的是什么?

不用说RNN和FNN的名称是不同的。因此它们是不同的。,我认为更有趣的是在动力学系统建模方面,RNN与FNN有很大不同吗?

背景

对于在递归神经网络和前馈神经网络之间建模具有附加功能(如先前的时延(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中的存储器不过是表示先前信息的一般“卷积”而已。我们都知道,两个标量序列之间的卷积通常不是可逆的过程,并且反卷积通常是不适当的。

我的推测是在这种卷积过程中的“自由度”由RNN状态中隐藏单元数量确定。这对于某些动力系统很重要。注意,通过保持状态 [2] 的时间延迟嵌入可以扩展“自由度” 同时保持相同数量的隐藏单元。s

因此,RNN实际上通过进行卷积而压缩了先前的内存信息,而FNN-TD只是在某种意义上公开了它们而没有内存信息的损失。请注意,与普通RNN相比,您可以通过增加隐藏单元的数量或使用更多的时间延迟来减少卷积中的信息丢失。从这个意义上讲,RNN比FNN-TD更灵活。RNN不会像FNN-TD那样实现内存丢失,并且可以很容易地显示出参数数量处于相同的顺序。

我知道有人可能想提一下RNN具有长期影响,而FNN-TD却没有。为此,我只想提到一个连续的自治动力学系统,从Takens嵌入理论来看,FNN-TD的嵌入是一种通用属性,具有看似短时的记忆,可以实现与看似长时的性能相同的性能。 RNN中的内存。它解释了为什么RNN和FNN-TD在90年代初的连续动力系统示例中没有太大区别。

现在,我将提到RNN的好处。对于自主动力系统的任务,使用更多的前项,尽管在理论上与使用较少前项的FNN-TD相同,但在数值上会有所帮助,因为它对噪声更鲁棒。[1]中的结果与此观点一致。

参考

[1]Gençay,Ramazan和Tung Liu。“具有前馈和递归网络的非线性建模和预测。” 物理学D:非线性现象108.1-2(1997):119-134。

[2]潘,邵武和Karthik Duraisamy。“数据驱动的封闭模型发现”。arXiv预印本arXiv:1803.09318(2018)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.