赞
踩
全称叫Bidirectional Encoder Representation from Transformers,也就是来自于transformer的双向编码表示。bert模型有轻量级和重量级,轻量级是纵向连接了12个transformer的encoder层,重量级是纵向连接了24个transformer的encoder层,注意是transformer的encoder层,没有decoder层。所以模型的内部结构没有很大创新,模型的主要创新点是在预训练任务pre-train上,使用了MLM和NSP捕获了词语和句子级别的向量表达。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mzpvNCMO-1638277278579)(C:\Users\26942\AppData\Roaming\Typora\typora-user-images\image-20211130191822205.png)]](https://img-blog.csdnimg.cn/4aa0551e27ff427593accb798dbfdd9f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAR3VhcGlmYW5n,size_20,color_FFFFFF,t_70,g_se,x_16)
bert是双向连接了transformer的encoder层,而GPT是单向连接,类似于BiRNN和普通RNN,所以效果上bert比GPT更好,ELMo也是双向连接,但分为两个部分连接,最后把结果拼在一起。

bert的Embedding层由3个子层求和得到,分别是词向量层Token Embedings,句子层Segment Embeddings以及位置编码层Position Embeddings,特别注意的是,bert中的位置编码层是采用随机初始化训练学习得到,和transformer的正弦函数编码不同。
MLM是Mask Language Model,也就是掩码语言模型。MLM有两种方式:AR和AE。
NSP是Next Sentence Prediction,也就是下一个句子预测。

上图结构展示了 bert的4个经典任务结构示意图:句子(文本)对匹配、句子(文本)分类、问答系统、序列标注。[SEP]是句子的分隔符。
特别注意的是,因为bert是混合使用了多个transformer的encoder层,所以bert在机器翻译任务上效果好像一般,从了解的很多大佬的分享中,混合了多个transformer的decoder层做翻译的效果有时候甚至不如单个decoder效果好。所以bert是在上述4个任务中效果得到了显著的提升。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。