【论文阅读】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
消融实验:
去掉任何一个,效果都会有打折
模型大小的影响:
第一个工作展示了,当模型变成特别大的时候,对语言模型的效果是非常好的
做生成类的任务就没有那么方便了
但是做文本分类的任务来说比较合适
是一个完整的解决问题的思路,训练一个大模型,可以用来解决一些小问题