史上最好记的神经网络结构速记表

原文THE NEURAL NETWORK ZOO,出自Asimov人工智能研究所。前端

新的神经网络结构不断涌现,咱们很难一一掌握。哪怕一开始只是记住全部的简称( DCIGN,BiLSTM,DCGAN ),也会让同窗们吃不消。后端

因此我决定写篇文章概括概括,各类神经网络结构。它们大部分都是神经网络,也有一些是彻底不一样的结构。虽然全部结构提及来都是新颖而独特的,但当我画出结点的结构图时……它们之间的内在联系显得更有意思。网络

总表less

史上最好记的神经网络结构速记表(下)

13函数

史上最好记的神经网络结构速记表(下)

反卷积网络(DN)又名逆向图网络(IGN),是卷积神经网络的逆转。举个栗子:输入“猫”这个词,经过对比网络生成的图像和猫的真实图像来训练网络,使网络产生更像猫的图像。DN 能够像常规 CNN 那样与 FFNN 相结合,这样就须要给它一个新的“缩写”了。“深度反卷积网络”的称呼大概可行,但你可能会反驳说,分别把 FFNN 接在 DN 的前端或后端时,应该用两个不一样的名字来指代。性能

在大多数应用场合,输入网络的不是文字式的类别信息而是二值向量。 如 表示猫, 表示狗, 表示猫和狗。在 DN 中,CNN常见的采样层被相似的反向操做替换,主要有插值方法和带有偏置假设的外推方法等等(若是采样层使用最大值采样,能够在作逆向操做时单独制造出一些比最大值小的新数据。)学习

Zeiler, Matthew D., et al. “Deconvolutional networks.” Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010.编码

14人工智能

史上最好记的神经网络结构速记表(下)

深度卷积逆向图网络(DCIGN)的名称有必定的误导性,它其实是一类变分自动编码器(VAE),只不过度别用 CNN 做编码器、DN 做解码器了。DCIGN 在编码时试图将“特征”以几率建模,这样一来就算仅仅学习了只有猫或狗一方存在的图像,它也可以学着去产生猫狗共存的图片。假如一张照片里既有猫,又有邻居家那条讨厌的狗,你能够把照片输入网络,让网络自动把那条狗扒出去,而无须额外的操做。演示程序代表,该网络还能学习对图像作复杂的变换,好比改变光源和旋转3D物体。该网络一般使用反向传播来训练。lua

Kulkarni, Tejas D., et al. “Deep convolutional inverse graphics network.” Advances in Neural Information Processing Systems. 2015.

15

史上最好记的神经网络结构速记表(下)

生成对抗网络(GAN)源出另外一类网络,它由两个成对的网络协同运做。GAN 由任意两个的网络组成(不过一般是 FFNN 和 CNN 的组合),一个用来生成,另外一个用来判别。判别网络的输入是训练数据或者生成网络产生的内容,它正确区分数据来源的能力构成了生成网络错误水平的表现的一部分。这样就造成了一种竞争形式:判别器愈来愈擅长区分真实数据和生成数据,与此同时生成器不断学习从而让判别器更难区分。有时候,这样的机制效果还不错,由于即使是至关复杂的类噪声模式最终都是可预测的,但与输入数据特征类似的生成数据更难区分。GAN 很难训练——你不只须要训练两个网络(它们可能都有本身的问题),还要很好地平衡它们的动态状况。若是预测或者生成任意一方比另外一方更强,这个 GAN 就不会收敛,而是直接发散掉了。

Goodfellow, Ian, et al. “Generative adversarial nets.” Advances in Neural Information Processing Systems. 2014.

16

史上最好记的神经网络结构速记表(下)

循环神经网络(RNN)是带有“时间结”的 FFNN。RNN 不是无状态的[1],它既存在层间的联系,也存在时间上的联系。输入到神经元的信息不只由上一层传来,还来自前次传递时神经元自身的状态。这意味着输入和训练网络的顺序很关键:先输入“牛奶”、再输入“曲奇”,与先输入“曲奇”再输入“牛奶”会获得不一样的结果。RNN 的一大问题是,使用不一样的激励函数会各自形成梯度弥散或者爆炸,这样会让信息随时间变化而迅速流失,就像在极深 FFNN 中随深度增长而流失同样。乍一看好像不是什么大问题,由于这些信息只是权重而不是神经元的状态。

