1. 循环神经网络基础概念与核心原理
循环神经网络(Recurrent Neural Network, RNN)作为处理序列数据的经典架构,其核心设计源于对时序信息处理的需求。与传统前馈神经网络不同,RNN引入了"记忆"的概念,通过隐藏状态的循环传递实现对历史信息的保留。
1.1 RNN的基本结构解析
典型RNN单元的结构包含三个核心部分:
- 输入层(x_t):接收当前时间步的输入数据
- 隐藏层(h_t):存储历史信息的状态单元
- 输出层(y_t):生成当前时间步的预测结果
其前向传播公式可表示为:
h_t = σ(W_{xh}x_t + W_{hh}h_{t-1} + b_h)
y_t = softmax(W_{hy}h_t + b_y)
其中σ通常为tanh或ReLU激活函数,这种结构使得网络能够处理任意长度的序列数据。在实际NLP任务中,这种特性对于理解文本的上下文关系至关重要。
1.2 经典RNN的局限性
尽管RNN设计巧妙,但在实际应用中暴露了两个主要问题:
- 梯度消失问题:在反向传播过程中,梯度需要沿着时间步连续相乘,当序列较长时,梯度会指数级衰减,导致早期时间步的参数几乎无法更新
- 短期记忆限制:标准RNN难以捕捉长距离依赖关系,对于超过20个时间步的依赖关系学习效果显著下降
实践提示:当处理短文本(如情感分析)时,简单RNN可能足够;但对于机器翻译等需要长距离依赖的任务,应考虑更先进的架构。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. LSTM:长短期记忆网络的突破
长短期记忆网络(Long Short-Term Memory, LSTM)由Hochreiter和Schmidhuber于1997年提出,专门针对RNN的长期依赖问题进行了改进。
2.1 LSTM的核心机制
LSTM通过引入三个门控机制(输入门、遗忘门、输出门)和一个细胞状态,实现了对信息的精细控制:
-
遗忘门:决定从细胞状态中丢弃哪些信息
f_t = σ(W_f·[h_{t-1}, x_t] + b_f) -
输入门:确定哪些新信息将被存储到细胞状态
i_t = σ(W_i·[h_{t-1}, x_t] + b_i)
C̃_t = tanh(W_C·[h_{t-1}, x_t] + b_C) -
细胞状态更新:
C_t
