BERT:从Transformer中获得上下文的编码表示.

Bidirectional Encoder Representations from Transformers(BERT)是通过在未标注语料上进行自监督学习获得单词的较好特征表示的方法,其结构是TransformerEncoder。在下游任务中,可以直接使用BERT的特征表示作为该任务的词嵌入特征,并进行微调。BERT提供了两个模型,对应的超参数如下:

作者比较了ELMo,GPTBERT,只有BERT能够直接获取每一个token的相邻上下文信息,这也是其名称中bidirectional的由来。

1. BERT的预训练过程

BERT是一个多任务模型,由两个自监督任务组成。

Task #1. Masked Language Model (MLM)

训练时,对输入序列的一部分word加上mask,预测这些word。 共有$15\%$的token会被随机mask,确定要mask掉的单词之后,$80\%$的概率会直接替换为\([Mask]\),$10\%$的概率将其替换为其它任意单词,$10\%$的概率会保留原始token。 具体做法是把mask位置的词向量喂入一个简单的线性多元分类网络,同时训练BERT和这个简单的网络:

Task #2. Next Sentence Prediction (NSP)

训练时,把两个句子用\([SEP]\)连接,首部加上\([CLS]\),判断这两个句子是否有连接关系。 训练数据的生成方式是从语料库中随机抽取连续的两句话,其中$50\%$的概率保留抽取的两句话,$50\%$的概率随机从语料库中提取第二句话。 具体做法是把\([CLS]\)位置的词向量喂入一个简单的线性二元分类网络,同时训练BERT和这个简单的网络:

由于BERT的输入句子形如[CLS]句子1[SEP]句子2,因此输入的编码向量使用三种嵌入向量之和:

BERT在训练时,同时使用上述两种方法。

2. BERT的微调过程

BERT在训练完成后,便可以针对不同的下游任务进行微调。

1. Sentiment analysis & Document Classification

2. Slot filling

3. Natural Language Inference

4. Extraction-based Question Answering(QA)

训练两个向量,橙色向量寻找起始位置,蓝色向量寻找终止位置:

Enhanced Representation through Knowledge Integration(ERNIE)是为中文设计的$BERT$模型: