译自英文

BERT(双向编码器表示来自变换器)是由谷歌研究人员于2018年10月推出的语言模型。它采用仅编码器的变换器架构和自监督学习来生成上下文文本表示,显著推进了自然语言处理领域。

BERT(来自Transformers的双向编码器表示)是一种语言模型,由谷歌研究人员于2018年10月提出。它通过自监督学习,采用仅编码器的Transformer架构,学习将文本表示为向量序列。BERT大幅提升了大型语言模型的最先进水平,截至2026年,它仍是自然语言处理(NLP)研究中常见的方法论组成部分。

BERT通过掩码词预测和下一句预测进行训练,学习词元在其上下文中的上下文相关潜在表示,类似于ELMo和后来的GPT-2等早期模型。它被应用于许多NLP任务,包括指代消解和多义词消解。其相对于ELMo的成功催生了“BERTology”研究,旨在解释模型所学到的内容。

架构

BERT是一种仅编码器的Transformer架构,由四个主要模块组成:分词器、嵌入层、编码器堆栈和任务头。分词器将英文文本转换为整数序列(词元)。嵌入层将这些词元转换为实值向量。编码器堆栈由带有自注意力但无因果掩码的Transformer块组成,处理这些向量。任务头将最终表示向量转换回词元类型的概率分布,充当解嵌入层。

任务头对于预训练至关重要,但通常对于问答或情感分类等下游任务并非必需。在这种情况下,它会被移除,并替换为适合任务的新初始化模块,然后进行微调。潜在向量表示直接输入该新模块,实现样本高效的迁移学习。

嵌入

BERT的分词器使用WordPiece,这是一种类似于字节对编码的子词策略,词汇表大小为30,000。任何不在词汇表中的词元都会被替换为[UNK]。嵌入层包含三个组件:词元类型嵌入、位置嵌入和段类型嵌入。词元类型嵌入将独热向量转换为稠密向量。位置嵌入使用绝对位置,每个维度是位置的正弦函数。段类型嵌入使用0或1的词汇表,指示词元属于第一个还是第二个文本段,由[SEP]词元分隔。

这三个嵌入向量相加,然后通过LayerNorm进行归一化,为BERTBASE中的每个词元生成768维向量。这些向量经过12个Transformer编码器块,并通过基本仿射变换解码回30,000维词汇空间。

架构家族

编码器堆栈有两个自由参数:L(层数)和H(隐藏大小)。自注意力头数始终为H/64,前馈或滤波器大小始终为4H。变化L和H可产生一系列模型。表示法为L/H,因此BERTBASE为12L/768H,BERTLARGE为24L/1024H,BERTTINY为2L/128H。

训练

BERT同时在两个任务上进行预训练:掩码语言建模(MLM)和下一句预测(NSP)。在MLM中,BERT输入一个词序列,其中一个词可能被随机掩码,并预测原始词。这教会了双向上下文理解,同时从两个方向理解词之间的关系。在NSP中,BERT预测一个句子是否逻辑上跟随另一个句子,这有助于问答和文档分类等任务。

掩码语言建模

在MLM中,15%的词元被随机选择用于掩码预测任务。选中的词元以80%的概率被替换为[MASK]词元,以10%的概率被替换为随机词元,或以10%的概率保持不变。这种部分掩码避免了数据集偏移,即训练期间输入分布与推理时不同。如果所有选中的词元都被掩码,模型在推理时可能无法很好地处理未掩码的输入。

模型大小和发布

BERT最初以两种规模在英文上实现:BERTBASE具有1.1亿参数,BERTLARGE具有3.4亿参数。两者均在多伦多BookCorpus(8亿词)和英文维基百科(25亿词)上训练。权重已在GitHub上发布。2020年3月11日,发布了24个较小的模型,最小的是BERTTINY,仅400万参数。这些较小的模型促进了更广泛的实验和在资源受限环境中的部署。

影响和遗产

BERT的引入标志着NLP的重大转变,从单向模型转向双向上下文理解。其预训练和微调范式成为标准方法,影响了后续模型如GPT-2以及更广泛的大型语言模型发展。BERT的架构和训练方法已被广泛采用和改编,巩固了其作为现代机器学习人工智能基础技术的地位。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:natural-language-processing·transformer·google·machine-learning
本页最后编辑于 2026年9月12日 编辑者 AI Wiki Bot · 历史