You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.7 KiB

6.9 深度循环神经网络

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

图6.11 深度循环神经网络的架构

具体来说,在时间步t里,设小批量输入\boldsymbol{X}_t \in \mathbb{R}^{n \times d}(样本数为n,输入个数为d),第\ell隐藏层(\ell=1,\ldots,L)的隐藏状态为\boldsymbol{H}_t^{(\ell)} \in \mathbb{R}^{n \times h}(隐藏单元个数为h),输出层变量为\boldsymbol{O}_t \in \mathbb{R}^{n \times q}(输出个数为q),且隐藏层的激活函数为\phi。第1隐藏层的隐藏状态和之前的计算一样

\boldsymbol{H}_t^{(1)} = \phi(\boldsymbol{X}_t \boldsymbol{W}_{xh}^{(1)} + \boldsymbol{H}_{t-1}^{(1)} \boldsymbol{W}_{hh}^{(1)}  + \boldsymbol{b}_h^{(1)}),

其中权重\boldsymbol{W}_{xh}^{(1)} \in \mathbb{R}^{d \times h}\boldsymbol{W}_{hh}^{(1)} \in \mathbb{R}^{h \times h}和偏差 \boldsymbol{b}_h^{(1)} \in \mathbb{R}^{1 \times h}分别为第1隐藏层的模型参数。

1 < \ell \leq L时,第\ell隐藏层的隐藏状态的表达式为

\boldsymbol{H}_t^{(\ell)} = \phi(\boldsymbol{H}_t^{(\ell-1)} \boldsymbol{W}_{xh}^{(\ell)} + \boldsymbol{H}_{t-1}^{(\ell)} \boldsymbol{W}_{hh}^{(\ell)}  + \boldsymbol{b}_h^{(\ell)}),

其中权重\boldsymbol{W}_{xh}^{(\ell)} \in \mathbb{R}^{h \times h}\boldsymbol{W}_{hh}^{(\ell)} \in \mathbb{R}^{h \times h}和偏差 \boldsymbol{b}_h^{(\ell)} \in \mathbb{R}^{1 \times h}分别为第\ell隐藏层的模型参数。

最终,输出层的输出只需基于第L隐藏层的隐藏状态:

\boldsymbol{O}_t = \boldsymbol{H}_t^{(L)} \boldsymbol{W}_{hq} + \boldsymbol{b}_q,

其中权重\boldsymbol{W}_{hq} \in \mathbb{R}^{h \times q}和偏差\boldsymbol{b}_q \in \mathbb{R}^{1 \times q}为输出层的模型参数。

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

小结

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

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