我们证明了双向预训练对语言表征量的重要性。与Radford等人(2018)不同,其使用单向语言模型进行预训练,BERT使用遮蔽语言模型来实现预训练的深度双向表征量。这也与Peters等人(2018)形成对比,其使用由独立训练的从左到右和从右到左LMs(语言模型)的浅层串联。
我们展示了预训练表征量能消除许多重型工程任务特定架构的需求。BERT是第一个基于微调的表征模型,它在大量的句子级和词块级任务上实现了最先进的性能,优于许多具有任务特定架构的系统。
BERT推进了11项NLP任务的最高水平。因此,我们报告了广泛的BERT消融,证明我们模型的双向性质是最重要的新贡献。代码和预训练模型将在goo.gl/language/bert上提供。
二、相关工作预训练通用语言表征有很长历史,本节我们简要回顾中这些最常用的方法。
2.1 基于特征的方法广泛采用的单词表征学习,已经是数十年的活跃研究领域,包括非神经(Brown等,1992; Ando and Zhang, 2005; Blitzer等,2006)和神经(Collobert andWeston, 2008; Mikolov等,2013; Pennington等,2014)方法。预训练的单词嵌入被认为是现代NLP系统的组成部分,与从头学习的嵌入相比提供了显着的改进(Turian等,2010)。
这些方法已经被推广到更粗的粒度,如句子嵌入(Kiros等,2015; Logeswaran and Lee, 2018)或段落嵌入(Le and Mikolov, 2014)。与传统词嵌入一样,这些学习到的表征通常用作下游模型中的特征。
ELMo(Peters等,2017)将传统的词嵌入研究概括为不同维度。他们建议从语言模型中提取语境敏感型特征。把语境字词嵌入与现有任务特定架构集成时,ELMo针对一些主要的NLP基准(Peters et al., 2018)提出了最先进的技术,包括关于SQUAD问答(Rajpurkar等,2016),情绪分析(Socher等,2013),以及命名实体识别(Tjong Kim Sang和De Meulder,2003)。
2.2 微调方法一种源于语言模型(LMs)的迁移学习新趋势,是微调前预训练一些LM目标上的模型架构,该微调是相同型号的一种监督下游任务(Dai and Le, 2015;Howard and Ruder, 2018; Radford等,2018)。这些方法的优点是几乎没有参数需要从头开始学习。至少部分是由于这一优势,OpenAIGPT(Radford等,2018)在许多句子级别任务的GLUE基准(Wang等,2018),取得此前最好测试结果。
2.3 从监督数据转移学习虽然无监督预训练的优势在于可获得的数据量几乎无限,但也有工作表明从具有大型数据集的监督任务中可有效迁移,例如自然语言推理(Conneau等,2017)和机器翻译(Mc-Cann等,2017)。在NLP之外,计算机视觉研究也证明了从大型预训练模型迁移学习的重要性,其中一个有效的方法是微调在ImageNet上预训练的模型(Deng等,2009; Yosinski等,2014)。
三、BERT变换器双向编码器表征我们在本节介绍BERT及其详细实现。我们先介绍BERT的模型架构和输入表征。然后,我们将在3.3节中介绍预训练任务,即本文的核心创新。预训练程序和微调程序分别在第3.4节和第3.5节中详述。最后,第3.6节讨论了BERT和OpenAIGPT之间的差异。
3.1 模型架构Model ArchitectureBERT模型架构是一种多层双向变换器(Transformer)编码器,基于Vaswani等人(2017年)描述并在tensor2tensor库发行的原始实现。因为变换器的使用最近变得无处不在,我们架构的实施有效地等同于原始实现,所以我们会忽略模型架构详尽的背景描述,并向读者推荐Vaswani等人(2017)的优秀指南,如“注释变换器”。()
在这项工作中,我们把层数(即Transformer blocks变换器块)表征为L,隐节点大小表征为H,自注意力数目表征为A。在所有情况下,我们设置前馈/过滤器的尺寸为4H,如H=768时为3072,H=1024时为4096。我们主要报告在两种模型尺寸上的结果:
BERTBASE:L=12,H=768,A=12,总参数=110M
BERTLARGE:L=24,H=1024,A=16,总参数=340M