Bert模型的基本原理与Fine-tuning


本文主要讲解Bert模型的基本原理与Fine-tuning。

基本原理

BERT是一种 预训练语言模型 ,即首先使用大量无监督语料进行语言模型预训练(Pre-training),再使用少量标注语料进行微调(Fine-tuning)来完成具体NLP任务(分类、序列标注、句间关系判断和机器阅读理解等)。

BERT的全称是Bidirectional Encoder Representation from Transformers,即:基于transformer的双向Encoder,所以在学习BERT之前先对Self-Attention与transformer进行学习,具体可以参考深入理解 Bert核心:Self-Attention与transformer

该模型的主要创新点在:(1)使用了MAsk机制捕捉句子中词语之间的的representation。(2)使用了Next Sentence Prediction捕捉句子级别的representation。

回顾一下transformer模型:

在这里插入图片描述

图中的(1)就是bert模型的核心组成部分,将这样的结构进行堆叠,就是BERT 模型。如下图:

在这里插入图片描述

在transformer中,每一个输入分别对应一个Embedding输出,将其称之为隐向量。在做具体NLP任务的时候,只需要从中取对应的隐向量作为输出即可。

Bert模型的两个基本预任务:

(1)Masked Language Model(MLM)

通过随机掩盖一些词(替换为统一标记符[MASK]),然后预测这些被遮盖的词来训练双向语言模型,并且使每个词的表征参考上下文信息。此处产生loss_1。

(2)Next Sentence Prediction(NSP)

为了训练一个理解句子间关系的模型,引入一个下一句预测任务。每次的训练样本是一个上下句,其中一半的样本是正样本(上下句之间的对应关系是真实的);另外一半样本是负样本(上下句之间是无关的)。此处产生loss_2。

模型的loss为:loss_1+ loss_2

此处插入一个预训练模型(GPT,BERT,ELMO)小对比。三个模型如下图所示:

在这里插入图片描述

注:图中的Trm与LSTM一样只是代表一个单元。那些复杂的连线表示的是词与词之间的依赖关系,BERT中的依赖关系既有前文又有后文,而GPT的依赖关系只有前文。

GPT是单向模型,预测时只能预测下一个词;BERT和ELMO是双向模型,其中,而BERT是预测文中扣掉的词,可以充分利用到上下文的信息,这使得模型有更强的表达能力,这也是BERT中Bidirectional的含义。BERT和ELMO都是双向,但二者的目标函数不同。

ELMO的目标函数为:
P ( w i ∣ w 1 , ⋯ w i − 1 ) 和 P ( w i ∣ w i + 1 , ⋯ w n ) P(w_i|w_1,\cdots w_{i-1})和 P(w_i|w_{i+1},\cdots w_n) P(wiw1,wi1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值