神经网络学习(2):FFNN,P,RNN,LSTM,GRU……

THE NEURAL NETWORK ZOO
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
其中大多数是神经网络,但也有些完全不同。此列表并不全面,仍需不断更新。

将它们绘制为节点映射的一个问题是:它并没有真正显示它们是如何被使用的。 例如,变分自动编码机(VAE)可能看起来就像自动编码机(AE),但训练过程实际上是完全不同的。受过训练的网络的用例差别更大,因为VAE是生成器,可以在其中插入噪声以获取新样本。AEs,只需将它们获得的所有内容作为输入映射到它们“记住”的最接近的训练样本。每个不同节点类型如何在内部工作参考:神经网络学习(1):cells +layers

尽管大多数简写都已被普遍接受,但也出现一些冲突。RNNs有时表示递归神经网络(recursive neural networks),但大多时候指的是循环神经网络(recurrent neural networks),在许多地方还会泛指各种循环架构。类似的还有LSTMs、GRU甚至是双向变体(the bidirectional variants)。AEs也会面临同样的问题,VAEs、DAEs及其相似结构有时都被简称为AEs。很多缩写后面的“N”也会变化,因为同一个架构既可称为卷积神经网络(convolutional neural network),也可简称为卷积网络(convolutional network),这样就出现了CNN和CN两种形式。

1、前馈神经网络(Feed forward neural networks,FF or FFNN)和感知机(perceptrons,P)
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
前馈神经网络(FF或FFNN)和感知机(P)非常直接,它们将信息从前面反馈到后面(分别是输入和输出)。神经网络通常被描述为具有多个层,其中每个层由并行的输入、隐藏或输出神经元组成。单独的一层不会有连接,通常相邻的两层是全连接的(一层的每个神经元连接到另一层的每个神经元)。最简单实用的网络有两个输入神经元和一个输出神经元,可用来建模逻辑门。

人们通常通过 反向传播算法(back propagation) 来训练FFNNs,给网络一对数据集(输入数据集+期望的输出数据集),这叫做监督学习,而不是只给它输入,让网络来填补空白的非监督学习。反向传播的错误通常是输入和输出之间的差异的一些变体(如MSE或只是线性差值)。假设网络有足够多的隐藏神经元,理论上它总是可以模拟输入和输出之间的关系。实际上,它们的使用非常有限,但是它们通常与其他网络结合在一起形成新的网络。

Rosenblatt, Frank. “The perceptron: a probabilistic model for information storage and organization in the brain.” Psychological review 65.6 (1958): 386.
https://www.ling.upenn.edu/courses/cogs501/Rosenblatt1958.pdf

2、径向基神经网络(Radial basis function,RBF)
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
径向基函数(RBF)网络是具有径向基函数作为**函数的FFNN,没有更多描述,并不意味着它们没有应用。大多数具有其他**函数的FFNN都没有自己的名字,或许与发明年代有关。

Broomhead, David S., and David Lowe. Radial basis functions, multi-variable functional interpolation and adaptive networks. No. RSRE-MEMO-4148. ROYAL SIGNALS AND RADAR ESTABLISHMENT MALVERN (UNITED KINGDOM), 1988.
http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA196234

3、循环 / 递归神经网络(Recurrent neural networks,RNN)
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
递归神经网络(RNN)是具有时间联结的FFNNs:它们具有状态,在通道之间有联系,时间上有联系。

神经元的输入包含前一层输出的信息,和自身在先前通道的信息。这意味着给定输入和训练网络的顺序很重要:先给它“牛奶”再给它“饼干”,与先给它“饼干”再给它“牛奶”相比,可能会产生不同的结果。

RNNs的一个大问题是梯度消失或梯度爆炸(取决于使用的**函数),随着时间的推移,信息迅速丢失,就像深层的FFNNs在深度上丢失信息一样。直觉上这不会是大问题,因为这些只是权重而不是神经元的状态,但是时间的权重实际上是储存来自过去的信息的地方,如果权重达到0或1,000 000,则先前的状态就不会提供太多信息。

RNNs原则上可以在许多领域中使用,因为大多数没有时间轴的数据形式(不像语音和视频)都可以表示为序列。一张图片或一串文本可以一次输入一个像素或字符,时间相关的权重用于表示在序列中先前发生的内容,而不是x秒之前发生的内容。一般来说,推测或补全信息时,递归网络是一个很好的选择,如自动补全。

Elman, Jeffrey L. “Finding structure in time.” Cognitive science 14.2 (1990): 179-211.
https://crl.ucsd.edu/~elman/Papers/fsit.pdf

4、长 / 短期记忆网络(Long / short term memory (LSTM) networks)
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
长/短期记忆(LSTM)网络,试图通过引入门结构和显式定义的记忆神经元来解决梯度消失、梯度爆炸的问题。

灵感主要来自电路,而不是生物学。每个神经元都有一个记忆单元和三个门:输入、输出和遗忘。这些门的功能是通过阻止或允许信息流动来保护信息。

输入门决定从前一层接受多少信息存储在记忆单元中。输出门在另一端确定当前神经元输出多少信息给下一层。遗忘门乍看很奇怪,但有时候遗忘一些信息是有好处的:例如,在学习一本书时,翻开了新的一章,那么网络可能有必要忘记前一章中的一些字符。

