BERT学习笔记


    BERT的全称是Bidirectional Encoder Representation from Transformers,即双向Transformer的Encoder。不同于最近的语言表示模型,BERT旨在通过对所有层的左右上下文进行联合调节,从未标记文本中预先训练深层双向表示。因此,预先训练好的BERT模型只需一个额外的输出层就可以进行微调,从而为广泛的任务创建最先进的模型,而无需对特定任务的体系结构进行实质性修改。

    BERT自提出以来在许多自然语言理解任务上刷新了最好指标,可以说是近年来 NLP 领域取得的最重大的进展之一。BERT 论文也斩获 NLP 领域顶会 NAACL 2019 的最佳论文奖,BERT 的成功也启发了大量的后续工作,不断刷新了 NLP 领域各个任务的最佳水平。

BERT介绍

背景

   语言模型预训练可以显著提高许多自然语言处理任务的效果,这些任务包括句子级任务,如自然语言推理和释义,目的是通过对句子的整体分析来预测句子之间的关系,以及标记级任务。
   目前将预训练语言表征应用于下游任务存在两种方法:feature-based方法和fine-tuning方法。

  • feature-based:使用将预训练表征作为额外特征的任务专用架构,例如ELMo。
  • fine-tuning:引入了任务特定最小参数,通过简单地微调预训练参数在下游任务中进行训练,例如生成预训练 Transformer (OpenAI GPT)。

   但是现有的技术严重制约了预训练表征的能力,其主要局限在于标准语言模型是单向的,这限制了可以在预训练期间使用的架构类型。例如,OpenAI GPT使用的是从左到右的架构,其中每个token只能关注Transformer自注意力层中的先前token。这些限制对于句子层面的任务而言不是最佳选择,对于token级任务则可能是毁灭性的,因为在这种任务中,结合两个方向去分析上下文至关重要。

   BERT提出一种新的预训练目标——遮蔽语言模型(masked language model,MLM),来克服上文提到的单向局限。MLM随机遮蔽输入中的一些token,目标在于仅基于遮蔽词的语境来预测其原始词汇id。与从左到右的语言模型预训练不同,MLM目标允许表征融合左右上下文,从而预训练一个深层双向Transformer。除了 MLM,还引入了“下一句预测”(next sentence prediction,NSP)任务,该任务联合预训练文本对表征。

模型

   BERT的模型架构是一个多层双向Transformer编码器,BERT主要包含两个过程:pre-training 和 fine-tunning。在预训练期间,在不同的预预训练任务上使用未标记的数据对该模型进行的训练。在微调期间,首先用预训练的参数初始化BERT模型,并且使用来自下游任务的标记数据对所有参数进行微调。每个下游任务都有单独的微调模型,即使它们是用相同的预训练参数初始化的。下图是pre-training和fine-tunning的示意图。
在这里插入图片描述
   在模型中,将层数(即Transformer块)表示为L,隐层的size表示为H、自注意力头数表示为A,参数量表示为Total Parameters。BERT有2种大小的模型,分别是 B E R T b a s e BERT_{base} BERTbase(L=12, H=768, A=12, Total Parameters=110M)和 B E R T l a r g e BERT_{large} BERTlar

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值