基本介绍
全称是Bidirectional Encoder Representations from Transformers。BERT翻译成中文通常被称为“双向编码器表征法”或简单地称为“双向变换器模型”
Bidirectional:是双向神经网络,这个在学习 RNN 时候我们就了解到如何使用双向 RNN 让每一个词视野更加广阔,不但可以看到其前面词还能看到其后面的词。
Encoder:说明 BERT 是编码器。
Representations:BERT 是完成词的表征的任务的模型,之前我们已经学过了了 word2vec。
Transformer:其实 BERT 就是 transform 解码器部分,表示 BERT 结构没有采用 LSTM 这样。 RNN 结构,而是采用了 Transformer 这样结构来实现双向循环神经网,Transformer 对象 LSTM 的优势是并行计算
在自然语言处理领域,BERT以其出色的性能和广泛的应用而著称,为多种语言理解任务提供了强大的预训练模型基础
1)预训练阶段:BERT通过预训练任务来学习语言的深层表示。这些任务通常包括“遮蔽语言模型”(Masked Language Model,MLM)(类似于完形填空)和“下一句预测”(Next Sentence Prediction,NSP)。在MLM任务中,模型被训练来预测输入句子中被遮蔽的词;而在NSP任务中,模型需要判断两个句子是否是连续的文本序列。
2)微调阶段:预训练完成后,BERT模型可以通过添加任务特定的输出层来进行微调,以适应不同的NLP任务,如情感分析、问答、命名实体识别等。微调过程利用了预训练阶段学到的语言表征,使得模型能够快速适应新的任务并取得优异的性能。
3)模型结构:BERT模型是由多层的Transformer编码器堆叠而成,每一层都包含自注意力机制(Self-Attention)和前馈神经网络。这种深层结构使得BERT能够捕捉从浅层语法特征到深层语义特征的不同级别的语言信息。
4)性能表现:BERT在多个NLP任务上取得了当时的最先进结果,显著推动了自然语言处理技术的发展。它的成功也催生了许多后续的研究工作,包括对BERT结构的改进以及在不同语言和领域中的应用。
预训练:预训练是一种迁移学习的概念。所谓预训练模型,举个例子,假设我们有大量的维基百科数据,那么我们可以用这部分巨大的数据来训练一个泛化能力很强的模型(一个知识渊博的人,见多识广),当我们需要在特定场景使用时,例如做医学命名实体识别,那么,只需要简单的修改一些输出层,再用我们自己的数据进行一个增量训练,对权重进行一个轻微的调整即可(增加行业知识后,这个知识渊博的人就是行业专家)。预训练语言模型有很多,典型的如ELMO、GPT、BERT等