动手学习深度学习(25)BERT
创建BERT的动机:预训练的模型抽取了足够多的信息,新的任务只需要增加一个简单的输出层。
BERT架构
只有编码器的Transformer
两个版本:
Base:
Large:
在大规模数据上训练 > 3B 词
对输入的修改
- 每个样本是一个句子对
- 加入额外的片段嵌入
- 位置编码可学习
预训练任务1:带掩码的语言模型
Transformer的编码器是双向的,标准语言模型要求单向
带掩码的语言模型每次随机(15%概率)将一些词元换成<mask>
因为微调任务中不出现<mask>
80%概率下,将选中的词元变成<mask>
10%概率下换成一个随机词元
10%概率下保持原有的词元
预训练任务2:下一句子预测
预测一个句子对中两个句子是不是相邻
训练样本中:
50%概率选择相邻句子对:<cls>this movie is great <sep> i like it <sep>
50%概率选择随机句子对:<cls>this movie is great <sep> hello world<sep>
将<cls>对应的输出放到一个全连接层来预测
- Title: 动手学习深度学习(25)BERT
- Author: 茴香豆
- Created at : 2023-02-13 20:27:20
- Updated at : 2023-02-13 20:52:58
- Link: https://hxiangdou.github.io/2023/02/13/DL_25/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments