Controlled Text Generation as Continuous Optimization with Multiple Constraints
简介:
本文发表于NeuraIPS2021,随着大规模语言模型预训练推动了文本生成的最新技术,最近的工作已转向控制此类模型生成的文本的属性。虽然通过微调修改预训练模型仍然是流行的方法,但它会产生巨大的计算成本,并且由于缺乏适当的数据而可能不可行。作为替代方案,我们提出了 MuCoCO——一种灵活的模块化算法,用于从预训练模型进行可控推理。我们将解码过程表述为一个优化问题,它允许将控制属性合并为优化问题中的可微约束。通过将这种离散优化放松为连续优化,我们利用拉格朗日乘数和基于梯度下降的技术来生成所需的文本。我们评估了在具有多个句子级属性的可控机器翻译和风格转移方面的实验结果,取得了对基线的显着改进。
1. 引言
受控文本生成(CTG)任务旨在从文本生成模型中解码,以使输出满足某些约束,而模型不一定是要在这些约束上进行训练的。例如,给定一个对话生成模型,尽管该模型在训练期间并未针对polite进行优化,但我们可以另外将生成的响应约束为polite,从而使得最终输出满足礼貌需求的句子。
而目前的相关工作主要具有以下特点:
Ø 从左到右的自回归解码
Ø 直接使用在属性特定语料库上训练的分类器或语言模型
Ø 或通过模型激活反向传播梯度来修改每一步的词汇分布
但是这样的方式会产生一些问题:
Ø 解码时仅使用了左侧上下文
Ø 仅适用于分类属性
本文主要思想如下:
Ø 我们通过将每个标记表示为目标词汇表上的单纯形,将离散优化问题放松为连续优化问题。
Ø 我们将要控制的每个目标属性表示为可微函数。 我们将可控解码制定为多目标优化问题。
Ø 我们将其重新用于约束优化问题,并使用改进的乘法微分法解决对偶问题。
2. 方法
生成模型的目标是最小化对数似然概率:
如果加上控制属性约束,则表示为:
我们假设所有 fi 和 gi 都是可微的。这是一个多目标优化问题,优化目标就是找到帕累托前沿,目前有几种可能的解决方案,其中一种就是将所有目标函数线性组合成为一个目标函数进行优化:
但使用线性组合的方式有着一些问题,
Ø 首先,这通常需要昂贵的网格搜索或使用启发式算法来获得权重
Ø 该公式通过为每个目标分配重要性权重来假设不同目标之间的权衡,这会导致有些小尺度的约束项可能会在优化过程中被忽略掉。
下图展示了线性组合方式的优化过程,可以看到,整个的优化过程一直在震荡,且难以收敛到同时使得各个目标函数都较小的位置(帕累托前沿)
图1. 线性组合的优化过程
因此,本文将该问题转化成为一个拉格朗日优化问题:
即将生成序列的对数概率作为优化目标,而其他控制属性则作为约束条件。这样也是符合直觉的,因为实际上控制属性就是作为约束条件出现的。
那么这个问题就可以直接使用拉格朗日乘子法来进行求解,
本文使用了改进的乘子微分法进行求解,
其中加入阻尼项,
其中,
实验也初步证明了带有阻尼项的优化可以使得优化过程更加平稳,如下图所示,
图2. 是否带有阻尼项的优化过程对比
为了使得优化过程中y保持为概率分布的形式,本文使用了指数梯度下降作为优化方法,
为了避免出现对抗解,即在优化的前几步就迅速满足约束条件而导致丢失了原有的生成模型的流畅性,在优化过程中,先将约束阈值放松到几乎所有句子都能满足,然后在优化步中逐渐调整阈值直到达到要求的阈值,来避免优化过程被约束主导。
整体的模型如下所示,bp过程仅涉及输出的y概率分布,其余部分仅参与前向传播计算,
图3. 模型总览
算法流程图如下所示,
3. 实验
本文进行了两个实验,分别是文本风格迁移和风格控制的机器翻译。
对于风格迁移任务有两个约束,
一是要求生成句子的风格,
二是生成句的语义要和原文一致,这里采用了两种相似度模型,
(1) USIM (cosine similarity)
(2) WMD (Word Mover’s Distance)
结果如下所示
图4. Style Transfer
第二个是风格控制的机器翻译,同样有对风格的限制约束,
外加一个跨语言一致性的评价标准,
CM是用跨语言模型训练的语义表示模型。
结果如下,
图5. Style-controlled Machine Translation
4. 总结
l 灵活地将预训练的 LM 与任何可微约束相结合
l 将离散优化松弛为连续优化
l 利用拉格朗日乘数和基于梯度下降的技术来生成所需的文本。
l 可以同时控制多个属性
l 可以通过调整阈值在帕累托前沿寻找其他解