帖子

[经验分享] 机器学习者需要了解的十大神经网络架构(中)

[复制链接]

该用户从未签到

10390 AI 搬运工 发表于 2019-5-20 09:08:59 1#
不好意思,让大家久等了。
上期回顾:机器学习者需要了解的十大神经网络架构(中)



4. 长短期记忆网络Long / Short Term Memory
Hochreiter和Schmidhuber通过构建长短期记忆网络,解决了循环神经网络中的长期记忆问题。长短期记忆网络试图通过引入gate和有着明确定义的memory cell概念来解决正在消失的或正在爆发的梯度问题。Memory cell会存储以前的值并一直保持记忆,除非出现“forget gate”来告知它要忘记这些值。长短期记忆网络还拥有一个“input gate”,可以向memory cell添加新东西;同时还有一个“output gate”,可以决定何时将memory cell的向量传至下一个隐藏状态。





回想一下,在所有循环神经网络中,通过来自X_train和H_previous的值,我们可以确定在当前的隐藏状态的情况。通过当前隐藏状态(H_current)的结果,我们可以确定下一个隐藏状态的情况。长短期记忆网络只需添加一个细胞层(cell layer),就可以确保隐藏信息迭代转换率变得相当高。

换句话说,由于某种需要,我们希望可以记忆之前的迭代内容,长短期记忆网络的memory cell是可以实现这一目标的。长短期记忆网络能够学习复杂的序列,如莎士比亚式写作、原生态音乐的创作。

5. GRU(Gated Recurrent Unit)
GRU是长短期记忆网络的一种轻量型变体。GRU以X_train和H_previous为输入值。他们会进行一些计算,并传递H_current。在下一次迭代中,X_train.next和H_current都会用于更多的计算中。它们与长短期记忆网络的区别在于:GRU不需要细胞层就可以传递这些值。每一次迭代中的计算确保被传递过来的H_current值要么可以保留大量的旧信息,要么可以在大量的新信息中从头开始。





在多数情况下,GRU的功能与长短期记忆网络十分相似,它们之间最大的区别在于,GRU运行起来会更快,更简单一些(但是表达性稍微差一些)。实际上,它们之间倾向于相互抵消,因为你需要的是一个更大的网络来重拾一些表达,而这些表达又会中和这个性能优势。在某些情况下——当不需要额外的表达能力时,GRU表现得要比长短期记忆网络好得多。你可以看看Junyoung Chung在2014年发表得关于GRU的论文:Empirical evaluation of gated recurrent neural networks on sequence modeling。

6. 霍普菲尔德神经网络(Hopfield Network)
通常,我们很难对非线性单元的循环神经网络进行分析。它们的表现形式有很多种:固定在稳定状态,动荡状态或者遵循着一种无法深入预测未来的混乱轨迹。为了解决这个问题,John Hopfield于1982年在其论文Neural networks and physical systems with emergent collective computational abilities中引入了霍普菲尔德神经网络概念。在霍普菲尔德神经网络中,每个神经元都彼此联系,就像是缠绕在一起的意大利面一样,神经元的所有节点就代表着一切。在训练前输入每个节点,然后在训练过程中将它们隐藏,最后再输出。权重计算好以后,将神经元的值设置为想要的模式,便是该神经网络的训练方式。权重之后也不会更改。一旦在一种或多种模式下训练后,霍普菲尔德神经网络就会一直稳定在其中一种学习模式中,因为该神经网络仅仅在这些状态下保持稳定。





霍普菲尔德神经网络还有另一种计算的角色。除了利用神经网络来储存记忆,我们也利用它来构建感官输入解释。感官输入为可见单元,感官输入解释为隐藏单元状态,感官输入解释的最差情况表现在能量函数上。

不幸的是,人类发现,霍普菲尔德神经网络的容量极其有限。由于能量函数中伪最小值的存在(spurious minima),一个由N个单元组成的霍普菲尔德神经网络仅仅可以储存0.15N种模式。有一个想法是:由于能量函数在权重空间中是连续的,倘若两个伪最小值过于接近,它们可能会彼此融合,创建一个单一的本地最小值,而这个最小值与任何一个训练样本都不符合,同时,它会遗忘本身需要记忆的两个样本。这种现象极大地限制了霍普菲尔德神经网络可以学习的样本数量。

未完待续…… 下周见!

PS:喜欢就点个赞,顺手分享一下,好让我有持续的动力接着翻译文章给你看,好不好呀~

编译 | AI搬运工文章链接 | The 10 Neural Network Architectures Machine Learning Researchers Need To Learn
相关文章回顾:
浅谈深度学习的工作原理深度学习主要应用在哪些领域?如何在6个月内入门深度学习?深度学习与普通机器学习有什么区别?普通人如何正确学习人工智能?