Press "Enter" to skip to content

PPLM: 即插即用式可控文本生成

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

论文: Plug and Play Language Models: A Simple Approach to Controlled Text Generation

 

代码: uber-research/PPLM

 

来源:ICLR 2020

 

ABSTRACT

 

解决问题:基于transformer的语言模型(LM)已具备卓越的生成能力,然而在不 调整模型结构 或 使用特定属性数据微调模型 的情况下, 控制生成语言的属性 (如主题、情感等)十分困难。

 

解决方法:提出PPLM(Plug and Play Language Model),在预训练LM的基础上增加 指引文本生成的属性分类器 ,来自属性模型的梯度改变 LM中的隐藏状态 来指导生成,而 不再需要重新训练LM 。

 

结果:针对一系列主题和情感控制的实验表明模型生成的文本 流畅 且具有较好的 属性对齐能力 。PPLM可以利用多个不同属性模型的结合来控制文本生成, 较好的灵活性 使模型可以应用在许多场景中。

 

INTRODUCTION

 

基于transformer的大规模语言模型被训练好之后,控制生成文本属性有两种方式:①调整模型结构将属性作为额外输入;②使用特定属性的数据对模型进行微调。由于需要对整体语言模型进行训练,因此需要 大量计算资源 。

 

受控生成即对 建模,其中 表示属性, 表示生成样本,而生成模型针对 建模。计算机视觉领域, PPGN(Plug & Play Generative Networks) 开发了一种机制:在生成模型中插入分类器(属性模型) ,对 结果进行采样得到不同属性的图像。以类似的方式,PPLM的属性模型 使用 词袋或单层分类器 的形式,生成模型 使用 预训练、无条件的语言模型 。优化在激活空间中执行,因此 无需重新训练或精调模型 。

 

模型灵活性 体现在三个方面:①属性控制强度可控;②多个属性可随意结合;③生成模型、属性模型可选。

RELATED WORK

 

受控生成:

精调语言模型与重新训练条件语言模型的方法 针对每一个特定的属性均需要重新训练模型 ,PPLM提供了一种 即插即用 式的条件语言生成方法,使用属性模型来引导语言模型。

 

Can unconditional language models recover arbitrary sentences? 2019 表明预训练语言模型可以被引导恢复任意的句子。

 

一些工作探索了使用 小型神经网络来引导语言模型 :

 

Trainable Greedy Decoding for Neural Machine Translation. 2017

 

A Stable and Effective Learning Strategy for Trainable Greedy Decoding. 2018

 

一些工作考虑通过 Weighted decoding 来控制文本生成:

 

Learning to write with cooperative discriminators. 2018

 

Hafez: an interactive poetry generation system. 2017

 

Generating more interesting responses in neural conversation models with distributional constraints. 2018

 

通过 复杂的抽样方法 来约束模型生成某些关键词和主题。然而已有研究表明通过weighted decoding (WD) 实现控制是困难的,且导致生成文本的流畅性和连贯性受到影响。基于词袋的约束会导致模型强烈依赖于从关键词词袋中采样,而不允许生成偏向于主题但并不存在于词袋中的词汇。

 

有噪信道建模

 

一些工作 利用香农有噪信道理论来提升sequence-to-sequence模型 。源句为 ,目标句子为 ,首先从 采样,再根据 重新排序。

 

The neural noisy channel. 2016

 

Putting machine translation in context with the noisy channel model. 2019

 

Simple and effective noisy channel modeling for neural machine translation. 2019

 

由于没有前向模型 ,考虑将 来作为前向模型,依靠潜在空间来更新。

 

文本风格迁移

 

风格迁移也是对文本属性进行控制的一种任务,也有一些相关方法,但此类任务针对的不是语言生成的控制,且不是即插即用的。

 

PLUG AND PLAY LANGUAGE MODELS

模型整体可分为三个步骤:

 

 

    1. 前向传播:通过语言模型与属性模型预测

 

    1. 反向传播:根据属性模型结果更新语言模型内部历史状态(窗口大小可以指定),增加生成文本拥有所需属性的似然;

 

    1. 重新采样:根据更新后的历史状态得到新的输出分布

 

 

基于transformer的语言模型

 

