总结
本视频是 Transformer 与 BERT 系列课程的导论,核心观点:BERT 的出现并非横空出世,而是预训练语言模型发展的集大成者。
一、核心概念解析
1. 预训练(Pre-training)
定义:预先在大规模无标注数据上训练模型,获得一组预训练好的参数,再用下游任务的小规模标注数据进行微调。
来源:预训练思想并非起源于 NLP,而是来源于 CV(计算机视觉)领域。在 ImageNet 上预训练的模型(如 ResNet)被广泛应用于各种图像任务中。
补充说明:预训练的核心思想是"迁移学习"——将在大量数据上学到的知识迁移到特定任务上,从而解决目标领域数据不足的问题。
2. 语言模型(Language Model)
定义:一种用于计算句子概率的模型,目标是预测下一个词出现的概率。
发展脉络: - 统计语言模型:基于 n-gram 的概率统计 - 神经网络语言模型:用神经网络建模词序列关系 - 预训练语言模型:在大规模语料上预训练 + 下游任务微调
3. 词向量问题(Word Embedding)
核心问题:计算机无法直接理解人类的文字符号,如何让机器"认识"单词?
早期方案——独热编码(One-hot Encoding): - 假设词库有 8 个词,则每个词用 8 维向量表示 - 例:单词 "time" 的第 1 位为 1,其余为 0
问题:独热编码存在维度灾难和语义鸿沟问题——所有词的表示都是正交的,无法表达语义相似性。
补充说明:这正是为什么需要词向量的原因。通过学习一个低维稠密向量空间,让语义相似的词具有相似的向量表示。
二、技术演进路线(难点重点)
独热编码 → Word2Vec → ELMO → Attention → Transformer → GPT/BERT
关键节点详解:
阶段一:词向量探索(独热编码 → Word 2 Vec)
由于独热编码无法表达语义,研究者提出 Word 2 Vec(2013),通过上下文学习词的分布式表示。
补充说明:Word 2 Vec 的核心假设是"上下文相似的词,语义也相似",通过浅层神经网络学习词向量。
阶段二:预训练思想萌芽(ELMO,2018)
ELMO(Embeddings from Language Models) 的创新: - 使用双向 LSTM 编码上下文 - 首次将预训练思想引入 NLP
补充说明:ELMO 的意义在于证明了"在大规模语料上预训练语言模型,然后将学到的表示迁移到下游任务"这一范式的可行性。
阶段三:Attention 机制崛起
Attention(注意力机制) 的出现是革命性的: - 突破了 RNN/LSTM 的序列限制 - 可以并行计算 - 能够捕捉长距离依赖
补充说明:Attention 通过计算序列中各位置之间的关联度,使模型能够"关注"到最重要的信息。
阶段四:Transformer 架构(2017)
Transformer 完全基于 Attention 机制,包含: - Encoder(编码器):理解输入序列 - Decoder(解码器):生成输出序列
补充说明:Transformer 的出现标志着"Attention is All You Need"——彻底抛弃 RNN/CNN,仅用 Attention 机制构建模型。
阶段五:GPT 与 BERT(2018)
| 模型 | 架构 | 预训练任务 |
|---|---|---|
| GPT | Transformer Decoder | 单向语言模型(从左到右) |
| BERT | Transformer Encoder | 掩码语言模型(MLM) + 下一句预测(NSP) |
BERT 的创新: - 借鉴了 ELMO 的双向思想 - 借鉴了 Transformer 的 Encoder 架构 - 加入了 Mask 机制(85% 掩码)和 NSP 任务
补充说明:BERT 本身并没有发明新技术,而是集大成者——集成了之前所有工作的精华(预训练思想 + 双向编码 + Attention + Transformer 架构),并通过 Mask 机制解决了 Encoder 的双向编码问题。
三、学习路线图
预训练(迁移学习思想)
↓
语言模型(从统计到神经网络的演变)
↓
词向量问题(核心任务的载体)
↓
Word2Vec / ELMO / Attention
↓
Transformer(革命性架构)
↓
GPT / BERT(预训练语言模型的里程碑)
四、核心结论
BERT 是近年来 NLP 重大进展的集大成者。预训练语言模型的发展不是一蹴而就的,而是伴随着预训练思想、语言模型、注意力机制等技术一步步发展而来。理解这段发展史,对于深入理解 Transformer、BERT 的设计理念至关重要。
五、面试题
基础概念题
- 请解释什么是预训练?为什么预训练思想在 NLP 领域变得重要?
- 语言模型的核心任务是什么?有哪些经典的语言模型评估指标?
- 独热编码有哪些缺陷?为什么需要分布式表示(词向量)?
技术原理题
- Word 2 Vec 的核心思想是什么?它是如何训练词向量的?
- ELMO 相比 Word 2 Vec 有什么进步?为什么说 ELMO 引入了预训练思想?
- Attention 机制相比 RNN/LSTM 有什么优势?
- 请详细解释 Transformer 的 Encoder-Decoder 结构
- 为什么 BERT 使用 Mask 机制?Mask 的比例一般设置为多少?为什么?
对比分析题
- GPT 和 BERT 的核心区别是什么?分别适合什么任务?
- 为什么说 BERT 是"集大成者"?它集成了哪些前人的工作?
- Transformer 为什么会替代 RNN/LSTM 成为主流架构?
深入思考题
- 预训练语言模型存在哪些问题?(如:幻觉问题、偏见问题、计算资源问题)
- 如果让你设计一个比 BERT 更好的预训练模型,你会考虑哪些改进方向?
- 预训练语言模型是如何解决"一词多义"问题的?ELMO、BERT 分别是怎么做的?