一、模型演进脉络
| 模型 | 年份 | 核心突破 | 架构深度 | 上下文利用 |
|---|---|---|---|---|
| NNLM | 2003 | 神经网络替代统计语言模型 | 浅层(1隐藏层) | 固定窗口 |
| Word2Vec | 2013 | 高效预测任务学习词向量 | 极浅层(无激活) | 固定窗口 |
| CBOW/Skip-gram | 2013 | 两种互补预测架构 | 极浅层 | 对称窗口 |
| BERT | 2018 | 双向Transformer预训练 | 深层(12-24层) | 全句双向 |
二、NNLM:神经网络语言模型的奠基
2.1 核心思想
NNLM(Neural Network Language Model)由 Bengio 等人于 2003 年提出,首次用神经网络替代传统的 n-gram 统计语言模型 。其核心创新在于:
利用上下文之间的相似性来评估给定上下文中单词的概率分布,通过学习上下文的概率分布来泛化知识,从而对上下文的微小变化具有鲁棒性
典型示例:即使从未见过 "he was driven his bike",根据与 "drive" 频繁共现的单词(如车辆而非山或房子),模型仍能推断合理续接 。
2.2 数学架构
输入层 :将 n 个上下文单词的 One-Hot 向量拼接,构建 n×∣V∣n \times |V|n×∣V∣ 的上下文矩阵
投影层 :通过权重矩阵 W∈R∣V∣×d\mathbf{W} \in \mathbb{R}^{|V| \times d}W∈R∣V∣×d 将高维稀疏向量映射到低维稠密空间
隐藏层:非线性激活(tanh/sigmoid)提取特征
输出层:Softmax 生成词汇表上的概率分布
P(wt∣wt−n+1,⋯ ,wt−1)=exp(ywt)∑w∈Vexp(yw) P(w_t | w_{t-n+1}, \cdots, w_{t-1}) = \frac{\exp(\mathbf{y}{w_t})}{\sum{w \in V} \exp(\mathbf{y}_w)} P(wt∣wt−n+1,⋯,wt−1)=∑w∈Vexp(yw)exp(ywt)
2.3 关键贡献与局限
| 贡献 | 局限 |
|---|---|
| 引入分布式词表示 | 计算复杂度高(Softmax 归一化开销大) |
| 缓解 n-gram 数据稀疏问题 | 固定上下文窗口(通常 5-10 词) |
| 相似上下文共享参数 | 无显式词序建模(投影层为词袋) |
三、Word2Vec:预测模型的效率革命
3.1 核心创新
Mikolov 等人 2013 年提出的 Word2Vec 是对 NNLM 的极致简化 :
通过去除隐藏层非线性激活,直接以预测任务学习词嵌入,大幅提升训练效率
架构对比:
| 组件 | NNLM | Word2Vec |
|---|---|---|
| 隐藏层激活 | tanh/sigmoid | 无(线性投影) |
| 输出层 | 完整 Softmax | 层次 Softmax / 负采样 |
| 训练目标 | 语言模型概率 | 词向量语义关系 |
| 速度 | 慢 | 快 1-2 个数量级 |
3.2 CBOW:上下文聚合预测中心词
目标:给定上下文窗口内的词,预测中心词
架构公式 :
输入:上下文词 One-Hot 向量 x1,x2,...,xcx_1, x_2, \ldots, x_cx1,x2,...,xc
隐藏层(投影平均):
h=WT(x1+x2+⋯+xc)/C h = \mathbf{W}^T (x_1 + x_2 + \cdots + x_c) / C h=WT(x1+x2+⋯+xc)/C
输出层 Softmax:
P(wt∣context)=exp(vwt′⊤⋅h)∑w∈Vexp(vw′⊤⋅h) P(w_t | \text{context}) = \frac{\exp(\mathbf{v}{w_t}'^\top \cdot h)}{\sum{w \in V} \exp(\mathbf{v}_w'^\top \cdot h)} P(wt∣context)=∑w∈Vexp(vw′⊤⋅h)exp(vwt′⊤⋅h)
关键特性 :上下文词向量取平均,丢失词序信息,但计算高效
3.3 Skip-gram:中心词扩展预测上下文
目标:给定中心词,预测周围上下文词
训练样本形式 :(t,(ci)i=0t)∈V×V<N(t, (c_i)_{i=0}^{t}) \in V \times V^{<N}(t,(ci)i=0t)∈V×V<N,即(目标词,上下文词序列)
输入-输出对生成 :
(ϕ(t),ϕ(c0)),(ϕ(t),ϕ(c1)),...,(ϕ(t),ϕ(ct)) (\phi(t), \phi(c_0)), (\phi(t), \phi(c_1)), \ldots, (\phi(t), \phi(c_t)) (ϕ(t),ϕ(c0)),(ϕ(t),ϕ(c1)),...,(ϕ(t),ϕ(ct))
其中 ϕ\phiϕ 为 One-Hot 编码函数
独立预测假设 :每个上下文词被独立预测
P(c1,c2,...,cm∣wt)=∏i=1mP(ci∣wt) P(c_1, c_2, \ldots, c_m | w_t) = \prod_{i=1}^{m} P(c_i | w_t) P(c1,c2,...,cm∣wt)=i=1∏mP(ci∣wt)
3.4 CBOW vs Skip-gram 深度对比
| 维度 | CBOW | Skip-gram |
|---|---|---|
| 预测方向 | 多 → 一(上下文→中心) | 一 → 多(中心→上下文) |
| 输入表示 | 上下文词向量平均 | 中心词 One-Hot |
| 速度 | 更快(单次前向) | 较慢(多次预测) |
| 低频词效果 | 一般 | 更好(独立预测强化信号) |
| 语义精度 | 对常见词更平滑 | 捕捉更细粒度关系 |
| 适用场景 | 大规模语料、快速训练 | 小规模语料、稀有词重要 |
数学关系 :
- CBOW 等价于简化版的二元组语言模型(当窗口=1时)
- Skip-gram 的负采样形式:
logσ(vwO′⊤⋅vwI)+∑i=1kEwi∼Pn(w)[logσ(−vwi′⊤⋅vwI)] \log \sigma(\mathbf{v}{w_O}'^\top \cdot \mathbf{v}{w_I}) + \sum_{i=1}^{k} \mathbb{E}{w_i \sim P_n(w)} [\log \sigma(-\mathbf{v}{w_i}'^\top \cdot \mathbf{v}_{w_I})] logσ(vwO′⊤⋅vwI)+i=1∑kEwi∼Pn(w)[logσ(−vwi′⊤⋅vwI)]
四、BERT:从静态嵌入到动态上下文表示
4.1 核心范式转变
| 特性 | Word2Vec/CBOW/Skip-gram | BERT |
|---|---|---|
| 嵌入性质 | 静态(一词一向量) | 动态(语境相关) |
| 上下文利用 | 局部固定窗口 | 全句双向 |
| 架构 | 浅层无激活 | 深层 Transformer |
| 预训练任务 | 简单预测 | 掩码语言模型 + 下句预测 |
| 语义能力 | 词级关系 | 句级理解、推理 |
4.2 双向编码器架构
Transformer 编码器堆叠 :
H(l)=TransformerEncoder(H(l−1)) \mathbf{H}^{(l)} = \text{TransformerEncoder}(\mathbf{H}^{(l-1)}) H(l)=TransformerEncoder(H(l−1))
双向自注意力 :
Attention(Q,K,V)=softmax(QKTdk)V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk QKT)V
关键:每个位置同时 attending 到左右两侧所有位置,实现真正的双向语境融合
4.3 掩码语言模型(MLM)
训练目标:随机掩码 15% 的 token,基于双向上下文预测原词
LMLM=−Ex∈XlogP(xmasked∣xcontext) \mathcal{L}{\text{MLM}} = -\mathbb{E}{x \in \mathcal{X}} \log P(x_{\text{masked}} | x_{\text{context}}) LMLM=−Ex∈XlogP(xmasked∣xcontext)
与 Word2Vec 的关键区别:
- Word2Vec:固定窗口,独立预测
- BERT:动态掩码,全句依赖,深层非线性交互
五、综合对比:理论、计算与应用
5.1 数学本质对比
| 模型 | 核心优化目标 | 参数学习机制 | 复杂度瓶颈 |
|---|---|---|---|
| NNLM | max∑logP(wt∣wt−n+1t−1)\max \sum \log P(w_t \mid w_{t-n+1}^{t-1})max∑logP(wt∣wt−n+1t−1) | 反向传播 + SGD | Softmax 归一化 O(∣V∣)O(|V|)O(∣V∣) |
| CBOW | max∑logP(wt∣vˉcontext)\max \sum \log P(w_t \mid \bar{v}_{\text{context}})max∑logP(wt∣vˉcontext) | 负采样 / 层次 Softmax | 投影平均丢失顺序 |
| Skip-gram | max∑∑c∈contextlogP(c∣wt)\max \sum \sum_{c \in \text{context}} \log P(c \mid w_t)max∑∑c∈contextlogP(c∣wt) | 独立预测 + 负采样 | 多次预测开销 |
| BERT | max∑logP(wmasked∣wcontext)\max \sum \log P(w_{\text{masked}} \mid \mathbf{w}_{\text{context}})max∑logP(wmasked∣wcontext) | MLM + NSP + AdamW | 深层注意力 O(n2d)O(n^2d)O(n2d) |
5.2 词向量性质对比
| 性质 | Word2Vec 系列 | BERT |
|---|---|---|
| 一词多义 | ❌ 无法处理(bank=金融/河岸) | ✅ 动态消解 |
| 多词表达 | ❌ 短语需特殊处理 | ✅ 子词 tokenization |
| 情感极性 | ⚠️ "good"≈"bad"问题 | ✅ 语境区分 |
| 长程依赖 | ❌ 窗口限制(通常 5-10) | ✅ 全句建模 |
| 句法结构 | ⚠️ 隐式捕捉 | ✅ 显式 attention 模式 |
5.3 典型应用场景
| 场景 | 推荐模型 | 理由 |
|---|---|---|
| 大规模词向量预训练 | Skip-gram + 负采样 | 效率高,低频词效果好 |
| 快速语义相似度计算 | CBOW | 训练快,常见词平滑 |
| 情感分析、文本分类 | BERT fine-tuning | 语境感知,情感极性区分 |
| 机器翻译、问答系统 | BERT/GPT | 深层语义理解,生成能力 |
| 资源受限环境 | Word2Vec | 轻量级,CPU 可训练 |
六、演进逻辑:从"预测词"到"理解语言"
统计语言模型(n-gram)
↓ 分布式假设 + 神经网络
NNLM(2003):学习分布式表示
↓ 简化架构,聚焦效率
Word2Vec(2013):CBOW / Skip-gram 预测任务
↓ 深层网络,双向语境
ELMo(2018):上下文相关嵌入
↓ Transformer + 大规模预训练
BERT(2018+):双向深层语境理解
↓ 生成式预训练
GPT 系列:自回归语言生成
↓ 多模态扩展
GPT-4 / Gemini:跨模态通用智能
核心演进线索:
- 表示能力:静态 → 动态 → 上下文相关 → 全句双向
- 架构深度:浅层线性 → 深层非线性 → 超大规模堆叠
- 训练目标:简单预测 → 复杂掩码 → 多任务统一
- 数据规模:百万词 → 十亿词 → 万亿 token 级
七、一句话总结
NNLM 开创了神经网络语言模型,Word2Vec(CBOW/Skip-gram) 以极简预测任务实现高效词向量学习,BERT 则通过双向 Transformer 预训练,将词嵌入从"静态符号"提升为"动态语境理解"------三者共同构成了现代 NLP 从"统计建模"到"深度学习"再到"大模型预训练"的完整技术谱系。