Appearance
导论:序列建模的本质与记忆的数学
如果说前馈神经网络(MLP)和卷积神经网络(CNN)处理的是空间(Space)——一张图像中的像素排列、一个表格中的特征列,那么循环神经网络(RNN)及其变体处理的则是时间(Time)与序列(Sequence)。文本、语音、金融时间序列、基因序列……这些数据不仅包含“内容”,更包含“顺序”。顺序决定了语义:“狗咬人”与“人咬狗”的词汇完全相同,但词序的颠倒彻底改变了含义。
RNN 的核心哲学是**“记忆”。它通过引入隐藏状态(Hidden State)**——一个在网络内部循环传递的信息载体,将过去时刻的信息“烙印”在当前的计算中。这种结构使其在理论上能够处理任意长度的上下文,成为早期自然语言处理、语音识别和手写文字识别的事实标准。
然而,简单的记忆在长序列中遭遇了致命的物理瓶颈:梯度消失与爆炸。这催生了 LSTM 和 GRU 这样精妙的“阀门系统”。而近年来,Transformer 的强势崛起并未完全取代 RNN,反而催生了 “线性注意力” 这一全新的研究方向,试图将 RNN 的线性复杂度和 Transformer 的全局建模能力统一起来。
第一部分:基础 RNN(Vanilla RNN)——循环的基石与崩溃的根源
1.1 结构定义与展开
对于一个标准的前馈网络,信息只能沿层向上流动。RNN 打破了这一限制:它在隐藏层之间建立了循环边(Recurrent Edge)。
在时间步
:输入到隐藏状态的权重矩阵。 :隐藏状态到自身的循环权重矩阵(记忆矩阵),这是 RNN 的灵魂。 (双曲正切)或 作为非线性激活函数。
将网络沿时间轴“展开”(Unroll),RNN 实际上等价于一个深度为序列长度
1.2 随时间反向传播(BPTT)与梯度问题
RNN 的训练依赖于 BPTT(Backpropagation Through Time)。由于网络在时间上展开极深,梯度需要沿着时间通道从
通过链式法则,第
其中
- 梯度爆炸(Exploding Gradients):若
的最大奇异值 > 1,连乘导致梯度指数级放大,参数更新剧烈震荡,损失变为 NaN。解决手段:梯度裁剪(Gradient Clipping),将梯度的 L2 范数限制在某个阈值(如 1.0)内。 - 梯度消失(Vanishing Gradients):若最大奇异值 < 1,梯度指数级衰减至 0。这使得网络无法学习距离超过 10~15 个时间步的长程依赖(Long-term Dependency)。RNN 记不住“开头说了什么”。这是基础 RNN 的根本性架构缺陷。
第二部分:LSTM(长短期记忆网络)——精巧的梯度高速公路
为了解决长程依赖问题,Sepp Hochreiter 和 Jürgen Schmidhuber 在 1997 年提出了 LSTM。其核心思想是引入细胞状态(Cell State)
2.1 核心数学定义
LSTM 的每个单元包含三个门:遗忘门
设
遗忘门(Forget Gate):决定丢弃多少旧信息(核心创新)。
为 Sigmoid 函数,输出 [0,1] 之间的值。1 表示“完全保留”,0 表示“彻底遗忘”。 输入门(Input Gate):决定存储多少新信息。
细胞状态更新(恒定误差传送带 CEC):这是解决梯度消失的数学根源。旧的细胞状态
乘以遗忘门,加上新的候选状态乘以输入门。 表示逐元素(Hadamard)乘积。 输出门(Output Gate):决定基于当前细胞状态输出什么给隐藏状态。
2.2 为什么 LSTM 能避免梯度消失(数学证明)
反向传播时,梯度从
关键在于,当遗忘门
第三部分:GRU(门控循环单元)——轻量高效的简化版卫士
Cho 等人在 2014 年提出了 GRU,可以视为 LSTM 的“精简版”。它将 LSTM 的“遗忘门”和“输入门”合并为单一的 “更新门(Update Gate)”,并将细胞状态
3.1 数学定义
3.2 GRU vs LSTM
- 参数更少:GRU 只有 2 个门(无独立的输出门),参数总量比 LSTM 少约 1/3,计算速度更快,更不易过拟合(在小数据集上优势明显)。
- 表现对比:在大多数序列建模任务(如情感分析、语音帧预测)中,GRU 的表现与 LSTM 相当甚至略优。但在需要精确记忆极长期内容(如生成复杂的代码或长文档摘要)时,LSTM 的独立细胞状态结构依然提供更强大的容量。
- 本质联系:若将
视作 LSTM 的遗忘门 ,将 视作输入门 ,GRU 强制了 的约束,而 LSTM 允许两者独立(即可以同时遗忘旧信息并写入新信息,或两者皆可)。
第四部分:CNN + LSTM 融合架构——视觉与语义的联姻(以文字识别 CRNN 为例)
单一的 RNN 难以直接处理 2D 图像(因为图像像素间存在极强的局部空间相关性,且序列过长)。2015 年提出的 CRNN(Convolutional Recurrent Neural Network) 完美结合了 CNN 强大的特征提取能力和 RNN 的序列上下文建模能力,成为了场景文字识别(Scene Text Recognition)和语音识别中的经典范式。
4.1 架构拆解(三大模块)
卷积层(CNN,特征提取器): 接收原始图像
,通过多层的卷积、池化操作,输出特征图 。这里的 CNN 通常使用 VGG 或 ResNet 的前几层,用于将原始像素转换为具有语义的高级特征(如笔画方向、边缘轮廓)。 特征序列映射(Map-to-Sequence): CRNN 的关键转换在于:将特征图的“列”(Columns)视为时间序列。对特征图
按列切分,每一列 作为一个“时间步”的特征向量输入到 RNN 中。 例如,输入图像宽 160px,经过 4 倍下采样(Stride=4)后,
。这意味着 RNN 接收的是一个长度为 40 的序列。每一列特征包含了该垂直切片内的所有像素信息。 循环层(LSTM/GRU,上下文建模): 将序列
输入双向 LSTM(BiLSTM)。双向结构可以同时利用前向和后向的上下文,这对文字识别至关重要(例如,看到“ing”后缀可以反推前面是“jump”)。 最终,每个时间步输出一个关于字符类别的概率分布。
4.2 序列对齐与 CTC 损失(Connectionist Temporal Classification)
这是整个架构的“魔法引擎”。传统分类需要标注每个像素/列对应哪个字符(数据标注成本极高)。CTC 引入了一个特殊的 blank(空白)标签,允许网络输出一个长度远大于目标字符串长度的序列(只需预测“出现哪些字符”,不需对齐)。 CTC 通过动态规划(前向-后向算法) 将所有可能的“路径”映射到最终标签序列的概率,直接最大化该概率。CRNN + CTC 成为 OCR(光学字符识别)领域统治多年的工业级标准。
第五部分:线性注意力——向线性复杂度的进击与 RNN 的回归
Transformer 强大的全局建模能力虽好,但其自注意力复杂度为
线性注意力(Linear Attention) 的提出,旨在将这两条路径合二为一:让模型在训练时具有并行计算的 Transformer 形式,但在推理或隐式表示上,其计算复杂度是 O(L) 的“RNN 形式”。
5.1 Softmax 注意力的“内核化”改写
标准自注意力的
若将
突破性转变:现在,
5.2 线性注意力与 RNN 的等价性(因果推断)
在自回归生成(Causal)设定下(只看过去信息,不看未来),上述公式退化为递归累加,完美等价于一个 RNN:
这里的
5.3 核心挑战与解决方案(特征映射的选择)
如果
- 挑战:Softmax 能让分数高的权重接近 1,分数低的接近 0;而线性注意力是所有键的“加权平均”,容易引入噪声干扰。
- 变体:DeltaNet 或 RWKV(Receptance Weighted Key Value) 引入“衰减因子”或“门控机制”,让模型能够像 LSTM 的遗忘门一样控制旧信息的衰减,甚至允许“擦除”或“重置”记忆。这实质上是对线性注意力进行的“RNN 式门控增强”。
结语:循环的回归与融合
从基础 RNN 的脆弱记忆,到 LSTM 的精巧阀门,再到 GRU 的简约高效,循环神经网络在很长一段时间内定义了序列建模的标准。CNN+LSTM 的融合架构更证明了,单一模型无法通吃万物,多模态融合才是解决复杂感知任务(如文字识别、视频理解)的必经之路。
面对 Transformer 的降维打击,RNN 并没有消亡。线性注意力的提出,证明了 RNN 在底层本质上与注意力机制是同构的——都是“查询-键-值”的聚合,只是聚合的方式(是显式的全局矩阵乘法,还是递推的状态累积)不同。随着上下文窗口增长到百万级,线性复杂度的原生优势将重新变得不可忽视。
未来的方向不是“RNN vs Transformer”的二元对立,而是融合。正如 Mamba(状态空间模型)和 RetNet 所展示的,下一代序列模型正试图兼顾 RNN 的线性推理效率、LSTM 的门控记忆调节能力以及 Transformer 的并行训练优势。架构虽有更迭,但有效处理长序列上下文这一根本命题,永远是序列建模的北极星。