BERT 学习笔记
本部分来源于论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》 (arXiv: 1810.04805)
0 摘要
语言表示模型 —— BERT:Bidirectional Encoder Representations from Transformers(来自Trabsformer的双向编码表示)。BERT被设计成通过在所有层共同调节包括左右的上下文来预训练深度双向表示,因此只需一个输出层,就可以对预先训练好的BERT模型进行微调来得到最先进的模型,而不需要对特定的任务进行实质性的修改。
1 介绍
目前有两种把预训练模型应用到任务的思路:
- 基于特征 feature-based
- 微调 fine-tuning
它们都是使用单向的语言模型来学习一般的语言表示。作者认为当前的技术严重(特别是对于微调类的)预训练表示模型的能力,主要的限制是因为他们是单向的,这就限制了在预训练中使用的模型结构。
Masked Language Model(MLM):随机在输入中掩盖一些单词,目的是根据被掩盖的词的上下文来预测被掩盖的词。和从左到右的预训练语言模型不同,MLM允许表示融合向左和向右的上下文,这就可以预训练一个深层双向的Transformer。除此之外,作者还介绍了一个“预测下一句”的联和预训练文本对表示的任务。
作者贡献如下所示:
- 论证了双向预训练对语言表达的重要性。不像那些用单向模型来进行预训练,BERT材料 MLM 来预训练深度双向表示,这也和独立训练从左到右以及从右到左的LMS浅链接不同。
- 表明了预训练表示消除了许多繁重工程特定任务的体系结构的需求。
- 证明了在这个模型里,双向性质是最重要的新贡献。
2 相关工作
- Feature-based 方法
- Fine-tuning 方法
- Transfer Learning from Supervised Data
3 BERT
首先介绍BERT的体系结构和输入表示,然后介绍预训练任务,最后套路BERT和OpenAI GPT的不同。
3.1 模型结构
BERT的模型结构是一个多层双向Transformer编码器。如图一所示,BERT使用双向Transformer,GPT使用从左到右的Transformer,ELMo则独立训练从左到右和从右到左的LSTM。
作者主要以 B E R T L A R G E : L = 24 , H = 1024 , A = 16 , T o t a l P a r a m e t e r s = 340 M BERT_{LARGE} : L = 24,H = 1024,A = 16,Total~Parameters = 340M BERTLARGE:L=