可是,不一样时间上的权值实际存储了来自过去的信息,而若是权值变成了 0 或 100 0000,就无所谓以前的状态了。大致上说,RNN 能够用在不少领域。尽管大部分数据并不存在形如音频、视频之类的时间线,但不妨把它们表示为序列的形式。图像、文字序列能够用每次一个像素、字符的方式来输入,这样,时间相关的权值并不是来自前 x 秒出现的状态,而是对序列早前状态的表示。一般来讲,循环网络善于预测和补全信息,好比能够用来作自动的补全。

[1] “无状态的(stateless)”,意为“输出仅由本时刻的输入决定”。RNN 因为部分“记忆”了以前输入的状态,因此是“有状态的(stateful)”。——译注。

Elman, Jeffrey L. “Finding structure in time.” Cognitive science 14.2 (1990): 179-211.

17

史上最好记的神经网络结构速记表(下)

长短时记忆(LSTM)网络试图经过引进“门”和定义明确的记忆单元来对抗梯度弥散/爆炸问题。相较生物学,它更多受到电路学的启发。每一个神经元有一个记忆单元和输入、输出、遗忘三个门。门的做用是经过阻止和容许信息的流动来实现对信息的保护。输入门决定了前一层的信息有多少可以存储在当前单元内;另外一端的输出门决定了后一层可以在当前单元中获取多少信息;遗忘门乍看起来有点奇怪,但“遗忘”有时候是对的——好比正在学习一本书,而后新的一章开始了,这时候网络可能得忘掉一些在上一章中学到的文字。LSTM 可以学习复杂的序列,能够像莎士比亚同样写做、创做新的乐曲。因为每一个门对都有对前一个神经元的权重,网络运行须要更多的资源。

Hochreiter, Sepp, and Jürgen Schmidhuber. “Long short-term memory.” Neural computation 9.8 (1997): 1735-1780.

18

史上最好记的神经网络结构速记表(下)

门控循环单元(GRU)由LSTM的稍做变化而来。GRU 减小了一个门,还改变了链接方式:更新门取代了输入、输出、遗忘门。更新门决定了分别从上一个状态和前一层网络中分别保留、流入多少信息;重置门很像 LSTM 的遗忘门,不过位置稍有改变。GRU 会直接传出所有状态,而不是额外经过一个输出门。一般,GRU 与 LSTM 功能接近,最大的区别在于, GRU 速度更快、运行也更容易(不过表达能力稍弱)。实践中运行性能可能与表达能力相互抵消:运行一个更大的网络来得到更强的表达能力时,运行性能的优点会被压制。而在不须要额外的表达能力时,GRU 的性能超过 LSTM。

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

19

史上最好记的神经网络结构速记表(下)

神经图灵机(NTM)能够理解为 LSTM 的抽象形式。它试图将神经网络“去黑盒化”,从而让咱们部分了解神经网络内部发生了什么。不一样于直接把记忆单元编码进神经元,NTM 的记忆被分开了。NTM 想把常规数字化存储的高效性与持久性、神经网络的高效性与表达能力结合起来;它的设想是,创建内容可寻址的记忆组,以及可读写这个记忆组的神经网络。“神经图灵机”中的“图灵”是说它是图灵完备的:可以读、写,以及根据读入内容改变状态。这就是说,它能够表达通用图灵机所能表达的一切。

Graves, Alex, Greg Wayne, and Ivo Danihelka. “Neural turing machines.” arXiv preprint arXiv:1410.5401 (2014).

20

双向循环网络,双向长短时记忆网络和双向门控循环单元(BiRNN,BiLSTM 和 BiGRU)同它们的单向形式看上去彻底同样,因此不画出来了。区别在于,这些网络不只与过去的状态链接,还与将来的状态链接。举例来讲,让单向 LSTM 经过依次输入字母的形式训练,来预测单词 “fish”,此时时间轴上的循环链接就记住了以前状态的值。而双向 LSTM 在反向传值的时候会继续获得序列接下来的字母,即得到了将来的信息。这就教会了网络填补空隙、而不是预测信息——它们不是去扩展图像的边缘,而是填充图像的中空。

Schuster, Mike, and Kuldip K. Paliwal. “Bidirectional recurrent neural networks.” IEEE Transactions on Signal Processing 45.11 (1997): 2673-2681.

21

