AI人工智能与数学之美

关于BERT预训练模型,你想知道的都在这~

2022-01-13  本文已影响0人  笑傲NLP江湖

原创:晋百川

BERT模型自18年10月推出,到目前为止已经有3年多时间了。BERT问世即引起轰动,之后,各种改进版本的预训练模型(Pre-Training Model, PTM)与应用层出不穷。BERT及它的继任者们,确实也不负众望,在多种NLP数据集竞赛榜单,连续多年被各种新出现的预训练模型霸榜,有些榜单,个别模型已经把指标刷到超过人类。今天就带大家聊一下BERT并进行案例实战。

一、BERT介绍

BERT的架构图如图1所示,从架构图我们可以看到BERT分三个模块,分别是Embedding模块、Transformer模块和输出的预微调模块。

图1

(1)Embedding模块:BERT中的该模块是由三种Embedding共同组成而成,如下图所示。

图2
  • Token Embeddings 是词嵌入张量,第一个单词是CLS标志,可以用于之后的分类任务。
  • Segment Embeddings 是句子分段嵌入张量,是为了服务后续的两个句子为输入的预训练任务。
  • Position Embeddings 是位置编码张量,此处注意和传统的Transformer不同,不是三角函数计算的固定位置编码,而是通过学习得出来的。
  • 整个Embedding模块的输出张量就是这3个张量的直接加和结果。

(2)双向Transformer模块:BERT中只使用了经典Transformer架构中的Encoder部分,完全舍弃了Decoder部分。BERT的Transformer的Encoder部分具有12个隐层,输出768维张量,共有12个自注意力头。

不了解Transformer的同学可以看这里!!!

https://zhuanlan.zhihu.com/p/396221959

(3)预微调模块:


  • 对于不同的任务,微调都集中在预微调模块,几种重要的NLP微调任务架构图展示如下
图3

从上图中可以发现,在面对特定任务时,只需要对预微调层进行微调,就可以利用Transformer强大的注意力机制来模拟很多下游任务,并得到SOTA的结果(句子对关系判断, 单文本主题分类, 问答任务(QA),单句贴标签(NER))。

二、BERT的预训练任务


三、BERT的变体有哪些

相信大家学到这里肯定又了一些收获,把你们的收获和疑问可以打在评论区,大家一起交流学习!!!

上一篇 下一篇

猜你喜欢

热点阅读