天天看点

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

代码:

https://huggingface.co/transformers/model_doc/electra.html

ABSTRACT

论文提出了一种高效的基于抽样的预训练任务——替换标记检测。对于一些可以被替换的tokens,用一个小生成网络(generator network )抽样出token进行替换。接着,作者没有用模型从原始语料库中预测这些被替换的词,而是训练了一个判别模型(discriminative model ),来判断输入中的token是不是被生成网络替换了。

新模型在相同的模型大小、相同的数据和相同的计算力下,用我们的方法学习到的上下文表示很明显胜过BERT学习的结果。用这种方法训练的小模型的收益尤其明显。例如,在一个GPU上训练一个4天的模型,它在GLUE上的性能超过GPT(使用30倍以上的计算进行训练)。新在数据规模上也表现地很好,在使用不到1/4的计算量的情况下,它的性能就与RoBERTa和XLNet相当,而在使用相同数量的计算量时,它的性能优于RoBERTa和XLNet。

INTRODUCTION

当前soa的语言表示学习方法可以追溯到去噪的自动编码器(Pascal Vincent, Hugo Larochelle, Yoshua Bengio, and Pierre-Antoine Manzagol. Extracting and composing robust features with denoising autoencoders. In ICML, 2008. )。然后就是bert和XLNet,由于学习了双向表示,因此这些mask语言建模(MLM)方法比传统的语言模型预训练更有效,但由于网络在每个示例中只从15%的标记中学习,因此会产生大量的计算成本。

本文提出了被替代词检测的预训练方法,模型学习判断token是真实输入的还是看似合理但是是合成出来的token。Mask方法会给bert带来误差(XLNet没有),因为在预训练的过程中有人造的mask标记,但是在下游任务微调的时候,并没有人造的mask。使用检测任务的一个关键优势是,模型会从所有输入标记中学习,而不仅仅是小的mask抽出的的子集,这将使计算更有效率。

本方法容易让人联想到GAN。但是我们的方法不是对抗方式训练的,因为使用最大似然来训练出的生成器,将gan运用到文本中是很困难的(Massimo Caccia, Lucas Caccia, William Fedus, Hugo Larochelle, Joelle Pineau, and Laurent Char- lin. Language GANs falling short. arXiv preprint arXiv:1811.02549, 2018.)。

Efficiently Learning an Encoder that Classifies Token Replacements Accurately 简称ELECCTRA(高效精确地训练token替换分类器)

通过一系列的实验,我们证明了从所有的输入位置学习使伊莱克特拉训练比bert快得多。我们还显示,在充分训练的情况下,ELECTRA在下游任务上达到更高的精度。本着与训练模型训练代价越高,下游任务将会越准确的现象,我们提出预训练模型应该在下游任务有很好表现的同时,也应该有高效的计算方式。在相同的模型大小、数据和计算方法下,ELECTRA的性能显著优于基于mlm的方法,如BERT和XLNet,下图可见

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

METHOD

先描述替换标记检测的预训练任务吧,下图是一个简单的描述:

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

左侧的生成模型可以是任意的模型,这里使用了一个小的mlm模型,然后用最大似然来train它,train完了再利用下游任务fine-tune判别器。

论文训练了两个神经网络,一个生成器G和一个鉴别器d。每个神经网络主要由一个编码器(例如,一个transformer网络)组成,它将输入token x = [x1,…, xn]转化为上下文化的向量表示序列h(x) = [h1,…, hn)。对于给定的位置t,(在我们的例子中,只有xt = [MASK]的位置),生成器输出一个使用softmax层生成特定令牌xt的概率:

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

e表示token的embeddings。对于位置t,判别器预测xt是不是真实的(是真实数据而不是生成的分布),输出层是

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

生成器:

一个MLM模型。对于给定的输入x=[x1,x2,…,x3],MLM先随机选择一组位置(1到n的整数)得到掩码m=[m1,m2,…mk]。通常k等于⌈0.15 n⌉,例如,15%的token进行了mask。

