关于transformer、bert、xlnet、roberta、albert的简要小结

01 transformer

transformer重要的地方是引入了attention机制,可以得到embeding的token之间的相互关系信息。以及在embeding的时候,计算了相对位置的信息,让输入的信息更加全面。细节在这里不再描述,可以参考这篇作者的链接:https://jalammar.github.io/illustrated-transformer/

02bert

Bert沿用了transformer机制,将transformer的encoder部分,引入预训练任务中。并且在encoding的部分引入mask机制,将embeding的10%做为mask,以及NSP(next sentence predition),在预训练任务中做预测。还引入了fine-tuning任务,可以接入其它下游任务,做文本分类、机器阅读理解、实体识别等任务。参考文章链接:http://jalammar.github.io/illustrated-bert/

03xlnet

xlnet结合了自回归模型和自编码型的各自优势,利用了transformer的token之间的信息机制,并且在embeding采用plm的mask方式,可以有效缓解pretrain和fine-tuning之间的信息不匹配问题。参考文章链接:https://arxiv.org/abs/1906.08237

04roberta

roberta在embeding 部分采用了动态mask的方式,将embeding部分复制多份,然后分别mask,防止了在多此epoch的时候,采用用以位置的mask信息。在embeding让长度不足最大embeding长度的10%的部分,不做训练。并且取消了NSP的任务,这样做可以让模型的效果有所提升。参考文章链接:https://arxiv.org/abs/1907.11692

05albert

albert是为了减少bert的参数量巨大,训练代价大而创建的。在hidden layer 的时候采用了降维的方法,将每层attention的参数融合,并且在与训练时用nop(next order predition)取代了nsp的任务,消除了主题结构的影响,只关注句子本身结构的信息。参考文章链接:https://arxiv.org/abs/1909.11942.

 

你可能感兴趣的:(关于transformer、bert、xlnet、roberta、albert的简要小结)