核心要点

  • 静态 → 动态上下文:Word2Vec/GloVe 一词一向量、无法消歧;ELMo/BERT 按上下文动态生成表示

  • 浅层 → 深层:从浅层共现/单层网络到多层 Transformer 编码

  • 单向/局部 → 双向全局:BERT 用 MLM 实现真正的深度双向编码

  • 特征抽取器升级:LSTM → Transformer,可并行、长依赖建模更强

  • 范式确立:「预训练 + 微调」成为 NLP 主流,下游任务复用通用表示

标准回答

这道题考的是对表示学习进化线的整体把握,可以沿五条主线讲清楚。

1. 从静态到动态上下文表示
Word2Vec、GloVe 是静态词向量:每个词无论出现在什么句子里都对应唯一一个向量,因此无法做一词多义消歧(如「苹果」公司 vs 水果共用一个向量)。ELMo、BERT 则是上下文相关(contextualized) 表示:同一个词在不同句子中会动态生成不同的向量,从根本上解决了多义词问题。

2. 从浅层到深层
Word2Vec 本质是浅层模型(一层投影 + softmax)、GloVe 基于全局共现统计,捕捉的是较表层的分布信息。BERT 用多层 Transformer 堆叠,深层网络能逐层抽象出句法、语义乃至篇章级别的特征。

3. 从单向/局部到双向全局
ELMo 用的是双向 LSTM,但本质是两个独立的单向模型拼接,并非真正的联合双向;GPT 是单向自回归。BERT 通过 MLM(Masked Language Model,掩码语言模型) 训练目标,让每个位置能同时看到左右两侧的全部上下文,实现了深度双向编码,这是表示质量的一次质变。

4. 从 LSTM 到 Transformer
特征抽取器从 RNN/LSTM 升级为 Transformer。Transformer 基于自注意力

  • 可并行:不像 RNN 必须按时间步串行,训练效率大幅提升;
  • 长依赖更强:任意两个位置间是常数级路径,缓解了 RNN 的长程依赖衰减。

5. 预训练 + 微调范式的确立
最关键的范式转变是:先在海量无标注语料自监督预训练出通用表示,再在下游任务上用少量标注数据微调。这让通用语言知识得以复用,小数据任务也能受益,奠定了之后整个大模型时代的基础。

串成一条线:Word2Vec/GloVe(静态、浅层、共现)→ ELMo(上下文、LSTM、伪双向)→ GPT(Transformer、单向、预训练微调)→ BERT(Transformer、深度双向、MLM 预训练),表示越来越动态、深层、双向、可迁移

常见误区

⚠️ 常见踩坑

别把 ELMo 的「双向」和 BERT 的「双向」等同。ELMo 是前向、后向两个独立 LSTM 的拼接,每个方向训练时仍只看一侧;BERT 用 MLM 在同一网络里联合利用左右上下文,是真正的深度双向。另外不要忽略「预训练+微调」这条范式主线——它往往是这类题的得分重点,而非只罗列模型名字。

追问

追问 1为什么静态词向量无法解决一词多义,而 BERT 可以?

静态词向量在训练后把一个词的所有语境信息「压缩」进同一个向量,查表即得,与当前句子无关,因此多义词被迫共享表示。BERT 的表示是输入整句后由各层自注意力计算出来的,同一个词会根据周围 token 得到不同的隐状态,语境不同向量就不同,从而自然完成消歧。

追问 2BERT 为什么不能像 GPT 那样直接用标准语言模型目标来训练双向?

标准自回归语言模型预测下一个词,若允许双向,模型会通过右侧上下文「看到答案」,造成信息泄漏,目标失效。BERT 因此改用 MLM:随机遮住部分 token,让模型用左右上下文预测被遮的词,这样既利用了双向信息又避免了泄漏。代价是引入了下游不存在的 [MASK] 符号,带来预训练-微调不一致问题。

追问 3Transformer 相比 LSTM 在表示学习上的核心优势是什么?

两点:一是可并行,自注意力对整个序列同时计算,不必像 RNN 按时间步串行,极大提升训练吞吐,使大规模预训练可行;二是长依赖建模强,任意两位置间是 O(1) 的直接连接,不会像 RNN 那样随距离衰减,配合多头注意力还能从多个子空间捕捉不同关系。

🔗 相似问题

同一考点的不同问法,面试官可能换着问,一起刷更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习