这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战

这篇文章记录三个预训练任务:LM、MLM和PLM。

一、LM(语言模型,Language Model)

概率任务是自然语言处理中最常见的无监督任务。LM是一个经典的概率密度估计问题,在实践中它通常特指自回归语言模型或者是单向语言模型。

在单向的语言模型中,每个向量的表示只对它本身和左向或者是右向上下文进行编码,而为了更加符合语义,实现更好的予以表达,应该从左右两个方向进行上下文信息的编码。由此产生了双向语言模型(BiLM)这一种解决方案,BiLM由一个从左到右的前向语言模型和一个从右到左的向后语言模型组成。

语言模型的损失函数如下:

自然语言处理中的预训练任务1

二、MLM(掩码语言模型:Masked language Modeling)

MLM在文献《A new tool for measuring readability》中最早被提出,被称为完形填空任务,之后在文献《BERT: pre-training of deep bidirectional transformers for language understanding》中该任务被改编为一项新的预训练任务,用于弥补标准单向语言模型的缺点。在该文献的MLM任务中首先【mask】输入句子中的一部分词,然后进行模型训练,让其他词预测被掩盖的词,以此让模型学习到句子中的语义信息。但是MLM导致了预训练阶段和微调阶段的不一致性,因为预训练阶段的掩码不会出现在微调阶段。因此该文献作者使用了一种特殊的【mask】方法:每次随机将15%的词元替换成【mask】,在这些被替换的词元中,有80%的概率被替换成【mask】、有10%的概率被替换成随机词元、有10%的概率保持原有词元。

MLM的损失函数如下:

自然语言处理中的预训练任务1

三、PLM(置换语言模型:Permuted Language Modeling)

MLM任务虽然在预训练中被广泛使用,但如上文所硕它导致了预训练阶段和微调阶段的不一致性,之后提出了PLM取代MLM。PLM是一种基于输入序列随机排列的预训练任务,其中被使用的排列时是从所有可能的排列中随机抽取出来的,然后【mask】序列中的一部分词,然后进行模型训练,让其他词预测被掩盖的词。需要注意的时,PLM中的随机排列不会影响序列的原始位置,只是定义了【mask】预测的位置。

PLM的损失函数如下:

自然语言处理中的预训练任务1