Abstract & Introduction & Related Work
- 研究任务
- 预训练语言模型
- 已有方法和相关工作
- 面临挑战
- 虽然它们在转移到下游的NLP任务时产生了很好的结果,但它们通常需要大量的计算才能有效
- 创新思路
- 我们提出了一个更有样本效率的预训练任务,叫做替换token检测。我们的方法不是mask输入,而是通过用从小型生成器网络中抽样的合理的替代物来替换一些token来破坏它
- 我们不是训练一个预测被破坏的token的原始身份的模型,而是训练一个判别模型,预测被破坏的输入中的每个token是否被一个生成器样本所取代
- 实验结论
吊打BERT,跟RoBERTa和XLNet有差不多的性能,并且只用了1/4的参数量
Electra Large打败了ALBERT
METHOD
token替换检测:生成器可以是任何能产生token输出分布的模型,但我们通常使用一个小型的掩码语言模型,与鉴别器共同训练。尽管这些模型的结构与GAN相似,但由于GAN难以应用于文本,我们用极大似然估计而不是对抗法来训练生成器。在预训练之后,我们扔掉生成器,只对判别器(ELECTRA模型)进行微调
我们的方法训练两个神经网络,一个生成器G和一个判别器D
e是embedding,对于一个位置t生成器输出
x
t
x_t
xt 的概率
判别器预测
x
t
x_t
xt 是否是 “real”,它来自于数据而不是生成器的分布,有一个sigmoid输出层:
先选择一些位置,得到一个mask位置的向量,然后用到X上,然后,生成器学习预测被掩盖的标记的原始身份
判别器被训练来区分数据中的token和被生成器样本替换的标记。更具体地说,我们通过用生成器样本替换被mask的token来创建一个被破坏的例子
x
c
o
r
r
u
p
t
x^{corrupt}
xcorrupt,并训练鉴别器来预测
x
c
o
r
r
u
p
t
x^{corrupt}
xcorrupt 中哪些token与原始输入x相匹配
虽然与GAN的训练目标相似,但有几个关键的区别。首先,如果生成器碰巧生成了正确的token,那么这个标记就被认为是 “真的”,而不是 “假的”;我们发现这种提法可以适度改善下游任务的结果。更重要的是,生成器是用极大似然估计法训练的,而不是用对抗性训练来欺骗鉴别器。对生成器进行对抗性训练是具有挑战性的,因为不可能通过生成器的采样进行反向传播。尽管我们通过实验规避了这个问题,使用强化学习来训练生成器(见附录F),但这比最大似然训练的效果要差。最后,我们没有向生成器提供噪声向量作为输入,这在GAN中是很典型的
在一个大型的原始文本语料库
X
\mathcal{X}
X 上。我们用一个单一的样本对损失的预期进行近似。我们不通过生成器反向传播判别器的损失(事实上,由于采样步骤,我们不能这样做)。在预训练之后,我们扔掉生成器,并在下游任务中微调判别器
EXPERIMENTS
CONCLUSION
我们提出了替换标记的检测,这是一个新的语言表征学习的自我监督任务。其关键思想是训练一个文本编码器,从一个小型生成器网络产生的高质量负面样本中区分出输入token。与mask语言建模相比,我们的预训练目标更具有计算效率,并在下游任务中取得更好的表现。即使在使用相对较少的计算量时,它也能很好地工作,我们希望这将使开发和应用预训练的文本编码器更容易被计算资源较少的研究人员和从业人员所接受。我们也希望未来更多关于NLP预训练的工作能够考虑到效率以及绝对性能,并效仿我们的努力,在报告计算量和参数数的同时,也报告评估指标
Remark
为什么每一个都吊打别人…我只能说牛逼