|超越SOTA Transformer,哈佛,FAIR提出基于残差能量模型的文本生成( 二 )


虽然本文提出的模型具有很好的理论保证 , 但引入分类器 / 修正器 E_θ (x)引入了额外的参数 。 为什么不直接增加语言模型的参数呢?这涉及到了语言模型 P_LM (x)和残差能量模型 P_θ (x)的本质区别:目前的语言模型 P_LM (x)一般是局部归一化(locally normalized)的 , 而 P_θ (x)是全局归一化的(globally normalized):
|超越SOTA Transformer,哈佛,FAIR提出基于残差能量模型的文本生成
本文插图

也就是说 , P_LM (x)的模型在生成每个单词时 , 只能使用前面已经生成的单词的信息 。 因此我们只能使用单向的模型作为文本生成模型 , 而无法使用双向的模型 。 对比之下 , E_θ (x_1 x_2…x_T )是直接取整个文本作为模型的输入 , 因此可以使用双向的模型 , 比如预训练的 BERT 。 由于不需要像 P_LM (x)那样每生成一个单词都归一化 , 因此全局归一化的 P_θ (x)更灵活 。 其实 , P_LM (x)只是 P_θ (x)的一种特例 。
虽然全局归一化的模型更灵活 , 但与 P_LM (x)不同 , P_θ (x)不能从左至右逐词生成 , 因为 E_θ (x)需要以整个文本作为输入 。 对此 , 作者提出了基于 importance sampling 的生成方式:为了生成一个文本 , 作者
首先从 P_LM (x)中采样 N 个完整文本{x^1,x^2,…,x^N}
然后从这个样本集中进行采样:P(x=x^i)∝exp?(-E_θ (x^i ))
上述过程非常类似机器翻译和句法分析中的再排序算法(reranking) , 然而本文作者提出的算法有两点重要的改进:第一 , 他们的算法具有理论保证 , 当样本数 N 足够大 , 上述过程中采集的样本服从 P_θ (x)的分布;第二 , 再排序在第二步骤进行的是排序 , 而他们进行的是采样(初步实验证明排序的效果弱于采样 , 类似 [5] 中的观察) 。
实验
最后简要介绍一下实验结果 。 本文主要使用的数据集 CC-News 规模非常大 , 有 160 亿个词 [6] 。 另外 , 作者选择的基线(baseline)是 GPT 级别的 state-of-the-art 语言模型 。 对如此大规模数据下基线模型的提高是非常有意义的 。
首先 , 作为生成模型 , 作者使用自然语言处理中的常用指标 perplexity(PPL)衡量真实文本在模型下的概率 。 PPL 可以简化理解为正确生成每个词 , 模型平均需要猜几次 。 因此 , PPL 越低越好 。 这里残差能量模型的 PPL 使用采样估计的上界 , 详见论文 。
|超越SOTA Transformer,哈佛,FAIR提出基于残差能量模型的文本生成
本文插图

在上图中 , BASE LM 是语言模型 P_LM (x) , 其余的(Joint 开头)都是残差能量模型 。 使用单向的 transformer 作为 E_θ (?)(Joint UniT) , PPL 略有降低 , 而使用双向的 transformer(Joint BiT-Base) , PPL 比单向模型进一步下降(值得一提的是 , 传统的语言模型是没法使用双向 transformer 的) 。 最后两列展示了本文所提方法可以使用预训练的双向模型 , 这里作者使用了 BERT 的变种 Roberta-Base(Joint BiT-Base)和 Roberta-Large(Joint BiT-Large) , 效果得到了进一步的提升 。
【|超越SOTA Transformer,哈佛,FAIR提出基于残差能量模型的文本生成】PPL 的降低证明了:从概率模型的角度 , 本文提出的模型是优于基线模型的 。 但该模型能否生成更以假乱真的文本呢?下面的表格中 , 作者做了人工评测的实验 , 验证了该模型的确可以得到更好的文本:
|超越SOTA Transformer,哈佛,FAIR提出基于残差能量模型的文本生成
本文插图

最后 , 作者给出了一个具体例子 , 直观理解残差模型如何修正改进语言模型 P_LM (x) 。
|超越SOTA Transformer,哈佛,FAIR提出基于残差能量模型的文本生成


推荐阅读