从RNN/CNN到Transformer:为什么Self-Attention成了NLP模型的标配?
2017年Transformer架构的横空出世,彻底改变了自然语言处理的技术格局。当我们回溯NLP模型的发展历程,会发现从RNN、CNN到Transformer的演进并非偶然,而是对序列建模核心挑战的持续突破。这场技术变革背后,Self-Attention机制扮演了关键角色——它用全局视野替代了RNN的时序局限,用动态权重超越了CNN的固定卷积核,最终成为现代NLP架构的基石组件。
1. 传统序列建模的三大技术困境
1.1 RNN家族的时序之痛
循环神经网络及其变体LSTM、GRU曾长期主导序列建模任务,但其固有缺陷在实践中的表现越来越明显:
- 顺序计算的效率瓶颈:必须严格按时间步逐步处理序列,无法利用现代GPU的并行计算能力。在处理1000个词元的序列时,需要顺序执行1000次计算步骤。
- 长程依赖衰减:即使LSTM通过门控机制缓解了梯度消失,当序列长度超过200词元时,早期信息仍会显著衰减。实验显示在文本摘要任务中,当输入文档超过150词时,RNN的生成质量会下降37%。
- 状态压缩瓶颈:单个隐藏状态向量需要编码所有历史信息,就像试图用固定大小的杯子接住越来越长的水流,必然造成信息损失。
python复制# 典型RNN的前向传播实现
hidden_state = torch.zeros(hidden_size)
for word in input_sequence:
hidden_state = tanh(W_input * word + W_hidden * hidden_state + bias)
# 每个时间步必须等待前一步完成
1.2 CNN的局部视野局限
卷积神经网络通过分层卷积捕捉局部特征,但在语言理解中存在本质限制:
| 特性 | 图像数据适用性 | 文本数据适用性 |
|---|---|---|
| 平移不变性 | 高 | 低(词序敏感) |
| 局部相关性 | 高 |
