mask策略

前言

预训练模型的trick可谓是百花争艳,有从模型入手的,有从数据入手的,今天来说说mask派系,从bert最开始的mask token 到后面ernie的 mask entity以及还有mask  n-gram,动态mask等等,都提出很多有意思的idea。

接着百度ernie最新【2021.5.20】放出的ernie-gram,里面也详细的讨论归纳了一些mask策略,一起看一下

需要八卦一下的是:很多ernie的研究【ernie-doc,ernie-gram等等】并没有给出预训练实现代码,只给出训练好的模型和一堆fintune代码,对应用工程来说足够了,但是对应开发者想实现说实话还是不透明,哈哈哈,这毕竟也是人家的技术壁垒,不开源,哈哈哈。

总的来说就是:

bert是开山之作,其最最精华和有看点的就是其MLM的设计,其是一种细粒度的掩码,为了助于在预训练时进行充分的表征学习,后续很多改进工作都是从粗粒度角度进行探究,如实体,n-gram等等,说的更直白点就是从屏蔽单个标记到n个连续序列的标记。这在一定程度上增加模型的学习难度,学出来的模型也更具有泛化性。

但是以往的学习都是整体学习这一连续屏蔽的序列,而忽略了粗粒度语言信息的内在依赖和相互关系的建模,基于此百度提出了ERNIE-gram,一种显式的n-gram掩蔽方法,以增强粗粒度信息集成到预训练

ernie-gram

论文:https://arxiv.org/pdf/2010.12148.pdf

关于解读,已经有很多了,可以看:

知乎

[文献阅读]——ERNIE-Gram: Pre-Training with Explicitly N-Gram Masked Language Modeling for NLU(TBC)_jokerxsy的博客-CSDN博客

这里简单罗列一些比较重要的点

mask策略_第1张图片

(a)图就是粗粒度,(b)主要就是解决n-gram预测空间,但是其终究还行忽略了一个n-gram内部完整tokens的预测,(c)就是本paper的创新点,综合了前两种,同时以细粒度和单标识[M]粗粒度的方式预测n-grams

主要创新点就是:

(1)提出显示的n-gram掩码即图(c)

那怎么通过一个掩码【M】 恢复n-grams中所有token的表示呢,秘密就在于:

mask策略_第2张图片

同时认为n-gram的长度信息对表征学习是有害的,因为它会在预测过程中任意删除一些语义相关的不同长度的n-gram,所以一个n-grams只知道整个句子的上下文,每一个token只知道整个句子的上下文+本身,n-grams的长度信息被隐藏了,总的来说如下:

mask策略_第3张图片

(2)增强的N-gram关系建模

为了明确地学习n-gram之间的语义关系,我们联合训练了一个小的生成器模型θ’与显式n-gram MLM目标函数,以采样n-gram标识。然后利用生成的标识进行掩码,训练标准模型θ以粗粒度和细粒度的方式预测原始的n-gram,如图3(a)所示,该模型可以有效地建模相似的n-gram之间的成对关系。微调时不使用生成器模型

总的模型就是:

mask策略_第4张图片

(3)实验结果

肯定是好的啦,具体看论文吧

动态掩码策略

就是每次(epoch)都是随机选择需要掩码序列,不固定,其实就是进一步加大随机性,给模型加大学习难度,增加其泛化性。

总结

掩码策略是魔改预训练模型的一个重要创新方向,可以不断的通过融入新知识使得模型具有泛化性,发挥大家的聪明才智吧

欢迎关注笔者微信公众号,会有更多好文章:

mask策略_第5张图片

 

你可能感兴趣的:(算法,MLM,预训练模型,bert,ernie,n-gram)