BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

本文介绍了一种名为 BERT 的新型语言表示模型,它通过在所有层中联合左右上下文对无标签文本进行预训练,仅需添加一个输出层即可微调出在多种自然语言处理任务上达到当时最先进水平的模型。

Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova

发布于 2018-10-11
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 BERT 的模型,它是自然语言处理(NLP)领域的一个里程碑。为了让你轻松理解,我们可以把 BERT 想象成一个**“超级阅读天才”**的养成过程。

1. 以前的模型:只能“单向”思考的读者

在 BERT 出现之前,像 OpenAI GPT 这样的模型,读书的方式很像我们平时从左往右读文章。

  • 比喻:想象你在读一本书,你只能看到前面的字,还没读到的字对你来说是“未知”的。
  • 缺点:如果你读到“他去了银行,因为他的______坏了”,你只能根据前面的“银行”去猜后面是“车”还是“钱包”。但如果你能同时看到后面是“车”,你就能立刻知道前面填“车”更合理。以前的模型因为只能看前面,所以理解力有限。

而像 ELMo 这样的模型,虽然尝试了“从左往右”和“从右往左”分别读两遍,然后把结果拼起来,但这就像拼凑的拼图,不够深度融合。

2. BERT 的绝招:真正的“双向”透视眼

BERT 的核心创新在于它同时看左边和右边。

  • 比喻:BERT 不像普通读者那样按顺序读,它像是一个拥有X 光透视眼的超级侦探。当你问它一个词是什么意思时,它能瞬间同时扫描这个词左边所有的上下文右边所有的上下文,从而精准地理解这个词在句子里的真实含义。

3. 如何训练这个“天才”?(预训练阶段)

为了训练 BERT 拥有这种超能力,作者给它设计了两项特殊的“游戏”(预训练任务),让它去读海量的互联网文本(维基百科和书籍):

游戏一:填空题(Masked LM)

  • 玩法:给 BERT 一篇文章,随机把其中 15% 的词盖住(比如用 [MASK] 代替),让它根据前后文猜出被盖住的词是什么。
  • 例子:输入是“我 [MASK] 苹果”,BERT 必须猜出是“吃”。
  • 关键点:为了不让它作弊(比如只猜自己),作者还玩了一点小花招:
    • 80% 的时候,真的把它盖住,让它猜。
    • 10% 的时候,把它换成一个随机词(比如把“苹果”换成“香蕉”),让它发现“咦,这里不对”。
    • 10% 的时候,保持原样,让它确认“哦,原来是这样”。
  • 目的:强迫 BERT 必须同时理解左右两边的信息,才能猜对。

游戏二:连词成句(Next Sentence Prediction, NSP)

  • 玩法:给 BERT 两句话,让它判断这两句话是不是紧接着的。
  • 例子
    • 情况 A:“今天天气真好。” + “我们去公园吧。” -> 答案是“是”(这两句是连着的)。
    • 情况 B:“今天天气真好。” + “大象的鼻子很长。” -> 答案是“否”(这两句没关系)。
  • 目的:让 BERT 理解句子与句子之间的逻辑关系,这对回答问题和理解文章逻辑非常重要。

4. 如何让它干活?(微调阶段)

训练好这个“超级天才”后,我们不需要重新教它做具体任务,只需要给它加一个小小的“任务头”(就像给一把万能钥匙加个特定的钥匙头)。

  • 比喻:BERT 就像一个已经背熟了所有百科全书的博学家
    • 如果你要它做情感分析(判断评论是褒是贬),你只需要在它面前放一个“情感分类器”,它就能立刻利用已有的知识给出答案。
    • 如果你要它做问答(SQuAD),你只需要给它一个“找答案”的指令,它就能从文章里精准定位答案。
  • 优势:以前做不同任务需要专门设计不同的复杂模型,现在只需要微调 BERT,就能在几乎所有任务上取得**世界顶尖(State-of-the-art)**的成绩。

5. 为什么它这么强?

论文通过实验证明:

  1. 双向理解至关重要:如果只让它像以前那样单向读,效果会大打折扣。
  2. 模型越大越聪明:BERT 有两个版本,小的(BERT-base)和大的(BERT-large)。大的版本参数量巨大(3.4 亿),在数据量很少的任务上也能表现得非常出色,证明了“大力出奇迹”。
  3. 通用性强:它在 11 个不同的语言任务(如问答、推理、情感分析等)上都刷新了记录。

总结

BERT 就像是一个通过“做填空题”和“判断句子连贯性”这两项游戏,自学成才的超级语言天才。 它不再需要针对每个任务重新学习,而是通过双向深度理解语言,成为了自然语言处理领域的“瑞士军刀”,极大地推动了人工智能理解人类语言的能力。

这篇论文之所以重要,是因为它证明了:只要预训练得足够好,模型就能轻松适应各种新任务,而且理解得更深、更准。