NLP高频面(5)BERT的基本结构介绍、预训练任务、下游任务¶
本文讨论了近年来在自然语言处理领域掀起革命的BERT技术,详细介绍了其基本结构、预训练任务、下游任务,还与其他语言模型进行了对比,并分析了其优势与不足。关键要点包括:
基本结构:Google推出的基于Transformer的语言表示模型,采用双向Transformer Encoder架构,输入向量由Token、Position、Segment三个嵌入向量组成。
预训练任务:Masked Language Model(MLM)随机掩盖约15%的单词让模型预测;Next Sentence Prediction(NSP)判断句子对是否有顺序关系。
下游任务:包括文本分类、情感分析、命名实体识别、问答系统、文本蕴含等,在预训练模型基础上添加输出层,微调即可。
与其他模型对比:ELMo特征融合不足、参数多;GPT单向结构无法捕捉上下文;BERT双向结构提升语义理解能力。
优势:真正双向捕捉上下文,泛化能力强,微调简单高效。
不足:模型参数量大,需要大量计算资源和数据,不适合生成式任务。
近年来,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的输入向量由三个嵌入向量组成:
Token Embedding:基于子词(WordPiece)分词的单词向量表示,结合了字符和词级别的优点。
Position Embedding:位置信息嵌入,帮助模型识别文本中单词的顺序。
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端。