文章

12 深层循环神经网络(Deep RNNs)

12 深层循环神经网络(Deep RNNs)

1. 构建深层 RNN 的动机

  标准的 RNN(单层隐藏层)在处理非常复杂的函数时能力有限。类似于深度前馈神经网络通过堆叠多个隐藏层来提取更高级的特征,RNN 也可以通过在时间步上堆叠多个循环层来构建深层 RNN,以学习更复杂的序列模式。

2. 符号定义与结构

  在深层 RNN 中,激活值不仅随时间 $t$ 变化,还随层数 $l$ 变化。

  • 符号表示:用 $a^{[l]\langle t \rangle}$ 表示第 $l$ 层、第 $t$ 个时间步的激活值。
  • 输入:通常输入 $x^{\langle t \rangle}$ 只进入第一层($l=1$)。
  • 层级连接

    • 垂直方向(层间) :第 $l$ 层的输入来自下一层($l-1$)在同一时间步的输出。
    • 水平方向(时间步) :第 $l$ 层的输入也来自该层在前一个时间步($t-1$)的输出。

3. 前向传播公式

  对于深层 RNN 中的某一层 $l$($l > 1$)和某个时间步 $t$,其激活值的计算结合了来自下方层的信息和来自左侧时间步的信息。

  假设使用 $\tanh$ 作为激活函数,计算公式如下:

\[a^{[l]\langle t \rangle} = g\left( W_{a}^{[l]} a^{[l]\langle t-1 \rangle} + W_{ya}^{[l]} a^{[l-1]\langle t \rangle} + b^{[l]} \right)\]

  其中:

  • $g(\cdot)$ 是激活函数(如 $\tanh$, ReLU, 或 LSTM/GRU 单元)。
  • $W_{a}^{[l]}$ 是第 $l$ 层在时间维度上的权重矩阵。
  • $W_{ya}^{[l]}$ 是连接第 $l-1$ 层到第 $l$ 层的垂直权重矩阵(有时记为 $W_{aa}^{[l]}$ 的下标变体,具体取决于教材符号习惯,但在深层结构中明确区分层间权重)。
  • $b^{[l]}$ 是第 $l$ 层的偏置项。
  • 对于第一层($l=1$),$a^{[0]\langle t \rangle}$ 替换为输入 $x^{\langle t \rangle}$。

  如果是 LSTMGRU 单元,上述线性组合部分会嵌入到门控机制的计算中,但“堆叠”的逻辑(即上一层的输出作为下一层的输入)保持不变。

4. 常见的深层 RNN 架构类型

  视频中提到了两种主要的堆叠方式:

A. 标准深层 RNN (Standard Deep RNN)

  • 结构:在每一个时间步 $t$,都有多个循环层垂直堆叠。
  • 特点:数据既在时间轴上传播(水平),也在层轴上传播(垂直)。
  • 深度限制:由于时间展开后网络非常深(层数 $\times$ 时间步数),容易导致梯度消失或爆炸,且计算资源消耗巨大。因此,实际应用中循环层数通常较少(常见为 3 层左右),很少像 CNN 那样堆叠到几十层或上百层。

B. 循环层 + 深度前馈网络 (RNN + Deep Feed-Forward)

  • 结构:先堆叠几个循环层(例如 3 层 RNN/LSTM/GRU)处理序列依赖,然后在最后一个时间步(或每个时间步)之后,连接一个不随时间循环的深层前馈神经网络(Deep Network)。
  • 特点

    • 循环部分负责捕捉时序特征。
    • 后续的深度网络负责基于时序特征进行复杂的非线性映射和预测。
    • 这种结构在语音识别等任务中非常常见。
  • 示意

    \[x^{\langle t \rangle} \rightarrow [\text{RNN Layer 1}] \rightarrow [\text{RNN Layer 2}] \rightarrow [\text{RNN Layer 3}] \rightarrow [\text{Deep NN}] \rightarrow \hat{y}^{\langle t \rangle}\]

5. 其他变体

  • 单元类型:深层结构中的循环单元不仅可以是标准 RNN,更常使用 GRULSTM 以缓解长距离依赖问题。
  • 双向深层 RNN (Bidirectional Deep RNN) :可以将双向 RNN 的概念与深层结构结合,即在每一层都使用双向连接,同时在垂直方向堆叠多层。

6. 总结与局限

  • 优势:能够学习极其复杂的序列函数,提取高层抽象特征。
  • 挑战

    • 训练成本高:需要大量的计算资源和时间。
    • 深度限制:受限于梯度问题和时间展开的长度,纯循环部分的层数通常较浅(3-4层已是常态),更多的“深度”通常通过后接的前馈网络来实现。

  通过结合基本的 RNN 单元(RNN/GRU/LSTM)、双向结构以及深层堆叠策略,可以构建出强大的序列模型,广泛应用于语音识别、机器翻译和自然语言处理等领域。

本文由作者按照 CC BY 4.0 进行授权