目录
1. 双向循环网络 BRNN(Bidirectional RNN)
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~
0. 前言
本篇介绍标准的 RNN 的改造模型。
- 双向循环网络 BRNN(Bidirectional RNN)
- 深度循环网络 Deep RNN
1. 双向循环网络 BRNN(Bidirectional RNN)
标准的 RNN 在时刻 的状态只能从过去的序列以及当前的输入中捕获信息,无法使用到后面序列的信息。
BRNN 结合时间上从序列起点开始移动的 RNN 和另一个时间上从序列末尾开始移动的 RNN 。
这允许输出单元能够计算同时依赖于过去和未来且对时刻 的输入值最敏感的表示。
BRNN 在每个时刻增加一个隐藏单元,如下图所示(图源:深度学习):
其中,隐藏单元 在时间上向前传播,隐藏单元 在时间上向后传播。
BRNN 的缺点是必须获取了所有时刻的输入之后,才能进行每一个时刻的输出。
2. 深度循环网络 Deep RNN
在标准的 RNN 中,只每一个时间上,只存在一个隐藏单元。
Deep RNN 是由多个隐藏层叠加而成,如下图所示(图源:吴恩达深度学习):
Deep RNN 中较低的层起到了将原始输入转化为对更高层的隐藏状态更适合表示的作用。
但是增加深度会带来优化困难,一般情况下,更容易优化较浅的架构。
另一种 Deep RNN 是在时间步 到 间扩展深度,或者引入跳跃连接(图源:深度学习):
因为 RNN 在时间的维度上很大,所以一般不会构建很深的 RNN 。
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~