前言
Abstract
就跟题目里说的一样,它将目标放在了 Discriminator 上了,换句话说,它跟 GAN 的结构相似,但是判别器是语言模型,然后最终用的也是判别器。
1、Introduction
像 Bert 这种,使用 mask 的方式来训练,的确能取得很好的效果,但是需要大量的算力,比如每次用 15% 的掩码,只能学到这些 token 信息。
使用生成式模型有两个缺点:1、模型过于保守。2、目标的抽象层次低,例如Masked Language Model的损失计算都是token-level的。
2、Method
模型如下:
这里,生成器是一个 Masked language model, 判别器相当于是一个序列标注模型,通俗一点讲就是,生成器来预测 masked 的token,判别器来判断它是否是被替换的句子。目标函数为:
![](https://i-blog.csdnimg.cn/blog_migrate/59bbd5f214c3f4e4f886efa57972c972.png)
从公式中可以看出,生成器和叛变器是同时训练的,但是判别器的梯度并不会传给生成器。另外判别器的任务容易训练一些,所以应该加一个比较大的权重,作者用的50。另外 Generator 是个小模型,而不能是 Bert 这样的大参数的模型,因为如果 Generator 很厉害,Discriminator 就很难学好。
另外,这里其实可以像 GAN 一样来做,离散的梯度使用 policy gradient 来做,不过那样不稳定,作者也表示 policy gradient 效果不好。
3、Experiments
关于 GLUE 数据集,可以看我另外一篇博客:https://blog.csdn.net/qq_34372112/article/details/108692492