循环神经网络的变种

循环神经网络除了有不同的设计方法之外,还能够造出一些比较实用的 “变种”,用于提高循环神经网络解决一些特定问题的能力。常用的循环神经网络变种就是双向循环神经网络和深层循环神经网络,本节将会对这两个网络变种进行简要的介绍。

双向循环神经网络

到目前为止,我们讨论的循环神经网络只能将状态按照从前向后的方 向传递,这意味着循环体在时刻 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的一个对比。

关注小鲸融创,一起深度学习金融科技!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值