ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2019-BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

2021-06-09 18:02:31  阅读:251  来源: 互联网

标签:Pre BERT training 训练 sentence 模型 任务 token


文章目录

1. Title

文章链接:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

2. Summary

BERT模型相较于Transformer来说,在模型结构上改动不大,主要在于其采用了额外的无监督预训练任务,去捕获了双向的上下文信息,同时对输入输出也进行了改造,使得其能够适用于多种NLP任务。
通过一个预训练的BERT模型,只需要再进行简单微调,即可高质量地完成大部分NLP任务。
其采用的『CLS』Token也成为了后续Vision Transformer用于图像分类任务的基础。

3. Problem Statement

之前的语言表示模型通常只考虑到了左侧的上下文关系,也就是说当前的预测结果只与之前的输入信息有关,这对于很多语言任务来说,显然是不够充分的。
不同于之前的语言表示模型,BERT通过基于无标签文本的预训练,同时考虑左侧和右侧的上下文信息,以得到一个双向特征,随后经过预训练的BERT模型仅需要额外加入一个输出层,即可应用于大量语言任务,并且取得SOTA。

4. Method(s)

目前主要有两种将预训练的语言表示模型应用于下游任务的方法:

  • feature-based
    使用某个任务特定的模型结构,预训练特征作为额外的输入送入该模型中,以完成特定任务。
  • fine-tuning
    尽可能少地引入特定任务相关的参数,将基于下游任务进行所有参数的fine-tuning。

但目前这两种方式都只使用了left-to-right的上下文信息,或者是将left-to-right和right-to-left的上下文信息进行拼接,没能混合两个方向的上下文信息同时进行学习。

为了提升基于Fine-Tuning的方法,本文提出了BERT: Bidirectional Encoder Representations from Transformers。

  • BERT通过使用一个“Masked Language Model”(MLM)预训练方法,缓解了之前模型中对于双向信息的缺失。
  • 除此之外,BERT还引入了一个“Next Sentence Prediction”的任务,该任务可用于同时对Text-Pari Presentation的训练,从而使得BERT尽可能地适用于大部分NLP任务。

4.1 BERT

BERT总共包含两个步骤:

  1. Pre-training
    模型将基于不同的预训练任务,使用没有标签的数据进行预训练。
  2. Fine-tuning
    BERT模型首先使用预训练参数进行初始化,然后基于特定下游数据集以及任务进行微调,每个特定任务具有各自的微调模型。但不同任务中,BERT模型具有统一的结构,仅在输出等部分存在微小的不同。
    在这里插入图片描述

4.1.1 Model Architecture

BERT模型就是经典的Transformer结构,根据不同的参数,得到两个模型 B E R T B A S E BERT_{BASE} BERTBASE​、 B E R T L A R G E BERT_{LARGE} BERTLARGE​,其中BASE模型的大小与OpenAI GPT相当。

4.1.2 Input/Output Representations

为了使得BERT能够处理多种下游任务,BERT的输入的一个序列能够表示一个单独的句子或是一对句子例如<问题,答案>。因此,BERT的“sentence”可以是一个句子,也可能是打包在一起的两个句子。

除此之外,考虑到很多任务中需要进行分类,因此,每个Sequence的第一个token都是一个特殊的分类token『CLS』,这个token的最终输出的hidden state vector将用于分类任务。

打包在一起的两个句子sentence A和sentence B主要通过以下两种方法进行区分:

  • 使用一个特殊的token『SEP』将两个句子进行分割
  • 为每个token添加一个可学习的embeddings,用于指示其属于A还是B

对于每个token,其对应的BERT的input有三个来源:token,segment和position embeddings,这三个embeddings求和,即为该token对应的representation,具体见下图:
在这里插入图片描述

4.2 Pre-Training BERT

4.2.1 Masked Language Model (MLM)

按照一定百分比,随机mask某些input tokens,并且预测这些masked tokens=>Masked LM。

这些masked tokens对应的final hidden vectors会被送入一个softmax层,用于对masked token的进行分类。

在预训练时,这些masked token会被替换为一个『MASK』token,但是这个token在微调时并不存在,由此会引入预训练和微调之间的不匹配,为了解决这个问题,对于这些masked tokens,不是所有情况下都会被替换为『MASK』token,而是在80%的情况下替换为『MASK』,10%替换为任意的token,10%则不发生替换。

4.2.2 Next Sentence Prediction (NSP)

很多下游任务例如问题回答、自然语言推理等,都是基于两个句子之间的关系而得到的,而这种关系是无法直接通过语言建模来得到。

因此,BERT还预训练了一个二分类的next sentence prediction任务。对于送入BERT的sentence A和sentence B,其中B有50%的概率是A的下一句,50%的概率是来自语料库的随机的一个句子,BERT的输出C将用于分类。

4.3 Fine-tuning BERT

基于不同下游任务,送入不同的sentence A和sentence B,『CLS』特征将送入一个输出层,用于调整输出的维数,以完成特定的分类任务。

5. Evaluation

BERT通过一个模型架构进行微调,在多个NLP任务上均取得了当时最好的结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. Conclusion

通过引入双向信息,BERT可以使用同一个预训练模型在多个NLP任务上均取得优异的成绩,使得其成为了NLP领域最流行的模型。

标签:Pre,BERT,training,训练,sentence,模型,任务,token
来源: https://blog.csdn.net/weixin_39778049/article/details/117748229

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有