BERT架构-V0-视频文字


BERT(Bidirectional Encoder Representations from Transformers)是Google于2018年提出的预训练语言模型,通过双向上下文建模显著提升了自然语言处理任务的性能。以下是对BERT架构的详细解析:


1. 核心架构

BERT基于Transformer的编码器(Encoder)构建,核心是多层自注意力机制(Self-Attention)和前馈神经网络(Feed-Forward Network)的堆叠。

1.1 Transformer编码器层

  • 自注意力机制(Self-Attention)
    每个词通过Query、Key、Value向量计算与其他词的关联权重,捕捉双向上下文依赖关系。
  • 多头注意力(Multi-Head Attention):将注意力拆分为多个子空间(如12个头),并行学习不同语义模式。
  • 前馈神经网络(FFN)
    每个注意力层后接两层全连接层(中间层通常扩大4倍,如768→3072→768),通过非线性激活(如GELU)增强表达能力。
  • 残差连接与层归一化
    每个子层(注意力、FFN)后应用残差连接(Residual Connection)和层归一化(LayerNorm),缓解梯度消失。

2. 输入表示

BERT的输入由词嵌入(Token Embeddings)段落嵌入(Segment Embeddings)位置嵌入(Position Embeddings)三部分相加构成: 1. Token Embeddings
- 使用WordPiece分词(解决未登录词问题,如“playing”拆分为“play”+“##ing”)。 - 特殊标记:[CLS](分类任务)、[SEP](分隔句子)、[MASK](掩码)。 2. Segment Embeddings
区分两个句子(如问答对),用0和1标记不同段落。 3. Position Embeddings
学习式位置编码(非Transformer的正弦函数),支持最长512个token。

输入示例
[CLS] Paris is the capital of France. [SEP] It is located in Europe. [SEP]


3. 预训练任务

BERT通过无监督预训练学习通用语言表示,包含两个关键任务:

3.1 掩码语言模型(Masked Language Model, MLM)

  • 随机掩盖输入中15%的token(其中80%替换为[MASK],10%替换为随机词,10%保持不变)。
  • 模型通过上下文预测被掩盖的词,实现双向语义理解。

3.2 下一句预测(Next Sentence Prediction, NSP)

  • 输入两个句子A和B,预测B是否是A的下一句。
  • 训练数据中50%为连续句子,50%为随机选取的句子。

:后续研究(如RoBERTa)发现NSP任务贡献有限,部分模型已弃用。


4. 模型参数

  • BERT-base:12层Transformer编码器,12个注意力头,隐藏层维度768(参数量约110M)。
  • BERT-large:24层,16个注意力头,隐藏层维度1024(参数量约340M)。

5. 微调(Fine-tuning)

预训练后,BERT可通过少量任务相关数据微调,适应不同下游任务: - 文本分类:取[CLS]标记的输出向量接分类器。 - 问答(QA):输出答案在文本中的起止位置。 - 序列标注(如NER):对每个token的输出向量进行分类。


6. 优缺点分析

优点

  • 双向上下文建模:克服了GPT等单向模型的局限。
  • 通用性强:适用于多种NLP任务,减少任务特定结构设计。
  • 迁移学习高效:预训练模型可通过微调快速适配新任务。

缺点

  • 计算资源消耗大:预训练需大规模算力。
  • 长文本处理受限:最大输入长度通常为512 token。
  • 预训练与微调不一致[MASK]标记在微调时不存在,可能影响性能(后续模型如RoBERTa优化了MLM策略)。

7. 关键变体与演进

  • RoBERTa:移除NSP,动态掩码,更大批次训练。
  • ALBERT:参数共享(减少参数量),句序预测(SOP)替代NSP。
  • DistilBERT:知识蒸馏压缩模型,保持90%性能,体积减小40%。
  • 跨语言模型(mBERT):多语言联合预训练,支持跨语言迁移。

8. 应用场景

  • 文本分类、情感分析
  • 问答系统(如SQuAD)
  • 命名实体识别(NER)
  • 语义相似度计算
  • 机器阅读理解

总结

BERT通过Transformer编码器和双向预训练任务,革新了NLP领域,成为迁移学习的里程碑。尽管后续模型在效率或性能上有所提升,BERT的核心思想(双向上下文、预训练-微调范式)仍是现代语言模型的基础。