您的位置:首页 > 理论基础 > 计算机网络

深度学习(DL)-- BRNN双向循环神经网络算法详解

2019-06-12 22:43 906 查看

1、结构

    RNN和LSTM都只能依据之前时刻的时序信息来预测下一时刻的输出,但在有些问题中,当前时刻的输出不仅和之前的状态有关,还可能和未来的状态有关系。比如预测一句话中缺失的单词不仅需要根据前文来判断,还需要考虑它后面的内容,真正做到基于上下文判断。BRNN有两个RNN上下叠加在一起组成的,输出由这两个RNN的状态共同决定。BRNN结构图如图所示:

    
    
    可以由下列式子表示,
        

2、双向循环网络如何训练

  • 前向传播

    1. 沿着时刻1到时刻T正向计算一遍,得到并保存每个时刻向前隐含层的输出。
    2. 沿着时刻T到时刻1反向计算一遍,得到并保存每个时刻向后隐含层的输出。
    3. 正向和反向都计算完所有输入时刻后,每个时刻根据向前向后隐含层得到最终输出。

  • 反向传播

    1. 计算所有时刻输出层的δ项。

    2. 根据所有输出层的δ项,使用 BPTT 算法更新向前层。

    3. 根据所有输出层的δ项,使用 BPTT 算法更新向后层。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: