什么是语言模型?
语言模型是一种计算概率分布的统计模型,用于预测给定词序列中下一个词出现的概率。其核心目标是学习自然语言的统计规律,使计算机能够理解和生成人类语言。
语言模型的数学定义:
$$P(w_1, w_2, ..., w_n) = \prod_{i=1}^{n} P(w_i | w_1, w_2, ..., w_{i-1})$$其中 $w_i$ 表示第 $i$ 个词,$P(w_i | w_1, ..., w_{i-1})$ 表示在给定前面所有词的条件下,第 $i$ 个词出现的概率。
神经语言模型的发展历程
Bengio 等人提出了第一个神经语言模型,使用前馈神经网络来预测下一个词。
引入循环连接处理序列数据,能够处理任意长度的输入序列。
解决了 RNN 的梯度消失问题,能够学习长距离依赖关系。
"Attention Is All You Need" 论文发表,完全基于注意力机制的架构。
BERT、GPT、T5 等大规模预训练模型的兴起和快速发展。
RNN vs LSTM vs Transformer
| 特性 | RNN | LSTM | Transformer |
|---|---|---|---|
| 并行处理 | ❌ 顺序处理 | ❌ 顺序处理 | ✅ 完全并行 |
| 长距离依赖 | ❌ 梯度消失 | ✅ 门控机制 | ✅ 自注意力 |
| 训练速度 | 慢 | 中等 | 快 |
| 内存使用 | 低 | 中等 | 高 (O(n²)) |
| 模型复杂度 | 简单 | 复杂 | 中等 |
RNN 的基本原理
输入
隐藏状态
输出
RNN 的核心公式:
$$h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t + b_h)$$ $$y_t = W_{hy} h_t + b_y$$优势
- 能够处理可变长度序列
- 参数共享,模型大小固定
- 理论上可以处理任意长序列
劣势
- 梯度消失/爆炸问题
- 难以并行化训练
- 长距离依赖学习困难
LSTM 的改进机制
LSTM(长短期记忆网络)通过引入门控机制解决了 RNN 的梯度消失问题:
三个关键门控
遗忘门: $f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$
输入门: $i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)$
输出门: $o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)$
LSTM 的核心创新:细胞状态 $C_t$ 提供了信息的"高速公路",允许信息在时间步之间流动而不经过非线性变换,从而缓解了梯度消失问题。
Transformer 的革命性突破
2017年,Google 提出的 Transformer 模型彻底改变了 NLP 领域,其核心创新包括:
自注意力机制 (Self-Attention)
关键优势
- 并行化:所有位置可以同时计算,大大提高训练速度
- 长距离依赖:直接建模任意两个位置之间的关系
- 可解释性:注意力权重提供了模型决策的可视化
- 可扩展性:更容易扩展到大规模参数和数据
语言建模的评估指标
困惑度 (Perplexity)
困惑度是评估语言模型最常用的指标,定义为:
困惑度越低,模型性能越好。直观上,困惑度表示模型在每个时间步平均"困惑"的程度。
其他重要指标
- BLEU:机器翻译质量评估
- ROUGE:文本摘要质量评估
- BERTScore:基于语义相似度的评估
现代语言模型的发展趋势
规模化趋势:从 GPT-1 的 117M 参数到 GPT-3 的 175B 参数,再到更大规模的模型,参数量呈指数级增长。
技术发展方向
- 模型架构优化:更高效的注意力机制、稀疏模型
- 训练效率提升:梯度检查点、混合精度训练
- 推理优化:模型压缩、知识蒸馏、量化技术
- 多模态融合:文本、图像、音频的统一建模