NNLM、Word2Vec(CBOW、Skip-gram) 与 BERT:神经网络语言模型的演进与对比

一、模型演进脉络

模型 年份 核心突破 架构深度 上下文利用
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∈Xlog⁡P(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⁡∑log⁡P(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⁡∑log⁡P(wt∣vˉcontext)\max \sum \log P(w_t \mid \bar{v}_{\text{context}})max∑logP(wt∣vˉcontext) 负采样 / 层次 Softmax 投影平均丢失顺序
Skip-gram max⁡∑∑c∈contextlog⁡P(c∣wt)\max \sum \sum_{c \in \text{context}} \log P(c \mid w_t)max∑∑c∈contextlogP(c∣wt) 独立预测 + 负采样 多次预测开销
BERT max⁡∑log⁡P(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:跨模态通用智能

核心演进线索

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

七、一句话总结

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

相关推荐
逻辑君3 小时前
认知神经科学研究报告【20260004】
人工智能·神经网络·机器学习
龙文浩_4 小时前
AI深度学习演进之路:从机器学习到大模型的范式变革
人工智能·深度学习·神经网络·算法·回归·线性回归
笨笨饿4 小时前
博客目录框架
c语言·开发语言·arm开发·git·嵌入式硬件·神经网络·编辑器
是馒头阿4 小时前
90、馒头谈自处
深度学习·神经网络·脑机接口·神经同步采集与刺激平台·植入式脑机接口
我材不敲代码5 小时前
NLP 入门——PyTorch 从零实现 Word2Vec 之 CBOW 模型
pytorch·自然语言处理·word2vec
梦梦代码精5 小时前
智能体编排 + MCP + 知识库,开源可商用!
人工智能·神经网络·gitee·开源·github·代码规范
撬动未来的支点6 小时前
【神经网络核心】张量、正向传播(空间映射)、反向传播(调整映射参数)
人工智能·深度学习·神经网络
程序媛小鱼7 小时前
deepseek相关技术理解
人工智能·深度学习·神经网络
星川皆无恙7 小时前
Transformer学习笔记:从 Attention 核心理论到机器翻译代码项目学习实战
大数据·pytorch·笔记·深度学习·神经网络·自然语言处理·transformer