第一遍
标题以及作者
摘要
本文回顾了关于BERT如何工作、它学习了什么样的信息以及它是如何表示的、对其训练目标和架构的修改、过度参数化问题以及压缩的方法。然后本文概述了未来研究的方向。
带着问题去读论文
结论
在一年多一点的时间里,BERT 已经成为 NLP 实验中无处不在的基线,并激发了许多分析该模型并提出各种改进的研究。论文流似乎正在加速而不是放缓,我们希望这项调查有助于社区关注最大的未解决问题。
还有哪些未解决的大问题
1 介绍
BERT的基础是Transformer块,transformer块具备良好并行化以及更好的长时程依赖。
我们首先考虑它的语言方面,即有关 BERT 学习的语言和世界知识类型的当前证据,以及这些知识可以存储在模型中的位置和方式。然后转向模型的技术方面,概述当前改进BERT架构、预训练和微调的建议。最后,本文讨论了过度参数化的问题、压缩BERT的方法以及作为模型分析技术的模型修剪技术。
2 BERT架构概述
从根本上说,BERT 是一堆 Transformer 编码器层,由多个自注意力“头”组成。对于序列中的每个输入标记,每个头计算键、值和查询向量,用于创建加权表示。同一层中所有头的输出被组合并通过一个全连接层。每层都用跳过连接包裹,然后进行层规范化。
BERT 的传统工作流程包括两个阶段:预训练和微调。预训练使用两个自监督任务:掩蔽语言建模(MLM,预测随机掩蔽的输入标记)和下一句预测(NSP,预测两个输入句子是否彼此相邻)。在下游应用程序的微调中,通常在最终编码器层的顶部添加一个或多个全连接层。
输入表示的计算如下:输入中的每个单词首先被标记为单词片段,然后