10.5 深度循环网络
大多数RNN中的计算可以分解成3块参数及其相关的变换:
(1)从输入到隐藏状态。
(2)从前一隐藏状态到下一隐藏状态。
(3)从隐藏状态到输出。
根据图10.3中的RNN架构,这3个块都与单个权重矩阵相关联。换句话说,当网络被展开时,每个块对应一个浅的变换。能通过深度MLP内单个层来表示的变换称为浅变换。通常,这是由学成的仿射变换和一个固定非线性表示组成的变换。
图10.13 循环神经网络可以通过许多方式变得更深(Pascanu et al.,2014a)。(a)隐藏循环状态可以被分解为具有层次的组。(b)可以向输入到隐藏、隐藏到隐藏以及隐藏到输出的部分引入更深的计算(如MLP)。这可以延长链接不同时间步的最短路径。(c)可以引入跳跃连接来缓解路径延长的效应
在这些操作中引入深度会有利吗?实验证据(Graves et al.,2013;Pascanu et al.,2014a)强烈暗示理应如此。实验证据与我们需要足够的深度以执行所需映射的想法一致。读者可以参考Schmidhuber(1992)、El Hihi and Bengio(1996)或Jaeger(2007a),了解更早的关于深度RNN的研究。
Graves et al.(2013)第一个展示了将RNN的状态分为多层的显著好处,如图10.13(a)所示。我们可以认为,在图10.13(a)所示层次结构中较低的层起到了将原始输入转化为对更高层的隐藏状态更合适表示的作用。Pascanu et al.(2014a)更进一步提出在上述3个块中各使用一个单独的MLP(可能是深度的),如图10.13(b)所示。考虑表示容量,我们建议在这3个步中都分配足够的容量,但增加深度可能会因为优化困难而损害学习效果。在一般情况下,更容易优化较浅的架构,加入图10.13(b)的额外深度导致从时间步t的变量到时间步t+1的最短路径变得更长。例如,如果具有单个隐藏层的MLP被用于状态到状态的转换,那么与图10.3相比,我们就会加倍任何两个不同时间步变量之间最短路径的长度。然而Pascanu et al.(2014a)认为,在隐藏到隐藏的路径中引入跳跃连接可以缓和这个问题,如图10.13(c)所示。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论