视频加载失败

Lec7: 循环神经网络

序列建模、RNN 状态与时间反向传播,理解梯度流和 LSTM。

课程导航与课程讲次
课程讲次
文章目录

序列建模(变长输入/输出),Transformer 之前的序列建模主力,也是现代状态空间模型的前身。

序列范式#

同一套循环结构覆盖多种输入输出组合:

  • one to one:普通前馈网络(图像分类)。
  • one to many:图像描述(图像 → 词序列)。
  • many to one:动作识别(视频帧 → 类别)。
  • many to many(异步):机器翻译。
  • many to many(同步):逐帧视频分类。

核心:内部状态#

维护一个随序列更新的隐藏状态:

ht=fW(ht−1,xt),yt=fWhy(ht).h_t = f_W(h_{t-1}, x_t), \qquad y_t = f_{W_{hy}}(h_t).

关键:每个时间步用同一个 fWf_W、同一组参数 WW(参数共享),故模型大小与序列长度无关。

Vanilla RNN#

ht=tanh⁡(Whhht−1+Wxhxt),yt=Whyht.h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t), \qquad y_t = W_{hy} h_t.

WxhW_{xh} 映射输入、WhhW_{hh} 映射旧状态、WhyW_{hy} 映射输出,三者跨时间步共享。

训练:时间反向传播#

每步算 LtL_t,总损失 L=∑tLtL = \sum_t L_t。BPTT:前向走完整序列算损失,再反向走完整序列算梯度。

截断 BPTT:序列切块,隐藏状态一直前传(保留长期上下文),但梯度只在块内回传,使长序列训练可行。

字符级语言模型#

“hello” 例子:每步预测下一个字符,one-hot 输入,交叉熵 + BPTT 训练。

采样生成:逐字符按概率采样,并把采到的字符反馈为下一步输入。one-hot 乘权重等于取矩阵一列,故常单独设嵌入层(embedding layer)。

同一字符级 RNN 能生成文本、LaTeX、Linux C 代码;隐藏单元自发涌现可解释性(引号检测、行长跟踪、if 语句、代码缩进深度等)。

图像描述#

CNN(去掉分类层)提取图像特征 vv,注入隐藏状态更新:

h=tanh⁡(Wxhx+Whhh+Wihv).h = \tanh(W_{xh} x + W_{hh} h + W_{ih} v).

从 <START> 起逐词采样,直到 <END>。同类多模态扩展:VQA、Visual Dialog。

优缺点#

优点:处理任意长度输入、参数共享、理论上可用很久以前的信息。

缺点:循环计算串行、慢;实践中长程依赖难以学习。

梯度流#

∂ht∂ht−1=tanh⁡′(Whhht−1+Wxhxt) Whh.\frac{\partial h_t}{\partial h_{t-1}} = \tanh'(W_{hh} h_{t-1} + W_{xh} x_t)\, W_{hh}.

多步连乘 ∏t∂ht/∂ht−1\prod_t \partial h_t / \partial h_{t-1}:

  • tanh⁡′\tanh' 几乎总小于 11,连乘 → 梯度消失。
  • 仅看 WhhT−1W_{hh}^{T-1}:最大奇异值 >1>1 爆炸,<1<1 消失。

对策:爆炸用梯度裁剪(按范数缩放);消失需改变架构。

LSTM#

两个状态:隐藏状态 hth_t 与细胞状态 ctc_t。四个门:

(ifog)=(σσσtanh⁡)W(ht−1xt),\begin{pmatrix} i \\ f \\ o \\ g \end{pmatrix} = \begin{pmatrix} \sigma \\ \sigma \\ \sigma \\ \tanh \end{pmatrix} W \begin{pmatrix} h_{t-1} \\ x_t \end{pmatrix},ct=f⊙ct−1+i⊙g,ht=o⊙tanh⁡(ct).c_t = f \odot c_{t-1} + i \odot g, \qquad h_t = o \odot \tanh(c_t).

门角色:ff 遗忘门(保留多少旧记忆)、ii 输入门(写入多少)、gg 候选内容、oo 输出门(暴露多少给 hth_t)。

梯度沿细胞状态回传时只逐元素乘遗忘门 ff,不再反复乘 WhhW_{hh},形成近乎不被打断的梯度高速公路(类比 ResNet 残差连接)。f=1,i=0f=1, i=0 时信息无限保留。不保证完全无梯度消失/爆炸,但更易学长程依赖。

现代 RNN#

状态空间模型(S4、RWKV、Mamba)延续 RNN 的状态思想,优势:上下文长度无限制、计算随序列长度线性增长(Transformer 为平方)。下一讲:注意力与 Transformer。

文章目录