论文下载:https://openreview.net/pdf?id=r1xMH1BtvB
另一篇分析文章:ELECTRA 详解 - 知乎
一、概述
对BERT的token mask 做了改进。结合了GAN生成对抗模型的思路,但是和GAN不同。
不是对选择的token直接用mask替代,而是替换为一个生成器网络产生的token。
然后训练模型时并不是只被破坏的token,而是训练一个辨别模型来预测这些被破坏的输入的每一个token是否是被生成模型生成的样本替代的。因为将GANs应用于文本很困难,所以生成损坏token的生成器是以最大似然进行训练的。
小generator和大discriminator共同训练,但判别器的梯度不会传给生成器
fine-tuning 时丢弃generator,只使用discriminator
二、网络结构和训练
1、模型训练两个网络G和D。
G:给定位置t,将该位置token替换为mask,输入到G,G输出一个概率,结合softmax层,来产生mask位置的xt,从而G产生损坏的输入。输出只在mask的token中计算分数,不是所有的token。
D:给定位置t,D预测xt是否是真的。输出只在mask的token中预测是不是真的,不是所有的。
对于给定一个随机位置序列,原始输入对应位置替换为[MASK] token,输入G,G学习恢复原始序列。D来分辨哪些token是被生成器产生的样本替换的。
文本损坏过程描述为:
2、损失函数为:
MLM损失的计算只计算m个,即m个被masked tokens
Disc损失 t的取值到 1..n,每个token都会更新参数
在训练过程中,discriminator的loss不会反向传播到generator(因为generator的sampling的步骤导致),在pre-training之后,只使用discriminator进行fine-tuning.