NLG的Decoding方法相关论文笔记(3)—— Entmax Transformation

Sparse Text Generation

Summary

文章提出了entmax的训练和sampling策略,解决文本生成中的退化问题的同时,得益于去训练和预测时都是基于entmax所得的稀疏概率分布,又不会额外引入train-test mismatch。文章中对entmax所得的稀疏概率分布没有细致的证明,而是用于19年ACL的一篇文章的结果。

Research Objective

同样是解决文本生成任务当中的退化问题,文中把上一篇介绍的top-k sampling和nucleus sampling的策略称为ad-hoc truncation techniques。但这些策略只在decoding的时候实施,就造成了文本生成问题模型在训练和预测时的mismatch。

Problem Statement

这些sampling策略的truncatedrenormalized的softmax,只在预测阶段才人为地施加,并没有在training的阶段被学到;而且也很难去对比不同的truncation strategies。文章希望在解决文本退化问题的基础上,解决这些mismatch。

Method(s)

Sparse Transformations

文章以sparsemax或者说是entmax来代替那些ad-hoc的sampling策略。entmax的transformation能够内在地生成稀疏的概率分布,而后直接从这个稀疏的概率分布上sample就很自然地避免了文本的退化。具体如下。

19年ACL一篇《Sparse Sequence-to-Sequence Models》定义了entmax如下:

其中为timesteps t时模型输出的logits,是Tsallis entropy:

时,公式2就成了普通的香农熵的定义;当时,公式2就成了Gini熵;当时,公式2趋近于0,因此相应地公式1中1-entmax, 2-entmax, entmax就分别对应softmax,sparsemax和argmax。《Learning Classifiers with Fenchel-Young
Losses: Generalized Entropies, Margins, and Algorithms》
中展示了当时,entmax能够输出稀疏的概率分布,也就是说一些无关的词的概率会真正地为0,而不是一个接近于0的比较小的数。

那如何把entmax应用到训练当中呢?原本的文本生成模型MLE的log-likelihood loss如下:

Follow 19年那篇ACL的文章,把上式替换成:

其中,且是ground-truth token x对应的one-hot vector。当时,公式3、4等价;当时,公式4就是所谓的sparse-max loss

Entmax Sampling

上文介绍了以entmax transformation进行训练,而正像之前所说的,为了解决ad-hoc的sampling策略找出的train和test之间的mismatch的问题,文章在test的decoding阶段直接用entmax所得到的稀疏概率分布进行采样,不做任何的裁剪操作。这样可以使得sampling的结果文本具有比较好的多样性。

Evaluation

困惑度perplexity的定义是:

而这个定义对于一些sparse或者truncated的概率分布而言会出现一种异常:(truncated的策略把截断的token之外的token的概率设为0,这也就可能是上一篇介绍的HUSE方法需要interpolate的原因)。对此,文章提出了三种新的评价指标。

1、 perplexity:对于sparse的概率分布加了小量作为平滑:

2、 Sparsemax score

3、 JS散度

其中,是训练所得的语言模型,。当JS散度为0时,说明,当JS散度为时,是一个one-hot分别,其中为1的那一项是完全错误的另一个token。

JS散度还可以用于衡量多个模型对于那个生成的句子的散度最大,即模型的预测结果之间最不相似。

当然,entmax在以上各指标的实验中综合表现最优

Conclusion

文章对于文本生成问题提出了entmax sampling策略,entmax的优点在于:1、sampling的方式是十分自然地从概率分布中sample;2、分布的稀疏性在训练时就已经学到,因此不会有训练和预测是的mismatch‘3、和nucleus sampling相同,与top-k sampling不同的是,sample的token集合的token数量随着上下文而动态变化。

Reference

Expression Record

A conundrum with current approaches:现存方案的一个难题

the unreliability of the tail of the distribution:尾部分布的不可靠性(只next-token predication时,token分布中那些概率小但密集的不可靠token)