《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》浅析

开头强推一篇,写得很赞:https://cloud.tencent.com/developer/article/1389555

摘要

从题目上就可以看出此篇论文的内容,如下
目的:Language Understanding,此结构是服务与语言理解
方式:Deep Bidirectional Transformers,采用的方式是深度双向Transformers
用法:Pre-training,训练的结果作为预训练的模型或者输入特征

正题:
BERT特点:通过左右上下文双向深度来进行预训练的语言表征模型
BERT应用:可添加一个输出层进行微调,然后就可以创建具有the-state-of-the-art的应用

发展

语言预训练模型提升了很多NLP任务的效果。这些任务包括句子级别的语言推理和解释,通过正题分析来预测句子之间的关系,以及token级别的任务,如实体识别等。具体有两种策略

  • feature-based:嵌入;下游模型的特征输入
    • 预选训练的词嵌入:ELMo—使用定制化的体系结构,用预先训练的表示作为附加功能
    • 句子嵌入
    • 段嵌入
  • fine-tuning:不用从头开始学习很多参数
    • OpenAI GPT : 引入了最小的特定参数,并通过简单微调预先训练的参数来训练下游任务

特点:

  • 训练期间共享相同的目标函数
  • 使用单向语言模型

局限:
当前的技术严重的限制了云训练表示的效果,尤其是微调方法。比如单向的模型限制了框架的选择,这种方式对于句子级别不是最优的,在QA中可能会产生问题。

本文:

  • 双向模型:MLM训练机制——随机遮挡输入的token,融合左右上下文,可进行双向Transformer
  • NSL训练机制——联合预训练文本对表示

模型

多层双向Transformer Encoder
这个模型是ttransformer 的encoder部分,自注意力机制后输入多头注意力模型

代码解读

https://www.processon.com/view/link/5d063d73e4b00d2a1ac7bf06
代码相对来说,比较简单,关键的是在训练过程的量

你可能感兴趣的:(论文阅读系列)