
AI 论文解读系列:BERT - 预训练深度双向 Transformer 的革命
引言:语言理解的瓶颈 2018年10月,Google AI Language 团队发布了一篇名为"BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"的论文。这篇论文及其开源代码在 NLP 领域引发了一场革命。 在 BERT 出现之前,自然语言处理面临一个根本性难题:如何让机器真正理解语言的上下文含义?传统的语言模型只能从左到右(或从右到左)单向处理文本,就像阅读时只能看到当前词之前的所有词,却无法看到之后的词。这种"管中窥豹"的方式严重限制了模型的理解能力。 BERT 的核心突破在于它提出了深度双向表示的概念——通过一种新的预训练目标,让模型同时考虑词语的左右上下文,从而获得更丰富、更准确的语言理解能力。 本文将深入解读 BERT 的技术原理,从其核心思想出发,逐步揭示它如何改变了 NLP 的研究范式。 第一章:从上下文说起——为什么双向如此重要 1.1 一词多义的困境 自然语言的复杂性很大程度上源于一词多义。同一个词在不同的上下文中可能有完全不同的含义。考虑这两个句子: “他在银行工作。"(金融机构) “河边的银行种满了柳树。"(河岸) 对于人类来说,区分这两个"银行"的含义轻而易举,因为我们能够同时看到这个词左右两侧的上下文。但对于单向语言模型来说,当它处理到"银行"这个词时,只能看到"他在"或"河边的”,无法获得足够的信息来做出准确判断。 1.2 传统语言模型的局限 传统的语言模型采用自回归(Autoregressive)方式建模,即基于前文预测下一个词: $$ P(w_1, w_2, \ldots, w_n) = \prod_{i=1}^{n} P(w_i | w_1, \ldots, w_{i-1}) $$ GPT 等模型采用了这种从左到右的处理方式。虽然这种架构在生成任务(如机器翻译、文本摘要)中表现良好,但对于需要深度理解上下文的任务(如问答、情感分析)则存在天然的局限性。 另一种尝试是浅层双向,如 ELMo。它分别训练一个从左到右和一个从右到左的语言模型,然后将两者的表示拼接起来。这种方法虽然考虑了双向信息,但两个方向的表示是独立计算的,而非真正的深度交互。 图 1:语言模型架构对比。左图为单向模型只能看到左侧上下文,右图为 BERT 双向模型可以看到完整上下文 第二章:Transformer——BERT 的基石 在深入 BERT 之前,我们需要理解它的基础架构:Transformer。BERT 完全基于 Transformer 的 Encoder 部分构建。 2.1 注意力机制的魔力 Transformer 的核心是自注意力机制(Self-Attention)。与传统的循环神经网络(RNN)不同,自注意力允许模型直接建模序列中任意两个位置之间的关系,无论它们相距多远。 ...
