一、这篇论文解决的问题
预训练模型
预训练的好处:可以利用大量的无标注数据
两种预训练的策略:
- 基于特征:预训练好的表示,作为额外的特征输入
- 基于微调:预训练好的模型,修改最后一层,然后直接在相应数据集上进行训练
相关工作的不足:
- GPT:单向
- ELMo:基于特征的预训练;没有用transformer
本文的核心:
- transformer编码器
- 双向
- MLM + NSP
- 基于微调
二、模型本身的要点
参数计算
嵌入层:30K x H
注意力部分:L个头
- Q、K、V:H x H x 3
- 输出:H x H
- 全连接1: H x 4H
- 全连接2: 4H x H
参数总量 = 30K x H + L x 12 x H x H
输入的表示
原始输入:[CLS] + 句子1 + [SEP] + 句子2
输入层最后的embedding = token embedding(词元和CLS、SEP) + segment embedding(区分SEP前后的句子) + position embedding(位置)