NLP高频面试题(五)——BERT的基本结构介绍、预训练任务、下游任务

发布于:2025-03-19 ⋅ 阅读:(12) ⋅ 点赞:(0)

近年来,BERT(Bidirectional Encoder Representations from Transformers)凭借其出色的性能,在自然语言处理领域掀起了一场革命。本文将对BERT的基本结构、预训练任务以及下游任务进行详细介绍,以帮助读者深入了解这一重要技术。

一、BERT的基本结构

BERT是Google推出的一种基于Transformer的语言表示模型。与以往模型如Word2Vec、ELMo和GPT相比,BERT采用了真正意义上的双向Transformer Encoder架构。这种结构使得BERT在理解语言上下文方面的能力大幅提升。

BERT的关键特点:

  • 双向Transformer:与以往单向(从左到右或右到左)或伪双向模型(如ELMo左右分别训练后拼接)不同,BERT同时考虑了单词左右两侧的语境,真正实现了语义的双向理解。
  • 预训练任务设计:BERT创新性地使用了Masked Language Model (MLM) 和 Next Sentence Prediction (NSP) 两个预训练任务,有效捕捉了语言的深层语义结构。
  • 规模与泛化能力:通过大规模的语料库训练,BERT在多个NLP任务中表现出优异的泛化能力,使其适用于多种下游任务。

BERT的输入表示

BERT的输入向量由三个嵌入向量组成:

  1. Token Embedding:基于子词(WordPiece)分词的单词向量表示,结合了字符和词级别的优点。
  2. Position Embedding:位置信息嵌入,帮助模型识别文本中单词的顺序。
  3. Segment Embedding:用于区分句对任务中的不同句子(如问答或文本对任务),增强上下文语义关系的建模。

二、BERT模型的两个核心预训练任务

Masked Language Model (MLM)

MLM任务的核心思想是随机掩盖输入序列中约15%的单词,模型通过上下文预测这些被掩盖的单词。

  • 80%情况下,用特殊标记[MASK]替换被掩盖的单词。
  • 10%情况下,用随机词替换被掩盖的单词。
  • 10%情况下,保持单词不变但仍需预测。

这种策略有效提高了BERT的语境理解能力,并显著缓解了一词多义的问题。

Next Sentence Prediction (NSP)

NSP任务则是让模型判断一对句子是否在原始文档中具有顺序关系,以此训练模型理解句间关系。预训练时,一半句子对为连续句子,另一半则随机拼接。

三、BERT的下游任务及微调方式

BERT通过预训练获得强大的泛化能力后,应用到具体任务(如文本分类、命名实体识别、问答任务等)时,只需在预训练模型基础上添加简单的任务输出层,随后利用较少的数据进行fine-tuning即可获得高性能的表现。

常见的下游任务包括:

  • 文本分类
  • 情感分析
  • 命名实体识别(NER)
  • 问答系统(QA)
  • 文本蕴含(NLI)

四、与其他语言模型对比

与ELMo和GPT的差异

  • ELMo:基于LSTM的伪双向模型,通过拼接两个单向模型的特征,存在特征融合不足和参数过多的问题。
  • GPT:采用Transformer Decoder单向结构,无法同时捕捉上下文的信息。
  • BERT:采用真正双向Transformer Encoder,使模型同时看到上下文,并在预训练任务的辅助下,大幅提升语义理解能力。

五、BERT的优势与不足

优势:

  • 真正双向捕捉上下文信息,提高语言表示准确性。
  • 泛化能力强,适用于多种NLP任务。
  • 微调过程简单高效。

不足:

  • 模型参数量庞大,需要大量计算资源和数据支持。
  • 不适合生成式任务,因为仅使用了Transformer的Encoder端。

网站公告

今日签到

点亮在社区的每一天
去签到