给定一组单词序列 , 则语言模型通过计算 来训练。

在transformer模型中,历史状态 由一组key-value对构成:

其中 表示第 层在 到 时间步生成的所有key-value对,从循环的角度transformer可表示为:

STEERING GENERATION: ASCENDING

 

为控制语言模型的输出,在每一个时间步 , 对数似然更大的方向移动。为这两个影响因子增加权重因子,即可对属性控制强度进行调整。此过程可以理解为 对过去状态的逐步重新解释,从而引导未来的生成朝向期望的方向 。未来预测仅通过 依赖于过去,因此只对 进行更新。

 

使用 表示 的更新,初始为 ,则利用属性模型更新 可表示为:

此步骤 可重复多次 ,实验中采取了3~10次。之后便可以利用更新后的key-value对进行前向传播得到新的分布

 

ENSURING FLUENCY: ASCENDING

 

根据属性模型调整得到的生成文本如果不加约束会变得不符合自然语言分布。为处理这种情况,论文使用两种方法来保证生成文本的流畅度。

KL散度 :通过调整 ,最小化调整前后语言模型输出分布之间的KL散度。

 

Post-norm Geometric Mean Fusion :

 

将生成分布与无条件语言模型分布进行绑定,通过采样实现:

表示收敛于更新后的分布, 表示收敛于无条件的语言模型分布。

 

SAMPLING AND RANKING

 

控制生成文本属性除了根据更新后状态重新采样外,还可以根据属性模型 的得分对生成样本来排序。此外,为避免生成重复、低质量文本,论文还使用了Dist-1、Dist-2、Dist-3的平均值对生成样本进行筛选。

 

EXPERIMENTS

 

针对特定主题的文本生成

 

属性模型选择 词袋模型 ,预先定义好一组关键词 ,则:

根据生成示例,我们发现提升词袋中词汇生成概率也会 增加不在词袋中但也符合相关主题的词汇生成概率 。

变体 ——R:增加排序;变体C:增加内部状态更新。

 

实验结果分析:

 

 

    1. 消融实验:增加C的模型在 主题相关性方面提升显着 ,流畅度得分略有下降,多样性方面表现相似。

 

    1. 对比实验:主题相关性方面略优于CTRL,明显优于WD,流畅度类似。

 

    1. C的影响比R更大,表明 对潜在空间进行调整要比直接对输出分布重新加权更加有效 。WD表现相对更差也验证了上述推断,WD直接控制输出分布,无法增加采样词袋外相关主题词汇的概率。

 

    1. 即使前缀与属性的组合无意义或不寻常,模型仍然能成功地控制生成文本属性。

 

针对指定情感的文本生成

 

属性模型选择 分类器 ,对于长度为 的输入 ,计算其embedding的的平均值作为分类器的输入,参数量为(embedding-dimension (e) × number of attributes (a) + number of attributes (a)),相比于语言模型很少。分类器使用SST-5数据(电影评论)训练,但实验中的前缀并不一定与电影有关,这表明 用不同领域的数据训练得到的属性模型仍然可以提供有意义的梯度 。

实验结果分析:

 

 

    1. 不同于主题控制, R可以较大程度上提升属性准确率 ,这是由于属性较少,先验更高。

 

    1. 消融实验:BC相比于B流畅度下降,属性准确性大幅提高;BCR在保证流畅度的情况下极大提升了属性准确性;增加C后R带来的提升更大,表明 两种方法的结合是更有利的 。

 

    1. 对比实验,与CTRL相当,优于GPT2-FT-RL与WD。

 

 

语言解毒

 

使用大量互联网数据训练的语言模型可能生成带有偏见或歧视的文本,尤其是当前缀词较为敏感时(如黑人)。可以利用PPLM进行解毒,使用毒性分类器作为属性模型,之后负梯度更新潜在状态。实验表明模型可以有效地降低毒性。

 

受控故事写作

CONCLUSION

 

论文提出PPLM,一种即插即用式的可控文本生成方法,通过结合预训练语言模型与属性模型实现对生成文本细粒度的控制,并保证其流畅性。

 

问题:逐步更新的方式可能会影响生成速度;文本流畅度方面有待进一步提升。

Be First to Comment

发表评论

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