BERT

2018年,对于NLP领域来说是最让人激动的一年。先后诞生的ELMo、GPT、BERT在预训练语言模型方面的成功给NLP领域的研究带来了新的姿势。特别是BERT(Bidirectional Encoder Representations from Transformers),在11项自然语言任务上刷新了最好成绩,同时BERT论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》获得NLP领域顶会NAACL 2019的最佳论文奖。

BERT抛弃了传统的RNN和CNN,主要结构是多层Transformer,其中Self Attention机制将任意位置的两个词之间距离转换成1,有效解决了长期依赖问题。

原论文中提到两种不同规模的BERT:BERTbase 和BERT large。其中,base版本有12个隐藏层,768个隐层单元,每个Attention有12个头,参数量达到110M;large版本有24个隐藏层,1024个隐藏层,每个Attention有16个头,参数量更是达到了340M。其网络结构如下图所示:

1.png

与之前的预训练模型一样,BERT也分两个阶段: pre-training和fine-tuning。

2.png

pre-training

BERT采用两种无监督任务来做预训练,一个是token-level的Masked Language Model,另一个是sentence-level的Next sentence Prediction。两个任务同时进行,因此BERT的损失函数是两者损失函数叠加。

1、Masked Language Model

在说MLM之前,我们需要意识到一个问题。语言模型如果使用双向的,会出现数据泄露问题。也就是说,模型可以间接知道要预测的词。这也是ELMo使用两个独立的双向模型的原因。

MLM的提出正是为了解决这个问题,具体做法是随机遮蔽输入序列中15%的单词作为训练样本:

  • 80%用[MASK]代替;
  • 10%用随机词代替;
  • 10%保持不变;

这里只有15%的词被遮蔽原因是性能开销,双向编码器比单向编码器训练要慢。只选其中的80%做mask,是因为mask标记只存在于预训练阶段,在下游任务中输入并没有mask。10%用随机词,10%保持不变,原因是让编码器不知道哪些词需要预测,哪些词是错误的,因此被迫需要学习每一个词的表示向量。

2、Next Sentence Prediction

预训练一个二分类模型来学习句子之间的关系,预测下一个句子的方法对学习句子间关系很有帮助。具体做法:正样本,给定句子A和B,其中B是A在实际语境中的下一句; 负样本,句子B是语料库中随机选择的。通过两个特定的token [CLS]和[SEP]来串接两个句子。 正负样本各占一半。

3.png

输入

BERT的输入编码向量(长度512)是由三个特征向量叠加的。

4.png
1、Input Embeddings

每个输入序列的第一个token [CLS]专门用来分类,利用此位置的最后输出作为分类任务的输入embedding。在预训练时,[CLS]不参与mask,因而该位置面向整个序列的所有position做attention,[CLS]位置的输出足够表达整个句子的信息,类似一个global feature。单词token对应的embedding更关注该token的语义语法及上下文信息表达,类似一个local feature。

2、Position Embeddings

由于transformer无法获得字的位置信息,BERT也加入了绝对位置编码,但和transformer不同的是:transformer的位置编码是通过sin和cos构造出来的,这里Position Embeddings直接采用类似word embedding的方式直接获得位置编码。

3、Segment Embeddings

在预训练的句子对预测任务及问答、相似匹配等任务中,需要对前后句子做区分。将句对输入同一序列,以特殊标记 [SEP] 分割,同时对第一个句子的每个token添加Sentence A Embedding;第二个句子添加Sentence B Embedding,实验中让EA=1,EB=0。

Fine-tune

5.png

针对不同任务,BERT采用不同部分的输出做预测。由上图可以知道,BERT有两种输出:Pooler output(对应[CLS]位置的输出)和 Sequence output(对应的是序列中所有词的最后一层hidden输出)。

1、分类/回归任务(利用Pooler output)
  • Single sentence Classification tasks,例如:文本分类,我想听音乐,分到音乐这个domain);
  • Sentence Pair Classification tasks,例如:自然语言推断任务(NLI),给定前提,推断假设是否成立;
  • 回归任务,回归其实是分类的一种特殊形式,最后输出的是一个数值而不是具体的某个类别概率;例如:文本相似度,可以判断两个句子是不是类似,得到的具体分数。
2、序列任务(利用Sequence output)
  • 命名实体识别(NER);
  • 完形填空(Cloze task),其实这就是BERT预训练的一种任务;
  • SQuAD(Standford Question Answering Dataset)task,SQuAD任务输入是D、Q,其实D是该篇文章,Q是问题,返回的结果是答案开始词的位置s和结束词的位置e;

Experiments

说了这么多,我们来看看当初霸榜的BERT与先前的模型对比成绩到底如何:

6.png

最后

BERT采用Pre-training和Fine-tuning两阶段训练任务,在Pre-training阶段使用多层双向transformer,并采用Masked LM 和 Next Sentence Prediction两种训练任务解决token-level和sentence-level问题,为下游任务提供了一个通用模型框架。

在NLP领域,BERT具有里程碑意义,对后续的研究产生了深远影响。

但是我们站在当前时间点回头看,BERT自身也存在一些缺点,后续文章中会介绍到BER的缺点和优化。

参考:

https://arxiv.org/abs/1810.04805

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容