史上最好记的神经网络结构速记表(下)

深度残差网络(DRN)是在逐层链接的基础上,带有额外层间链接(一般间隔二到五层)的极深 FFNN。DRN 不像常规网络那样,力求解得输入到输出通过多层网络传递后的映射关系;它往解中添加了一点儿恒等性,即把浅层的输入直接提供给了更深层的单元。实验证实,DRN 能够高效地学得深达150层的网络,其性能远远超过了常规的二到五层的简单网络。然而有人证实,DRN 实际上是不具有明确时间结构的 RNN,因此常常被类比做没有门单元的 LSTM。

He, Kaiming, et al. “Deep residual learning for image recognition.” arXiv preprint arXiv:1512.03385 (2015).

22

史上最好记的神经网络结构速记表(下)

回声状态网络(ESN)是另外一种循环网络。与通常网络的不一样在于,ESN 神经元之间的链接是随机的(就是说,没有整齐的层-层形式),训练过程天然也就不一样。数据前向输入、偏差反向传播的法子不能用了,咱们须要把数据前向输入,等一下子再更新单元,再等一下子,最后观察输出。与通常神经网络相比,ESN 中输入和输出层的角色发生了至关的改变——输入层把信息填充给网络、输出层观察激活模式随时间展开的状态。训练时,只有输出层和一部分隐层单元之间的链接会被改变。

Jaeger, Herbert, and Harald Haas. “Harnessing nonlinearity: Predicting chaotic systems and saving energy in wireless communication.” science 304.5667 (2004): 78-80.

23

史上最好记的神经网络结构速记表(下)

极限学习机(ELM)基本上是随机链接的 FFNN。看上去很像 LSM 和 ESN,但 ELM 既不是循环式的、也不是脉冲式的。ELM 也不用反向传播,而是初始化为随机权值,而后用最小二乘拟合(在全部函数上偏差最小)、一步到位地完成训练。这样获得的是一个表达能力稍弱,但远快于使用反向传播的神经网络。

Cambria, Erik, et al. “Extreme learning machines [trends & controversies].” IEEE Intelligent Systems 28.6 (2013): 30-59.

24

史上最好记的神经网络结构速记表(下)

液体状态机(LSM)跟 ESN 比较像,区别在于 LSM 是一类脉冲神经网络: sigmoid 激活函数被阈值函数取代;每一个神经元都是累加的记忆单元。因此更新神经元时,它的值不是相连神经元的和,而是自身的累加,一旦达到阈值就把能量释放给其余神经元。这就造成了脉冲式的网络——超过阈值后,状态才会改变。

Maass, Wolfgang, Thomas Natschläger, and Henry Markram. “Real-time computing without stable states: A new framework for neural computation based on perturbations.” Neural computation 14.11 (2002): 2531-2560.

25

史上最好记的神经网络结构速记表(下)

支持向量机(SVM)为分类问题找到最优解。最初 SVM 只能处理线性可分的数据,好比判断哪张是加菲猫,哪张是史努比,而不存在其余的状况。能够这样理解 SVM 的训练:将全部的数据(好比加菲猫和史努比)在(2D)图上画出,在两类数据中间想办法画一条线,这条线把数据区分开,即全部的史努比在这边、全部的加菲猫在另外一边。经过最大化两边数据点与这条分割线的间隔来找到最优解。对新的数据作分类时,只要把数据点画在图上,看看它在线的那一边就行了。使用核方法能够分类 n 维数据,这时须要把点画在三维图中,从而让 SVM 可以区分史努比、加菲猫和——好比说西蒙的猫——或者是更高的维度、更多的卡通形象类别。有时候,人们也不把 SVM 当成神经网络。

Cortes, Corinna, and Vladimir Vapnik. “Support-vector networks.” Machine learning 20.3 (1995): 273-297.

26

史上最好记的神经网络结构速记表(下)

最后介绍 Kohonen 网络(KN,也叫自组织(特征)图,SOM,SOFM)。KN 利用竞争性学习来无监督地分类数据。输入数据以后,网络会评估哪些神经元与输入的匹配度最高,而后作微调来继续提升匹配度,并慢慢带动邻近它们的其余神经元发生变化。邻近神经元被改变的程度,由其到匹配度最高的单元之间的距离来决定。Kohonen有时候也不被认为是神经网络。

相关文章
相关标签/搜索