admin 管理员组文章数量: 887016
循环神经网络的变种
循环神经网络除了有不同的设计方法之外,还能够造出一些比较实用的 “变种”,用于提高循环神经网络解决一些特定问题的能力。常用的循环神经网络变种就是双向循环神经网络和深层循环神经网络,本节将会对这两个网络变种进行简要的介绍。
双向循环神经网络
到目前为止,我们讨论的循环神经网络只能将状态按照从前向后的方 向传递,这意味着循环体在时刻 t 的状态只能从过去的输入序列 x(t=0) ,…, x(t-1)以及当前的输入x(t)中获取信息。然而,在一些应用中,我们要得到的y(t)可能对整个输入序列都有依赖。也就是说,当前时刻的输出不仅取决于之前的状态,也要考虑到之后的状态。例如,在语音识别中,由于一些字词的发音相同但含义不同,所以对当前发音的正确解释可能取决于下一个(或多个〉发音。又如,填补一个语句中空缺位置的单词,此时掌握这个位置之前的单词是必须的,但为了预测得更符合情景,最好还要考虑到这个位置之后的几个单词。双向循环神经网络(BidirectionalRNN, Bi-RNN)的发明就是为了解决 这类问题, 在一些需要双向信息的应用中,Bi-RNN得到了非常成功的应用。顾名思义,Bi-RNN结合了在时间序列上一个从起点开始执行的RNN和另一个从终点回朔执行的RNN。将 Bi-RNN 以图的方式绘制出来的话, 它看上去就像是由两个循环神经网络上下叠加在一起而组成,并且输出由这两个循环神经网络的状态共同决定。下图展示了一个双向循环神经网络的结构。
从上图中可以看到,在每一个时刻t,例如 t=2 ,输入x(2))会同时提供给这两个方向相反的循环神经网络,而输出则是由这两个单向循环神经网络共同决定的。Bi-RNN 是由 Mike Schuster 及 Kuldip K.Paliwal 等人于1997年首次提出的,年份与 LSTM被提出的年份相同。在 Mike Schuster 及 Kuldip K.Paliwal 等人发表的论文《Bidirectional Recurrent Neural Networks》 中有更多关于Bi-RNN的内容,感兴趣的读者可以参考这篇论文。
深层循环神经网络
通过将每一个时刻上的循环体重复执行多次,循环神经网络可以变得更深,由此就得到了深层循环神经网络(deepRNN)。深层循环神经网络可以看作是循环神经网络的另外一个变种,其设计的初衷是为了增强模型的表达能力。下图给出了深层循环神经网络的结构示意图。
在设计深层循环神经网络的参数时,处在相同层的循环体所使用的参数是一致的,而处在不同层的循环体可以使用不同的参数。DRNN可以增强模型的表达能力,主要是将每个时刻上的循环体重复多次,每一层循环体中参数是共享的,但不同层之间的参数可以不同。总结:本小节主要讲述了两个不同的循环神经网络的变种,分别是双向循环神经网络和深层循环神经网络的内容,以及它们的结构和普通RNN的一个对比。
关注小鲸融创,一起深度学习金融科技!
本文标签: 循环神经网络的变种
版权声明:本文标题:循环神经网络的变种 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732360683h1535127.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论