学习 深度学习5-循环神经网络总结
循环神经网络(RNN)及 LSTM 总结
循环神经网络(Recurrent Neural Network, RNN)具备时序处理能力,可对多时间步序列数据进行迭代处理。其核心特征是:除输入层提供的特征向量外,前一个时间步的隐藏状态会作为当前时间步的输入,因此输入的序列数据需满足特定的时序顺序,以保证模型能捕捉序列中的时序依赖关系。
一、基础循环神经网络(RNN)
1. 数学表达式
设时间步 t 的输入为特征向量 Xt,隐藏状态为 ht,模型输出为 Ot,其中:
ht = f (U・Xt + W・ht-1 + bh)
Ot = g (V・ht + bo)
各参数说明:
f 为隐藏层激活函数(常用 tanh、sigmoid),g 为输出层激活函数(根据任务选择,如分类任务用 softmax,回归任务用恒等函数);
U 为输入层到隐藏层的权重矩阵,W 为隐藏层到自身的权重矩阵,V 为隐藏层到输出层的权重矩阵;
bh 为隐藏层偏置项,bo 为输出层偏置项;
ht-1 为前一个时间步(t-1)的隐藏状态,用于传递时序信息。
2. 核心问题:梯度爆炸与梯度消失
RNN 在反向传播(Backpropagation Through Time, BPTT)过程中,梯度计算涉及权重矩阵的连乘运算,结合其权重共享机制(各时间步共享 U、W、V),会导致梯度异常:
梯度爆炸:当权重矩阵的谱半径大于 1 时,连乘后的梯度值会随时间步增加呈指数级增长,最终趋于无穷大,导致模型训练发散;
梯度消失:当权重矩阵的谱半径小于 1 时,连乘后的梯度值会随时间步增加呈指数级衰减,最终趋于 0,导致模型无法学习到长距离时序依赖(即无法有效更新距离输出层较远的时间步神经元参数)。
二、长短期记忆网络(LSTM)
长短期记忆网络(Long Short-Term Memory, LSTM)通过设计特殊的门控结构,有效缓解了 RNN 的梯度爆炸与梯度消失问题,能够选择性保留序列中的长期有效信息。其核心是引入细胞状态 C(Cell State)作为长期信息的存储载体,并通过遗忘门、输入门、输出门三个门控单元,实现对信息的筛选、更新与输出。
1. 门控结构及数学表达式
所有门控单元的输入均为前一个时间步的隐藏状态 ht-1 与当前时间步的输入 Xt(二者拼接为 [ht-1; Xt]),激活函数均采用 sigmoid(输出范围 0~1,用于控制信息通过率),具体如下:
(1)遗忘门
作用:筛选并保留上一个时间步细胞状态 Ct-1 中的有效信息,丢弃无用信息。
ft = σ(Wf・[ht-1; Xt] + bf) 其中,Wf 为遗忘门权重矩阵,bf 为遗忘门偏置项;ft 的输出值越接近 1,代表保留 Ct-1 中的信息越多,越接近 0 则丢弃越多。
(2)输入门
作用:筛选当前时间步输入 Xt 与前一隐藏状态 ht-1 中的有效信息,并更新到细胞状态中。包含两个部分:
it = σ(Wi・[ht-1; Xt] + bi) (信息筛选系数,控制新信息的通过率)
Ĉt = tanh (WC・[ht-1; Xt] + bC) (当前时间步的候选细胞状态,包含新输入的特征信息)
其中,Wi、WC 分别为输入门、候选细胞状态的权重矩阵,bi、bC 分别为对应偏置项;tanh 函数用于将候选细胞状态值映射到 [-1,1] 区间,避免数值溢出。
(3)细胞状态更新
结合遗忘门筛选后的历史信息与输入门筛选后的新信息,更新当前时间步的细胞状态
Ct:Ct = ft ⊙ Ct-1 + it ⊙ Ĉt
其中,⊙表示元素级乘法(Hadamard 乘积),实现信息的加权融合。
(4)输出门
作用:筛选当前细胞状态 Ct 中的有效信息,生成当前时间步的隐藏状态 ht,并用于后续时间步计算或最终输出。
ot = σ(Wo・[ht-1; Xt] + bo) (输出筛选系数)
ht = ot ⊙ tanh (Ct) (当前时间步隐藏状态)
其中,Wo 为输出门权重矩阵,bo 为输出门偏置项;tanh 函数用于对细胞状态 Ct 进行归一化,避免数值过大。
2. 梯度问题的缓解机制
LSTM 缓解梯度爆炸与梯度消失的核心的是细胞状态 C 的梯度传播机制:在反向传播过程中,细胞状态的梯度∂Ct/∂Ct-1的计算结果为包含ft的多项式,即梯度仅与遗忘门输出 ft 相关,而非 RNN 中的权重矩阵连乘。由于 ft 的输出范围为 [0,1],可通过调整遗忘门参数,使 ft 维持在合理范围内(如接近 1),从而让梯度在长序列中稳定传递,避免梯度呈指数级衰减或增长,进而有效捕捉长距离时序依赖。
更多推荐


所有评论(0)