被选中的位置会用“[MASK]”来表示此处的token,此时将x标记为xmasked = REPLACE(x, m, [MASK]) .生成器学习预测原始的token标记,判别器用来判别出生成的token。详细的说,就是先创建一个用生成器抽样后得到的mask的x,xcorrupt,让然后训练判别器,判别出哪些xcorrupt中的token是原始x的。数学公式表达:

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

loss functions :

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

token令牌是“真实的”而不是“假的”,我们发现这个修改改善了下游任务的结果。更重要的是,生成器以最大似然进行训练,而不是对抗训练以欺骗鉴别器。相反地,训练发电机是具有挑战性的,因为生成器中有抽样,反向传播不可能传播下去。

为了绕开这个问题,作者用强化学习来训练生成器(generator ),但是效果不如如最大似然训练。并且作者不支持在生成器的输入中加入噪音,这就是典型的GAN。

最小化参数:

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

判别器的loss也没有传播到生成器中(实际上也传不来,因为采样步骤)。

建模拓展

Weight Sharing

 通过分享生成器和判别器的权重,可以 提高预训练的效率。如果生成器和判别器是相同的大小,所有的transformer权重都可以捆绑使用。但是,研究发现,更有效的方法是用一个小生成器,只用来共享生成器和判别器的token和positional embeddings。生成器input和output的token embedddings的总是像在bert中一样绑定。

通过对比相同size的生成器、判别器的权重绑定策略,训练了500k步,GLUE 得分从没有权重绑定的83.6到有token embedding的84.3,最后是全部权重绑定的84.4。作者解释ELECTTRRA得益于共享的token embeding,是因为mlm时候专门学习这类的表达:尽管判别器只是关心输入的tokens或者生成器抽样出来token,但是生成器的softmax是作用在全部词汇上的dense embeddings。另一方面,捆绑所有encoder的权重几乎没有改善,同时带来了了要求生成器和判别器必须是相同大小的重大缺点。后面的实验,都只用了embedding的绑定。

Smaller Generators

如果生成器和鉴别器的大小相同,训练ELECTRA每步所花费的计算量将是仅用掩蔽语言mod的两倍。使用小的生成器可以减少这个影响。可以通过减少层的size。模型工作最好的生成器大小是1/4-1/2的鉴别器。我们推测,过于强大的生成器可能会给鉴别器带来过于艰巨的任务,阻止它有效地学习。特别是,鉴别器可能不得不使用它的许多参数来建模生成器,而不是实际的数据分布。在本文的进一步实验中,利用所找到的最佳生成器大小来确定给定的判别器尺寸。

训练算法

虽然没有什么提升。提出联合训练生成器和判别器。使用了一下两个策略:

  1. 只用mlm的loss训练生成器n步;
  2. 用生成器的权重初始化判别器。然后用disc的loss训练n步,同事保持生成器的权重冻结。

在两阶段训练中,从生成器的目标向判别器目标转换后,下游任务绩效有明显提高,但最终并没有超过联合训练。尽管仍优于BERT,但我们发现对抗性训练不如最大似然训练。原因有一下两点:

  1. 使用对抗方式训练的生成器,比MLM差(在MLE-trained(Maximum Likelihood Estimation)出来的模型)。准确率表现差主要是因为生成文本的过程中,有一个很大的action空间,强化学习的样本效率较低;
  2. 对抗训练会产生一个底熵的分布,大部分概率质量是集中在一个单一的token上,这意味着生成器没有很多的多样性。

上面两个问题,这在GAN生成文本的时候也有观察到。(Massimo Caccia, Lucas Caccia, William Fedus, Hugo Larochelle, Joelle Pineau, and Laurent Char- lin. Language GANs falling short. arXiv preprint arXiv:1811.02549, 2018.)

上面两种结论的实验结果:

【论文笔记electra】ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

小模型(未完待续)

继续阅读