基于Transformer的双向编码器表示(BERT)——结构和训练

摘要:BERT是当前NLP领域效果最好的模型之一。本文对BERT的来由、结构和训练方式,以及关键环节的动机和细节,进行了简单的介绍。

1. 引言

BiDirectional Encoder Rpresentation From Transformers(基于变形金刚的双向编码器表示,BERT)可能是2019年以来,NLP领域影响力最大的算法之一。

从名字就能看出来,BERT和Transformer有非常密切的关系(关于Transformer的介绍,可以参考 zhuanlan.zhihu.com/p/12)。实际上,BERT是一种神经网络结构,以Transformer为文本特征提取器,还配套了训练数据集构建方法、模型训练方法、神队特定任务的结构修改策略等等,以支撑BERT处理我们所知道的任何一种NLP任务(文本分类、序列标注、文本匹配等等)。

Devlin J等人(2019)在论文 [1]里间接指出,BERT唯一重视的对手,是Alec Radford等人(2019)提出的GPT [2]。BERT在思想和方法上参考了较早出现的GPT ,因此二者在结构、训练策略等方面非常相似。Devlin J等人在介绍BERT的时候,也借助了GPT的部分内容。因此了解GPT,有助于更好地理解BERT(GPT的相关介绍,可以参考 zhuanlan.zhihu.com/p/12)。

2. BERT是什么

2.1. BERT是怎么来的

Jacob Devlin等人比较直爽,在论文中直接指出:他们从若干种结构、若干种训练方案、若干种参数规模,等等等等中,选出最好的一个组合,然后基于其结构特点其名为“BERT”。这种模型结构探索方式,似乎很流行。

2.2. BERT是一套完整的NLP解决方案

BERT实际上是一套完整的NLP解决方案,是从训练数据集构建到针对具体任务微调的方法、模型综合体。它的主要内容包括:(1)基于Transformer的模型结构;(2)预训练;(3)微调;(4)推断。其中推断阶段和朴素贝叶斯之类的模型区别不大,这里不做介绍。

2.3. BERT的总体结构

如图2-1,是Devlin等人在论文中给出的BERT结构示意图。BERT的输入是token序列对应的嵌入向量序列。在生命周期的不同阶段,输出是不同的:

在预训练阶段,BERT采用多任务策略,输出包括“下一个词语”和“是否为下一句”。

在微调和推断阶段,BERT(针对具体的任务)输出NER标签、答案位置等等。

这个示意图非常概括,BERT内部细节比较模糊。后面进行更详细的介绍。

图 2-1 《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》中提供的BERT结构原图

2.4. BERT的基石——Transformer

图2-1中隐去了BERT内部的结构,即Transformers。BERT与GPT在使用Transformer时最大的不同在于,前者使用了Transformer的encoder部分,而后者使用了Transformer的decoder部分。GPT认为时间循环结构有助于模型更好地刻画类似文本这样的序列数据;而BERT认为,GPT是一个“单向模型”,没有充分发挥Transformer的特征提取能力。BERT使用Transformer的encoder部分,即放弃了时间循环结构,完全依赖位置编码来辅助模型刻画序列数据中的时空关联信息。

失之东隅收之桑榆,BERT放弃了时间循环结构,也因此获得了一个机会:它可以同时处理整个输入序列,而不需要想GPT那样“扫描”。这样的结果就是,相对于GPT,BERT的并行化程度更高、计算速度更快。

图 2-2 Transformer的结构

2.5. BERT的预训练

在预训练中,BERT需要同时完成两个任务:(1)随机遮蔽词语预测;(2)“是否下一句”二分类。

2.5.1. 随机遮蔽词语预测——BERT是双向语言模型

在RNN时代,我们会用Bi-RNN或Bi-LSTM来“同时从左到右、从右到左扫描序列数据”。Bi-RNN是一种双向语言模型,刻画了正反两个方向上,序列数据中的时空依赖信息。双向语言模型,相比RNN等单向模型,可以提取更多的信息,模型潜力也更大。

Transformer也可以用来构建双向语言模型。最粗暴的方式,就是Bi-Transformer,即让2个Transformer分别从左到右和从右到左扫描输入序列。当然,这样做的话,模型参数太多,训练和推断阶段耗时会比较大。

BERT没有在Transformer的结构上费工夫,而是采用特别的训练策略,迫使模型像双向模型一样思考。这种训练策略就是随机遮蔽词语预测,其流程如图2-3。BERT会对一个句子的token序列的一部分(15%)进行处理:(1)以80%的概率遮蔽掉;(2)以10%的概率替换为其他任意一个token;(3)以10%的概率保持。“遮蔽”具体是怎么操作的呢?设定一个专门的token叫做”[MASK]”,将目标token替换为“[MASK]”即可。

图 2-3 BERT的随机遮蔽预处理流程

然后,BERT会基于未被遮蔽的一部分(剩下85%)预测被遮蔽的tokens。假设输入的token序列是“[start]我是中国人。[end]”,经过随机遮蔽处理成为” [start]我[MASK]中[MASK]人。[end]”,那么BERT就需要输出”是国”这个token序列。这就决定了,BERT使用了被遮蔽token左右两边的输入序列片段,即所谓“双向”。这个建模方式,有点类似word2vec模型。

注意,输出是被遮蔽的token序列。

2.5.2. “是否下一句”二分类

为了让模型具有理解句子关系,以更好地支持文本匹配这样的下游任务,BERT在与训练时,还要完成一个二分类任务,即判断句子B是否为句子A的下一句。

这个任务可以逼迫BERT学习如何输出更好地句子表示。

2.6. 微调

微调比较简单:添加符合任务要求的输出层,然后基于标注数据训练整个BERT。

3. 结语

从GPT和BERT出现开始,NLP领域进入了“大力出奇迹”时代。在这个时代里,大数据、大规模参数是构建一个好模型的基础——这还需要大量的计算资源。土豪们在NLP领域的装备优势越来越大了。不过也不用气馁,我们无需投入几百个GPU去跑一个不知道好不好使的结构,因为机器学习领域已经逐渐形成一种生态:高水平机构负责创造和训练基准模型,广大普通从业者基于基准模型做进一步的工作。

注意:本文为李鹏宇(知乎个人主页 zhihu.com/people/py-li-)原创作品,受到著作权相关法规的保护。如需引用、转载,请注明来源信息:(1)作者名,即“李鹏宇”;(2)原始网页链接,即当前页面地址。如有疑问,可发邮件至我的邮箱: lipengyuer@126.com。

参考

  1. ^Devlin J , Chang M W , Lee K , et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. 2018.
  2. ^https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf  https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf

深圳SEO优化公司永湖企业网站改版价格通化网站优化按天计费推荐宜宾关键词排名推荐丽水SEO按天计费多少钱模板推广推荐南联建设网站推荐和田设计公司网站价格霍邱模板网站建设哪家好银川企业网站设计公司淮南关键词按天收费哪家好信阳百度网站优化排名推荐绵阳关键词按天扣费报价昌吉网站优化软件多少钱长春企业网站设计报价石家庄网站优化软件报价海东SEO按天计费报价资阳网站推广多少钱塔城品牌网站设计伊犁百度标王龙华网站优化按天收费报价邵阳建网站推荐德宏网络推广推荐抚州网站建设甘南企业网站制作公司楚雄网站推广方案推荐亳州网络广告推广公司宁德网站优化哪家好黄南百度竞价包年推广南联网站优化按天收费报价白城百姓网标王推广推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化