文章目录
1. NLP里的迁移学习
- 使用预训练好的模型来抽取词,句子的特征;例如word2vec或语言模型
- 不更新预训练好的模型
- 需要构建新的网络来抓取新任务需要的信息
- word2vec忽略了时序信息,语言模型只看了一个方向
2. BERT的动机
- 基于微调的NLP模型
- 预训练的模型抽取了足够多的信息
- 新的任务只需要增加一个简单的输出层
3. BERT架构
- 只有编码器的Transformer
- 两个版本;
(1)Base:#blocks=12,hidden size=768,#heads=12,#parameters=110M
(2)Large:#blocks=24,hidden size=1024,#heads=16,#parameters=340M - 在大规模数据上训练> 3B
4. BERT细节
4.1 对输入的修改
- 每个样本是一个句子对
- 加入额外的片段嵌入
- 位置编码可学习
4.2 预训练任务1:带掩码的语言模型
- Transfomer的编码器是双向,标准语言模型要求单向
- 带掩码的语言模型每次随机(15%概率)将一些词元换成
<mask>
- 因为微调任务中不出现
<mask>·
(1)80%概率下,将选中的词元变成<mask>
(2)10%概率下换成一个随机词元
(3)10%概率下保持原有的词元