两个任务:MLM+NSP

MLM任务:Mask Language Model,掩码语言模型。
NSP任务:去判断两个句子的关系。

BERT在做预训练时,使用的是大量的无标注的预料(随处可见的文本。因为是没有标签(=无标注)的数据进行训练,所以是无监督的训练

MLM

在无监督学习中有两种常见的目标函数AR(autoregressive,自回归模型)、AE(autoencoding,自编码模型)。

  • AR:只考虑单侧信息
  • AE:从损坏的输入数据中预测重建原始数据。可以使用上下文的信息,Bert就使用了AE模型中的mask策略

注:目标函数指的就是使损失函数和正则化函数最优的拟合数据的函数(模型)。

  • 正则化函数,专门用来度量模型的复杂程度。不是拟合历史数据越好的函数,在做预测时越好。当训练出的模型(函数)过于复杂时,虽然对历史数据的拟合程度很好,但做预测不一定准,我们称这种现象叫过拟合。如下图,图3虽然更好的拟合了历史数据,但预测效果不如图2,图1的情况时欠拟合:
    在这里插入图片描述

对AR、AE解读

在这里插入图片描述

如上图,在AR模型中,有一个前后的依赖关系,概率P(我爱吃饭)是从左到右依次乘过来的,只用到了单侧的信信息

与之对应的AE模型中,就是先对句子mask一下,简单来说,就是用mask掩盖掉句子中的某些后世某几个单词。这样的操作本质是打破了文本原有的信息,在预训练时去做文本的重建

文本重建指的时,在模型训练的过程中,模型绞尽脑汁地从周围的文本中学习各种信息,让预测出来的词汇无限地接近mask=”吃“。比如,”饭“这个字告诉模型,mask可能为动词,而”爱“这个词告诉模型,在”爱“之后很大概率是个词组。

因此,我们可以看出AE模型可以使用上下文的信息。 而mask模型也有缺点。如下图,用mask掩盖掉了两个字,”吃“和”饭“。而模型认为两个mask之间是相互独立的,但其实,两个mask直接不是独立的。
在这里插入图片描述

mask策略如何在Bert模型的预训练过程中被使用的?

在这里插入图片描述
BERT随机的mask训咯数据15%的单词,但这15%的单词并不是全部真的mask。而是继续划分,把其中的10%替换成其他单词,10%原封不动,80%替换成mask。

mask代码实践

在这里插入图片描述

NSP任务

NSP任务是一个二分类任务,用来处理两个句子之间的关系。

样本如下:

  1. 从训练语料库中取出两个连续的段落作为正样本。(因为两个段落连续,所以两个段落来自同一个文本;又因为同一个文本主题相同,所以两个段落主题相同)
  2. 从不同的文档中随机创建一对段落作为负样本。(从不同的主题中各自随机抽一个,直接连起来作为负样本)

缺点:主题预测和连贯性合并为一个单项任务。

  • 主题预测就是判断两个段落是不是来自同一个文档。
  • 连贯性预测就是判断两个段落是不是顺序关系。

相比于连贯性预测,主题预测非常容易学习,因此主题预测也容易得多。因为主题预测的存在,NSP变得简单了起来,所以NSP效果也不是很好。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