BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
1. Abstract
- BERT是一个基于上下文信息的深度双向表示预训练模型
- 对于一个具体任务(QA、机器翻译等),只需在BERT模型基础上添加一个输出层进行fine-tuned即可(得到一个针对这个任务的、性能优良的模型),无需再做大规模修改
2. Introduction
目前两种主流预训练语言表示的应用策略:
- feature-based:将预训练表示作为额外特征,并使用tasks-specific结构的方法,如ELMo1。
- fine-tuning:尽可能少地引入task-specific参数,并在预训练参数的基础上,利用实际任务的训练进行微调,如Generative Pre-trained Transformer (OpenAI GPT)2。
作者认为,当下的技术未能将预训练表示(尤其是fine-tuning方法)的作用完全开发,原因在于单向(只基于上文或只基于下文)的标准语言模型限制了预训练时结构的选择。因此作者在双向和遮蔽语言模型(masked language model)思想的基础上提出了BERT方法:
Bidirectional Encoder Representations from Transofrmers
主要贡献:
- 首个基于微调的表示模型,在大量句子级和token级任务上实现最先进的性能,强于许多面向特定任务体系架构的系统
- 证明了双向预训练对于语言表示的重要性。与使用OpenAI和ELMo等单向语言模型进行预训练不同,BERT使用遮蔽语言模型来;实现预训练的深度双向表示证明了双向预训练对于语言表示的重要性。与使用OpenAI和ELMo等单向语言模型进行预训练不同,BERT使用遮蔽语言模型来;实现预训练的深度双向表示
- 刷新11项NLP记录刷新11项NLP记录
3. BERT
3.1 Model Architecture
模型结构:
多层双向Transformer3编码器
参数:
层(Transformer blocks)数 | 隐层大小 | self-Attention heads 个数 | feed-forward/filter size |
---|---|---|---|
L L L | H H H | A A A | 4 H 4H 4H |
文中使用的两个模型:
L L L | H H H | A A A |
---|