bilibili_limu: https://www.bilibili.com/video/BV1PL411M7eQ
以下引用的句子都来自李沐讲的视频。
Bert的出现,使得我们终于可以在一个大的数据集上训练好一个比较深的神经网络,然后应用在很多NLP的任务上面,既简化了这些NLP任务的训练,又提升了它的性能。
Bidirectional Encoder Representations from Transformers. 与最近的语言表示模型(Peters et al.,2018a;Radford et al.,2018 这里指的是ELMo和GPT模型)不同,BERT 旨在通过对所有层的左右上下文进行联合调节,从未标记的文本中预训练深度双向表示( GPT是单向的,所以其更适合做生成 )。 因此,预训练的 BERT 模型可以仅通过一个额外的输出层进行微调,从而为各种任务(例如问答和语言推理)创建最先进的模型,而无需对特定于任务的架构进行大量修改( ELMo是基于RNN的,所以如果应用其他任务,需要做较多的结构修改 )。
BERT概念简单,经验强大。它在11个自然语言处理任务上获得了新的最先进的结果,包括将GLUE分数提高到80.5%(**7.7%**的绝对改进点),多项准确率提高到86.7%(4.6%的绝对改进点),SQuAD v1.1答题测试F1达到93.2(1.5分绝对提高),SQuAD v2.0测试F1达到83.1(5.1分绝对提高)。
写论文的时候要把两点写出来,一个是绝对精度,一个是相对提升的精度。 Bert是先写了自己是基于哪些工作做了改进,然后写了自己的结果比别人好在什么地方。
语言模型预训练已被证明对提高许多自然语言处理任务是有效的 (Dai and Le,2015;Peters et al., 2018a;Radford et al.,2018;Howard and Ruder, 2018).
目前有两种将预训练的语言表示应用于下游任务的策略:基于特征的策略和微调策略)(feature-based and fine-tuning)。基于特征的方法,如ELMo (Peters et al.,2018a),使用特定任务的架构,它的输入会包括预训练好的表示作为额外特征。Fine-tuning方法,如OpenAI GPT (Radford et al.,2018),引入了最小的(minimal)特定任务参数,并通过简单微调所有预训练的参数对下游任务进行训练( 意思应该是对于下游任务不用引入更多参数了 )。这两种方法在预训练阶段具有相同的目标函数,即使用单向语言模型学习一般语言表示。
单向的语言表征模型具有局限性,从两个方向来理解句子层面的知识是很重要的!例如问答,需要理解了整个句子之后才能很好的去选择答案。
BERT受Cloze task (Taylor,1953)的启发,采用了“masked language model”(MLM)的预训练目标,缓解了前面提到的单向性约束。掩码语言模型从输入中随机屏蔽一些token,目标是仅根据其上下文来预测屏蔽词的原始词汇 id。 与从左到右的语言模型预训练不同,MLM 目标使学习到的表征能够融合左右上下文,这使我们能够预训练深度双向 Transformer。 除了掩码语言模型,我们还使用了“next sentence prediction”任务来联合预训练text-pair表征。
<aside> 💡 “next sentence prediction” 意指给定两个句子,判断这两个句子在原文里是否相邻。这样可以让模型学习到句子层面的一些信息。
</aside>
本文的贡献如下:
ELMo及类似的工作。