一、模型演进脉络

模型 年份 核心突破 架构深度 上下文利用
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} WRV×d 将高维稀疏向量映射到低维稠密空间

隐藏层:非线性激活(tanh/sigmoid)提取特征

输出层:Softmax 生成词汇表上的概率分布

P ( w t ∣ w t − n + 1 , ⋯   , w t − 1 ) = exp ⁡ ( y w t ) ∑ w ∈ V exp ⁡ ( y w ) 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(wtwtn+1,,wt1)=wVexp(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 向量 x 1 , x 2 , … , x c x_1, x_2, \ldots, x_c x1,x2,,xc

隐藏层(投影平均):
h = W T ( x 1 + x 2 + ⋯ + x c ) / C h = \mathbf{W}^T (x_1 + x_2 + \cdots + x_c) / C h=WT(x1+x2++xc)/C

输出层 Softmax:
P ( w t ∣ context ) = exp ⁡ ( v w t ′ ⊤ ⋅ h ) ∑ w ∈ V exp ⁡ ( v w ′ ⊤ ⋅ 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(wtcontext)=wVexp(vw′⊤h)exp(vwt′⊤h)

关键特性:上下文词向量取平均,丢失词序信息,但计算高效

3.3 Skip-gram:中心词扩展预测上下文

目标:给定中心词,预测周围上下文词

训练样本形式 ( t , ( c i ) i = 0 t ) ∈ V × V < N (t, (c_i)_{i=0}^{t}) \in V \times V^{<N} (t,(ci)i=0t)V×V<N,即(目标词,上下文词序列)

输入-输出对生成
( ϕ ( t ) , ϕ ( c 0 ) ) , ( ϕ ( t ) , ϕ ( c 1 ) ) , … , ( ϕ ( t ) , ϕ ( c t ) ) (\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 ( c 1 , c 2 , … , c m ∣ w t ) = ∏ i = 1 m P ( c i ∣ w t ) P(c_1, c_2, \ldots, c_m | w_t) = \prod_{i=1}^{m} P(c_i | w_t) P(c1,c2,,cmwt)=i=1mP(ciwt)

3.4 CBOW vs Skip-gram 深度对比

维度 CBOW Skip-gram
预测方向 多 → 一(上下文→中心) 一 → 多(中心→上下文)
输入表示 上下文词向量平均 中心词 One-Hot
速度 更快(单次前向) 较慢(多次预测)
低频词效果 一般 更好(独立预测强化信号)
语义精度 对常见词更平滑 捕捉更细粒度关系
适用场景 大规模语料、快速训练 小规模语料、稀有词重要

数学关系

  • CBOW 等价于简化版的二元组语言模型(当窗口=1时)
  • Skip-gram 的负采样形式:
    log ⁡ σ ( v w O ′ ⊤ ⋅ v w I ) + ∑ i = 1 k E w i ∼ P n ( w ) [ log ⁡ σ ( − v w i ′ ⊤ ⋅ v w I ) ] \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=1kEwiPn(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(l1))

双向自注意力
Attention ( Q , K , V ) = softmax ( Q K T d k ) 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,基于双向上下文预测原词

L MLM = − E x ∈ X log ⁡ P ( x masked ∣ x context ) \mathcal{L}_{\text{MLM}} = -\mathbb{E}_{x \in \mathcal{X}} \log P(x_{\text{masked}} | x_{\text{context}}) LMLM=ExXlogP(xmaskedxcontext)

与 Word2Vec 的关键区别

  • Word2Vec:固定窗口,独立预测
  • BERT:动态掩码,全句依赖,深层非线性交互

五、综合对比:理论、计算与应用

5.1 数学本质对比

模型 核心优化目标 参数学习机制 复杂度瓶颈
NNLM max ⁡ ∑ log ⁡ P ( w t ∣ w t − n + 1 t − 1 ) \max \sum \log P(w_t \mid w_{t-n+1}^{t-1}) maxlogP(wtwtn+1t1) 反向传播 + SGD Softmax 归一化 O ( ∣ V ∣ ) O(|V|) O(V)
CBOW max ⁡ ∑ log ⁡ P ( w t ∣ v ˉ context ) \max \sum \log P(w_t \mid \bar{v}_{\text{context}}) maxlogP(wtvˉcontext) 负采样 / 层次 Softmax 投影平均丢失顺序
Skip-gram max ⁡ ∑ ∑ c ∈ context log ⁡ P ( c ∣ w t ) \max \sum \sum_{c \in \text{context}} \log P(c \mid w_t) maxccontextlogP(cwt) 独立预测 + 负采样 多次预测开销
BERT max ⁡ ∑ log ⁡ P ( w masked ∣ w context ) \max \sum \log P(w_{\text{masked}} \mid \mathbf{w}_{\text{context}}) maxlogP(wmaskedwcontext) MLM + NSP + AdamW 深层注意力 O ( n 2 d ) 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:跨模态通用智能

核心演进线索

  1. 表示能力:静态 → 动态 → 上下文相关 → 全句双向
  2. 架构深度:浅层线性 → 深层非线性 → 超大规模堆叠
  3. 训练目标:简单预测 → 复杂掩码 → 多任务统一
  4. 数据规模:百万词 → 十亿词 → 万亿 token 级

七、一句话总结

NNLM 开创了神经网络语言模型,Word2Vec(CBOW/Skip-gram) 以极简预测任务实现高效词向量学习,BERT 则通过双向 Transformer 预训练,将词嵌入从"静态符号"提升为"动态语境理解"——三者共同构成了现代 NLP 从"统计建模"到"深度学习"再到"大模型预训练"的完整技术谱系。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