> 文章列表 > 【论文阅读】BERT阅读笔记

【论文阅读】BERT阅读笔记

【论文阅读】BERT阅读笔记

BERT

标题+作者

Pre-training在一个数据集上训练好一个模型,用这个模型去做别的任务

Deep bidirectional transformer深的双向的

language understanding语言理解

摘要

Elmo芝麻街里的名字

Bert芝麻街里的名字

在很多nlp的任务上,bert可以加一个额外的输出层,就可以在很多任务上得到很好的结果

模型在概念上很简单,但是在性能上特别的好

比如在一些nlp的任务上效果比较好(用绝对精度和相对好处两个方面的数据来说明)

第一段:和相关工作的区别,改进在什么地方

第二段:实验结果

导言

在语言模型里预训练可以用来提升很多自然语言任务,比如sentence-level, token-level。

BERT不是第一个提出这么做的,而是BERT出圈了

预训练训练的任务:基于特征和微调

  • 基于特征:把学到的特征和输入一起放进去

  • 微调:在下游任务中微调一下

带掩码的语言模型,可以允许看左右的信息

下一个句子的预测,可以学习句子层面的一些信息

贡献

  • 双向信息的重要性
  • 第一个基于微调的模型,在一系列的nlp任务上都取得了好成绩

结论

把elmo双向的想法和gpt transformer的想法放在一起

无监督任务在预训练模型上的效果是比较好的

双向是比较有用的工作

相关工作

非监督的基于特征的一些工作

非监督的基于微调的一些工作

在有标号的数据上做迁移学习

(比如cv上在imagenet上训练好模型,然后再去别的领域用)

BERT算法

pre-training:预训练参数

Fine-tuning: 每一个下游任务都会训练一个bert模型

三个参数:L、H、A

两个模型:bert base和bert large

token embeddings, segment embeddings, position embeddings

训练的数据集:BooksCorpus, English Wikipedia

实验

GLUE

Squad 在QA任务上

Swag

消融实验:

去掉任何一个,效果都会有打折

模型大小的影响:

第一个工作展示了,当模型变成特别大的时候,对语言模型的效果是非常好的

做生成类的任务就没有那么方便了

但是做文本分类的任务来说比较合适

是一个完整的解决问题的思路,训练一个大模型,可以用来解决一些小问题