LSTMs已经被证明能够学习复杂的序列,比如像莎士比亚那样的写作,或者创作原始音乐。注意,每一个门对应于前一个神经元中的记忆单元都有一个权重,因此通常需要更多的计算资源。

Hochreiter, Sepp, and Jürgen Schmidhuber. “Long short-term memory.” Neural computation 9.8 (1997): 1735-1780.
https://www.bioinf.jku.at/publications/older/2604.pdf

5、门循环单元(Gated recurrent units,GRU)
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
门循环单元(GRU)是LSTMs的一个轻量级变体。 它们少了一个门,连接方式略有不同:只有更新门和重置门。

更新门决定了从最后的状态中保留多少信息,以及从前一层接受多少信息。重置门的功能很像LSTM的遗忘门,但是它的位置略有不同,总是输出完整状态,没有输出门。在大多数情况下,它们的功能与LSTMs非常相似,最大的区别是GRUs运行起来稍微快一些,也更容易一些(但是函数表达能力也稍微差一些)。

在实践中,优势和劣势往往相互抵消,当需要一个更大的网络来重新获得一些函数表达力时,反过来又抵消了性能优势。在某些不需要额外函数表达力的情况下,GRUs的综合性能胜过LSTMs。

Chung, Junyoung, et al. “Empirical evaluation of gated recurrent neural networks on sequence modeling.” arXiv preprint arXiv:1412.3555 (2014).
https://arxiv.org/pdf/1412.3555v1.pdf

6、双向循环神经网络(Bidirectional recurrent neural networks,BiRNN)
7、双向长/短期记忆网络(bidirectional long / short term memory networks,BiLSTM)
8、双向门控循环单元(bidirectional gated recurrent units,BiGRU)

图中没有显示双向循环神经网络、双向长/短期记忆网络和双向门控循环单元(BiRNN、BiLSTM和BiGRU),因为它们看起来与单向神经网络结构完全相同。

不同之处在于,这些网络不仅与过去的状态相连,还与未来的状态相连。例如,单向LSTMs可以通过逐个输入字母来训练预测单词“fish”,其中通过时间上循环连接记住最后的值。BiLSTM则是在向后传递时还输入了序列中的下一个字母,使得它可以访问未来的信息。这就训练了网络来填补信息之间的空白,而不是预测信息。因此它可以填补图像中间的缺失,而不是在边缘扩展图像。

Schuster, Mike, and Kuldip K. Paliwal. “Bidirectional recurrent neural networks.” IEEE Transactions on Signal Processing 45.11 (1997): 2673-2681.
http://www.di.ufpe.br/~fnj/RNA/bibliografia/BRNN.pdf

9、自动编码机(Autoencoders ,AE )
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
自动编码机(AE)有点类似于FFNNs,因为AEs更像是FFNNs的另一种用法,而不是一种根本不同的体系结构。自动编码器的基本思想是自动编码信息(如压缩,而不是加密),因此得名。

整个网络总是像一个沙漏形状,隐藏层比输入层和输出层更小。AEs也总是围绕中间层对称(一层或两层取决于神经网络层数的奇偶)。最小的层总是在中间,这是信息压缩程度最大的地方(网络的阻塞点/关隘口)。中间层之前的是编码部分,中间层之后的是解码部分,中间层是编码。

使用反向传播算法训练,给定输入,误差设置为输入和输出之间的差。AEs的权值是对称的,因此编码权值与解码权值相同。

Bourlard, Hervé, and Yves Kamp. “Auto-association by multilayer perceptrons and singular value decomposition.” Biological cybernetics 59.4-5 (1988): 291-294.
https://pdfs.semanticscholar.org/f582/1548720901c89b3b7481f7500d7cd64e99bd.pdf

10、变分自编码机(Variational autoencoders ,VAE)
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
变分自编码器(VAE)具有与AEs相同的体系结构,但是“被教授”了其他一些东西:输入样本的近似概率分布。使得它与BMs和RBMs更相近。 它们依赖贝叶斯数学的概率推理和独立性,以及重新参数化的技巧来实现这种不同的表示。推理和独立部分是直观的,有意义的,但是依赖于一些复杂的数学运算。

基本原理是:考虑影响力。如果一件事发生在一个地方,另一件事发生在另一个地方,它们不一定相关。如果它们不相关,那么误差传播应该考虑这一点。这是一种有用的方法,因为神经网络是大型图(在某种程度上),当深入到更深的层次时,如果能够排除某些节点对其他节点的影响,将会很有帮助。

Kingma, Diederik P., and Max Welling. “Auto-encoding variational bayes.” arXiv preprint arXiv:1312.6114 (2013).
https://arxiv.org/pdf/1312.6114v10.pdf

11、去噪自编码机(Denoising autoencoders,DAE)
神经网络学习(2):FFNN,P,RNN,LSTM,GRU……
去噪自编码机

相关文章:

  • 2021-07-07
  • 2021-07-02
  • 2021-12-13
  • 2021-06-08
  • 2021-11-20
  • 2021-04-03
  • 2021-11-09
  • 2022-01-09
猜你喜欢
  • 2021-07-15
  • 2021-04-13
  • 2021-07-22
  • 2021-07-19
  • 2021-06-12
  • 2021-06-06
  • 2022-02-09
相关资源
相似解决方案