本章到目前为止介绍的循环神经网络只有一个单向的隐藏层,在深度学习应用里,我们通常会用到含有多个隐藏层的循环神经网络,也称作深度循环神经网络。图6.11演示了一个有6.9 深度循环神经网络 - 图1个隐藏层的深度循环神经网络,每个隐藏状态不断传递至当前层的下一时间步和当前时间步的下一层。

6.9_deep-rnn.svg

具体来说,在时间步6.9 深度循环神经网络 - 图3里,设小批量输入6.9 深度循环神经网络 - 图4(样本数为6.9 深度循环神经网络 - 图5,输入个数为6.9 深度循环神经网络 - 图6),第6.9 深度循环神经网络 - 图7隐藏层(6.9 深度循环神经网络 - 图8)的隐藏状态为6.9 深度循环神经网络 - 图9%7D%20%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bn%20%5Ctimes%20h%7D#card=math&code=%5Cboldsymbol%7BH%7D_t%5E%7B%28%5Cell%29%7D%20%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bn%20%5Ctimes%20h%7D)(隐藏单元个数为6.9 深度循环神经网络 - 图10),输出层变量为6.9 深度循环神经网络 - 图11(输出个数为6.9 深度循环神经网络 - 图12),且隐藏层的激活函数为6.9 深度循环神经网络 - 图13。第1隐藏层的隐藏状态和之前的计算一样:

6.9 深度循环神经网络 - 图14%7D%20%3D%20%5Cphi(%5Cboldsymbol%7BX%7Dt%20%5Cboldsymbol%7BW%7D%7Bxh%7D%5E%7B(1)%7D%20%2B%20%5Cboldsymbol%7BH%7D%7Bt-1%7D%5E%7B(1)%7D%20%5Cboldsymbol%7BW%7D%7Bhh%7D%5E%7B(1)%7D%20%20%2B%20%5Cboldsymbol%7Bb%7Dh%5E%7B(1)%7D)%2C%0A#card=math&code=%5Cboldsymbol%7BH%7D_t%5E%7B%281%29%7D%20%3D%20%5Cphi%28%5Cboldsymbol%7BX%7D_t%20%5Cboldsymbol%7BW%7D%7Bxh%7D%5E%7B%281%29%7D%20%2B%20%5Cboldsymbol%7BH%7D%7Bt-1%7D%5E%7B%281%29%7D%20%5Cboldsymbol%7BW%7D%7Bhh%7D%5E%7B%281%29%7D%20%20%2B%20%5Cboldsymbol%7Bb%7D_h%5E%7B%281%29%7D%29%2C%0A)

其中权重6.9 深度循环神经网络 - 图15%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bd%20%5Ctimes%20h%7D#card=math&code=%5Cboldsymbol%7BW%7D%7Bxh%7D%5E%7B%281%29%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bd%20%5Ctimes%20h%7D)、![](https://g.yuque.com/gr/latex?%5Cboldsymbol%7BW%7D%7Bhh%7D%5E%7B(1)%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bh%20%5Ctimes%20h%7D#card=math&code=%5Cboldsymbol%7BW%7D_%7Bhh%7D%5E%7B%281%29%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bh%20%5Ctimes%20h%7D)和偏差 6.9 深度循环神经网络 - 图16%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7B1%20%5Ctimes%20h%7D#card=math&code=%5Cboldsymbol%7Bb%7D_h%5E%7B%281%29%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7B1%20%5Ctimes%20h%7D)分别为第1隐藏层的模型参数。

6.9 深度循环神经网络 - 图17时,第6.9 深度循环神经网络 - 图18隐藏层的隐藏状态的表达式为

6.9 深度循环神经网络 - 图19%7D%20%3D%20%5Cphi(%5Cboldsymbol%7BH%7Dt%5E%7B(%5Cell-1)%7D%20%5Cboldsymbol%7BW%7D%7Bxh%7D%5E%7B(%5Cell)%7D%20%2B%20%5Cboldsymbol%7BH%7D%7Bt-1%7D%5E%7B(%5Cell)%7D%20%5Cboldsymbol%7BW%7D%7Bhh%7D%5E%7B(%5Cell)%7D%20%20%2B%20%5Cboldsymbol%7Bb%7Dh%5E%7B(%5Cell)%7D)%2C%0A#card=math&code=%5Cboldsymbol%7BH%7D_t%5E%7B%28%5Cell%29%7D%20%3D%20%5Cphi%28%5Cboldsymbol%7BH%7D_t%5E%7B%28%5Cell-1%29%7D%20%5Cboldsymbol%7BW%7D%7Bxh%7D%5E%7B%28%5Cell%29%7D%20%2B%20%5Cboldsymbol%7BH%7D%7Bt-1%7D%5E%7B%28%5Cell%29%7D%20%5Cboldsymbol%7BW%7D%7Bhh%7D%5E%7B%28%5Cell%29%7D%20%20%2B%20%5Cboldsymbol%7Bb%7D_h%5E%7B%28%5Cell%29%7D%29%2C%0A)

其中权重6.9 深度循环神经网络 - 图20%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bh%20%5Ctimes%20h%7D#card=math&code=%5Cboldsymbol%7BW%7D%7Bxh%7D%5E%7B%28%5Cell%29%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bh%20%5Ctimes%20h%7D)、![](https://g.yuque.com/gr/latex?%5Cboldsymbol%7BW%7D%7Bhh%7D%5E%7B(%5Cell)%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bh%20%5Ctimes%20h%7D#card=math&code=%5Cboldsymbol%7BW%7D_%7Bhh%7D%5E%7B%28%5Cell%29%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7Bh%20%5Ctimes%20h%7D)和偏差 6.9 深度循环神经网络 - 图21%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7B1%20%5Ctimes%20h%7D#card=math&code=%5Cboldsymbol%7Bb%7D_h%5E%7B%28%5Cell%29%7D%20%5Cin%20%5Cmathbb%7BR%7D%5E%7B1%20%5Ctimes%20h%7D)分别为第6.9 深度循环神经网络 - 图22隐藏层的模型参数。

最终,输出层的输出只需基于第6.9 深度循环神经网络 - 图23隐藏层的隐藏状态:

6.9 深度循环神经网络 - 图24%7D%20%5Cboldsymbol%7BW%7D%7Bhq%7D%20%2B%20%5Cboldsymbol%7Bb%7D_q%2C%0A#card=math&code=%5Cboldsymbol%7BO%7D_t%20%3D%20%5Cboldsymbol%7BH%7D_t%5E%7B%28L%29%7D%20%5Cboldsymbol%7BW%7D%7Bhq%7D%20%2B%20%5Cboldsymbol%7Bb%7D_q%2C%0A)

其中权重6.9 深度循环神经网络 - 图25和偏差6.9 深度循环神经网络 - 图26为输出层的模型参数。

同多层感知机一样,隐藏层个数6.9 深度循环神经网络 - 图27和隐藏单元个数6.9 深度循环神经网络 - 图28都是超参数。此外,如果将隐藏状态的计算换成门控循环单元或者长短期记忆的计算,我们可以得到深度门控循环神经网络。

小结

  • 在深度循环神经网络中,隐藏状态的信息不断传递至当前层的下一时间步和当前时间步的下一层。

注:本节与原书基本相同,原书传送门