BERT模型和Big Bird模型对比

BERT模型简介

BERT模型是基于Transformers的双向编码器表示(BERT),在所有层中调整左右情境(学习上下层语义信息)。
Transformer是一种深度学习组件,能够处理并行序列、分析更大规模的数据、加快模型训练速度、拥有注意力机制,能够更好地收集词语相关上下文语境的信息。能够学习其他词语的衍生信息。更改产生更好质量的embedding表示。
双向模型在自然语言处理范围内被广泛应用。文本查看顺序为left-to-right(从左到右)和right-to-left(从右到左)。
BERT适合创建高质量情境化embedding表示。能运用语言建模等自我监督任务(无人工标注)训练BERT模型。
下图是BERT信息流动的方向(BERT能够较好地将文本表示应用于所有层中)BERT模型和Big Bird模型对比_第1张图片

BERT的输入(基于Transformer)

BERT的input embedding主要由Token Embeddings, Segment Embeddings, Position Embeddings相加获得。
I n p u t _ E m b e d d i n g s = T o k e n _ E m b e d d i n g s + S e g m e n t _ E m b e d d i n g s + P o s i t i o n _ E m b e d d i n g s Input\_Embeddings = Token\_Embeddings + Segment\_Embeddings + Position\_Embeddings Input_Embeddings=Token_Embeddings+Segment_Embeddings+Position_Embeddings

  • Token Embeddings,主要将word切分为subword(子词),具体例子为将playing切分为play和##ing。
  • Segment Embeddings,主要用于区分不同句子,比如输入有两个句子,所以Segmnt Embeddings有两种为 E A E_{A} EA E B E_{B} EB
  • Position Embeddings,主要为存储位置信息,BERT 的 Position Embedding 也是通过学习得到的,在 BERT 中,假设句子最长为 512。
    BERT模型和Big Bird模型对比_第2张图片

BERT的预训练任务Mask LM

BERT预训练任务主要为Mask LM任务(掩码预测任务)和Next sentence predict(NSP)(下一句预测)任务。
Mask LM任务较好缓解了双向文本查看顺序的信息泄露问题。信息泄露的图示具体如下(有些模型在编码的时候已知预测的信息)
BERT模型和Big Bird模型对比_第3张图片
BERT在预训练任务Mask LM的时候只预测MASK位置的单词,这样能够更好的利用上下文信息,能够获得更高质量的embedding表示。但在后续的任务中句子都为一个完整的句子(不出现MASK),为了缓解此类问题,在训练过程中采取下列操作,具体操作如下所示。

例句为"my dog is hairy", 选择了hairy 作为MASK。

  • 80%的概率,将句子"my dog is hairy"转化为"my dog is [MASK]"
  • 10%的概率,句子"my dog is hairy"不做任何修改
  • 10%的概率,替换hairy替换为apple,将句子"my dog is hairy"转化为"my dog is apple"

BERT的预训练任务Next Sentence Prediction(NSP)

NSP(next sentence prediction)任务具体如下。先假设有A和B两个句子。BERT将A和B拼接在一起,具体如下所示, [CLS] A1 A2 A3 … An [SEP] B1 B2 B3 … Bn 。在NSP任务中,BERT会有50%的概率选择相连的两个句子(A和B为上下句)A,B。有50%的概率没有选择到相连的两个句子A,B。通过BERT输入的[CLS]的标志位的输出C判断(预测)句子A下一句是否是B。具体情况如图所示。
BERT模型和Big Bird模型对比_第4张图片

BERT代码

Github上的Bert official code

BERT模型效果

GLUE九个任务的实验结果

BERT模型和Big Bird模型对比_第5张图片

SQuAD1.1任务的实验结果

BERT模型和Big Bird模型对比_第6张图片

Big Bird模型

参考

Big Bird
英伟达bert介绍
彻底理解 Google BERT 模型

你可能感兴趣的:(自然语言处理,bert,人工智能,深度学习)