Press "Enter" to skip to content

GPT2文本生成有问题?这里有些潜在解决思路

作者 |  Leo Gao

 

译者 | 凯隐

 

编辑 | 夕颜

 

出品 | AI科技大本营(ID: rgznai100)

 

【导读】在过去的一年中,人们对文本生成模型的兴趣重新燃起,这在很大程度上要归功于GPT2,它主要展示了使用更大模型、更大数据和更大计算量的Transformer架构的有效性。值得注意的是,在没有经过训练的情况下,该模型在几个语言建模数据集上就获得了SOTA结果,这显示了其惊人的泛化能力。

 

随着GPT2的成功,其他一些实体也加入了这一潮流,并发布了自己的大型单向语言模型,例如Grover,Nvidia的Megatron-LM和Salesforce的CTRL。且不说OpenAI声称该模型“太危险而不能发布”而引发的争议,GPT2生成的文本从各方面来看都要比以前的文本生成模型好很多。

 

然而这些模型也显示出一些缺陷,并且这些缺陷可能无法仅通过扩大模型(更大的模型、数据、计算量)来弥补。 在这篇文章中,我们将快速概览其中的一些缺陷并尝试解决这些问题,并在此基础上讨论未来研究的一些潜在方向。

 

 

什幺是自回归语言模型? 为何这种模型很重要?

 

语言建模的核心问题是使用参数化函数逼近英语(或Lojban,Navajo,Python等) 中自然语言序列的分布。为了让建模更加灵活,自回归语言模型中将理想模型 表示为:

 

 

可以从公式中看到,条件概率 在xi处的值总是基于之前的值( ),换句话说,为了使建模问题更易于处理,我们转而训练参数化的函数,根据前面的符号来预测下一个符号,并使用附加到原始上下文的新生成的符号作为新上下文重复此操作。接着,我们可以通过对这些条件概率求积,得到对任意给定序列的可能性的估计。

 

包括分类和翻译在内的许多问题都可以等价地表述为自回归问题,或者可以显着地从一个强大的预训练自回归语言模型中受益,因此自回归语言模型是具有很强的泛化性的,其重要性不言而喻。从这个角度上讲,改进语言建模也可能是解决一般人工智能问题的重要一步。

 

 

定向搜索和文本重复性

 

 

在提供的GPT2样本中,作者使用top-k滤波和温度进行采样,而不是使用beam搜索,这样可以通过最大化似然得到更高质量的样本。然而令人惊讶的是, “The Curious Case of Neural Text Degeneration” (Holzman et al. 2019) 指出GPT2通过更高的预测概率得到的样本实际上质量更差,并且采样得到的文本趋向于高重复性。作者认为这个建模问题本质上是因为最大似然是一个根本错误的采样目标,并提出了核抽样,这种抽样方法可以截断低似然的符号,类似于top-k采样,同时保留长尾分布。然而高似然采样可以从更直观的角度理解,可以认为,既然从理想的语言模型 中抽取了一个极大似然样本,根据定义,这个样本将提供最可能出现的英文文本,这已经考虑到了极其乏味和重复的文本的可能性!因此问题是出在训练目标,而不是采样目标。

 

因此另一个简单的解决方法就是在训练时添加对重复性的惩罚,事实上,在神经文本退化论文发表后不久,我就独立地实现了我自己的GPT2波束搜索采样器。在重新考虑文本退化问题之后,我为重复的字符添加了一个简单的、任意时间可解码惩罚,乍一看结果还可以接受,但在理论上几乎没有理由这样做。最近,“Neural Text DeGeneration with Unlikelihood Training” (Welleck, Kulikov et al. 2019)提出了一种更加复杂的训练时间惩罚方案,包括在训练目标函数中添加一项额外惩罚项:

 

 

其中Ct是之前已经使用过的符号。虽然从经验上来说是成功的,但是没有很好的理论理由来解释为什幺较少的重复量会更好地模拟潜在的分布。

 

 

曝光误差

 

 

通过最大似然来训练自回归语言模型的一个主要问题是曝光误差(exposure bias, Ranzato et al., 2015)。自回归模型只对从目标语言分布中抽取的样本进行训练和评估,而在评估时则输入由该模型生成的样本。这个错误会极其迅速地加剧,并且人们已经观察到,GPT2在经过一定次数的训练后,其质量急剧下降,尽管这已经是公认的事实。

 

 

未来工作展望

 

这个问题与强化学习中的许多问题高度相似,目前许多工作,例如 “SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient” (Yu et al., 2016), “Improving Conditional Sequence Generative Adversarial Networks by Stepwise Evaluation” (Tuan et al., 2018), and “Toward Diverse Text Generation with Inverse Reinforcement Learning” (Shi et al., 2018) 使用强化学习来训练序列生成模型中的各个部分,从在GAN设置中传播生成器梯度到使用反向强化学习(它本身与GANs紧密相连)。

 

在这些基于强化学习的方法对GPT2中的模型这样大的模型变得实用之前,还有很长的路要走。中间步骤是使用现有的预训练语言模型,并在强化学习环境中对它们进行调优。此外,一个能够很好地量化曝光误差的评估指标对于适当的定量分析也很重要,该方向的一篇不错的论文是“Jointly Measuring Diversity and Quality in Text Generation Models” (Montahaei et al., 2019)。

 

 

总结

 

虽然最近的工作已经证明由于模型大小的增加,神经文本生成的质量有了巨大的改进,但是曝光误差的问题仍然存在于生成的长序列文本中。这方面的进展可能需要从强化学习的工作中吸取经验。事实上,在强化学习和语言建模的相互结合这个思路上,已经出现了许多有前途的工作。希望这些改进的语言模型不仅是在单个段落的尺度内,也可以整片文章的尺度内与人工文本竞争。

 

参考链接

 

GPT2:https://openai.com/blog/better-language-models/

 

“The Curious Case of Neural Text Degeneration” :https://arxiv.org/abs/1904.09751

 

“Neural Text DeGeneration with Unlikelihood Training” : https://arxiv.org/abs/1908.04319

 

原文链接:

 

https://leogao.dev/2019/10/27/The-Difficulties-of-Text-Generation-with-Autoregressive-Language-Models/

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注