核心要点
静态 → 动态上下文:Word2Vec/GloVe 一词一向量、无法消歧;ELMo/BERT 按上下文动态生成表示
浅层 → 深层:从浅层共现/单层网络到多层 Transformer 编码
单向/局部 → 双向全局:BERT 用 MLM 实现真正的深度双向编码
特征抽取器升级:LSTM → Transformer,可并行、长依赖建模更强
标准回答
这道题考的是对表示学习进化线的整体把握,可以沿五条主线讲清楚。
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 得到不同的隐状态,语境不同向量就不同,从而自然完成消歧。
追问 2:BERT 为什么不能像 GPT 那样直接用标准语言模型目标来训练双向?
标准自回归语言模型预测下一个词,若允许双向,模型会通过右侧上下文「看到答案」,造成信息泄漏,目标失效。BERT 因此改用 MLM:随机遮住部分 token,让模型用左右上下文预测被遮的词,这样既利用了双向信息又避免了泄漏。代价是引入了下游不存在的 [MASK] 符号,带来预训练-微调不一致问题。
追问 3:Transformer 相比 LSTM 在表示学习上的核心优势是什么?
两点:一是可并行,自注意力对整个序列同时计算,不必像 RNN 按时间步串行,极大提升训练吞吐,使大规模预训练可行;二是长依赖建模强,任意两位置间是 O(1) 的直接连接,不会像 RNN 那样随距离衰减,配合多头注意力还能从多个子空间捕捉不同关系。
🔗 相似问题
同一考点的不同问法,面试官可能换着问,一起刷更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习