Neural Text Degeneration With Unlikelihood Training
Summary
文章介绍了一种新的语言模型训练方法unlikelihood training,在MLE的基础上对于设定的negative candidate中的token使用unlikelihood loss做出限制,用于解决MLE的训练方法中存在的重复和unique token少(模型很少输出富有含义的低频词)这些问题。(我私觉得文中实验的评价指标都是对文章提出的方法有利的
Research Objective
文本生成中的文本退化的问题。
Problem Statement
最大化log-likelihood的目标函数使得文本生成任务的模型过于单调无趣,高频词被反复地使用,而富有含义的低频词却很少被利用。最近的解决方法是用一些采样和复杂的beam search的变种,但治标不治本。
文本退化的可能原因有三:1、Transformer之类的模型更偏爱重复;2、是人类语言的内在属性,而不是模型的缺陷;3、依赖于固定的语料库,而不能考虑到语言的真实目的。
文章使用unlikehood training,对于真实的target token使用likehood update,对于非真实(其他的)token使用unlikelihood update。
Neural Text Degeneration
主要的问题包括,重复和token分布的差距。
重复的问题包括sequence-level的重复和next-token预测的重复。前者体现在greedy decoding的方法n-grams相比真实数据,模型的预测很容易出现重复;后者体现在模型在做t timestep时的next-token prediction时使用前文出现的token的概率要比真实数据时t timestep的token是前文出现的token的概率高。
token分布的差距是指模型生成的文本的unique token的数目要比真实数据的少40%。
The Unlikelihood Training Objective
Unlikelihood Training
定义一个negative candidates,unlikelihood loss的思想就是降低negative candidates出现的概率,其定义step t的unlikelihood loss为
定义negative candidates为上文的token:
再把这个unlikelihood loss加到每一步的maximum likelihood training当中,得到以下公式:
上式中的第一项是文中改进的unlikelihood loss,第二项是MLE中log条件概率。这样的改进使得(i)来自上文token的重复更少,(ii)高频词出现的可能更小,因为高频词经常性地在上文中出现。
文中接着给出了关于上式的梯度分析。设定,a是模型预测的logits,为了便于分析,假定negative candidate集合只有一个token 。那么负的token-level loss可以表示成:
接下来计算上式对于神经网络输出的logits a的导数,这个logits a也就是神经网络预测timestep t是出现vocab中各个单词的概率,经过softmax归一化,即可得到
softmax的导数
使用以上softmax的求导公式则有:
而和考虑i的各种情况:ground-truth的next-token;negative candidate中的token,其他的token。
- ground-truth的next-token:
- negative candidate中的token:
- 其他的token:
于是最终可以得到论文中的结论:
Sequence-level Unlikelihood Training
另外,文中还有针对sequence-level的unlikelihood的训练方法,如下式所示:
从表达式上看与next-token level的没差,但主要的区别在于关于negative candidates的定义。sequence-level的unlikelihood training是针对经过模型解码之后的decoded sequence而言,每个time step的negative candidate指可能为空或当前token ,当 是与相重复的某个的n-gram的其中一个token的时候,negative candidate设为。在代码实现中实际上是使用关于的伯努利分布来随机设定negative candidate,随机变量取1,则当前timestep的negative candidate取,否则为空。
Evaluation
文中用token的重复率:任意timestep t时刻的argmax的token在出现重复的占比;以及unique n-grams的占比作为评价指标,经过token-level和sequence-level的unlikelihood的训练Transformer模型,这些评价指标相较于基础的MLE训练都有较大的改进。
但是,这些指标并不是常见的文本生成问题指标BLEU,而是文章针对自己解决的问题所对应的重复占比,unique占比这些指标,以及通过众包和专家对不同的策略生成文本的质量的评判。
Reference
改进的decoding算法
- 不同的beam search的变体,hard or soft的beam blocking。
- Top k-sampling(来自于18年ACL的《Hierarchical neural story generation》)以及nucleus sampling的方法(下一篇笔记)。
改进的learning算法
改进learning算法包括energy-based model和最近的reflective likelihood,以及一个特殊的算法变体族,negative training。
Expression Record
post-hoc fixes,文章表示某个方法之后提出的一些事后修补
sth indicates a discrepancy(mismatch) between the human and model
These issues are not remedied by …(这些问题不能用…纠正)