综述:扩散模型在文本生成中的应用
© 作者|李依凡
机构|中国人民大学
研究方向 | 自然语言处理
本文介绍了小组的综述文章Diffusion Models for Non-autoregressive Text Generation: A Survey,总结了扩散模型在文本生成领域的最新进展。文章也同步发布在AI Box知乎专栏(知乎搜索 AI Box专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨!
论文链接:https://arxiv.org/abs/2303.06574
1. 引言
文本生成任务旨在根据输入数据生成接近人类写作的文本,在现实世界中已 取得广泛的应用,如机器翻译、文本生成等。受益于出色的序列建模能力,RNN、Transformer等深度学习模型已成为了文本生成任务的主干模型。最近,预训练语言模型(PLMs)进一步提升了文本生成任务的效果。在大规模语料库上进行预训练后,PLMs可以在下游任务上进行高效的微调,利用之前学习到的知识提高任务表现。通常,上述文本生成方法主要采用自回归方式(Autoregressive, AR)逐个生成输出token。这种方式能够捕捉token之间的时序依赖关系,但在生成长文本时会很耗时。因此,研究人员提出了非自回归(Non-autoregressive, NAR)生成方法[1],它能够并行生成所有token,极大地降低了推理延迟。
然而,非自回归模型在生成准确性方面通常不如自回归模型,因为其并行的生成方式难以捕捉到token间的依赖关系。为了缩小二者间的性能差距,在图像生成方面取得显著成果的扩散模型[2]也被引入非自回归文本生成领域。扩散模型通过多步去噪过程逐步将随机噪声转化为数据样本。对于非自回归文本生成任务,扩散模型可以根据给定输入数据迭代地修改中间生成结果,更容易处理复杂的控制条件并生成高质量的目标文本。此外,通过采用适当的采样加速方法,扩散模型可以很好地权衡推理时间和生成质量。
现有的工作已经用于图像生成的两种典型扩散过程引入到了文本生成中,即连续扩散和离散扩散。其中,连续扩散过程在连续的latent space内进行扩散,而离散扩散过程则在离散的token层次进行扩散。我们在表1中列举了这两类模型的代表工作并比较了它们的特征。但是,由于文本的离散特质和复杂语义,有效地将这些扩散模型应用于非自回归文本生成任务并不容易。因此,已有的研究在扩散模型的原始设置基础上引入了新的策略,包括修改训练目标,采用专门为文本设计的noise schedule和集成预训练语言模型等。
本综述首先概述了文本扩散模型,并分别介绍了离散和连续两类文本扩散模型。我们进一步总结了扩散过程中的四项关键设计,即去噪网络,noise schedule,目标函数以及conditioning strategy。之后我们讨论了PLMs在文本扩散模型中的应用以及其他针对文本数据做出的改进。最后展望了文本扩散模型未来的发展方向。
2. 文本扩散模型概述
扩散模型在图像和音频生成领域已取得了重大进展,其在文本生成上的应用也得到了越来越多的关注。本章中我们回顾了扩散模型的概念,给出了文本扩散模型的正式定义并比较了其和传统非自回归模型的区别。
2.1 扩散模型
扩散模型是一类隐变量模型,由一个前向和后向的马尔可夫过程组成。前向过程 用随机噪声逐渐打乱原始数据 。后向过程 通过一个去噪网络 逐渐将一个随机噪声复原为期望的数据样本。
具体来说,给定数据样本 ,前向过程从下述分布中采样一系列隐变量 :
其中
其中
其中
最终的训练目标化简自
2.2 文本扩散模型
文本扩散模型基于输入数据逐渐将一个随机噪声复原为期望的文本。开始时的噪声可以是离散(如[MASK] tokens)或连续(随机高斯噪声)的,分别对应离散和连续的文本扩散模型。去噪过程依赖于一个参数化去噪网络,大多基于transformer架构。在训练阶段,去噪网络基于设定好的noise schedule,目标函数和conditioning strategy恢复被打乱的中间结果。在推理阶段,去噪网络从一个随机噪声
2.3 文本扩散模型在非自回归生成中的优势
NAR模型的并行生成方式虽然能够降低推理延迟,但由于难以捕捉token之间的依赖关系,其生成质量往往不高。文本扩散模型的一些优点可以帮助提高NAR生成的准确率。
受限的迭代式改进
为了提升NAR方法的文本生成质量,已有方法引入了迭代改进的生成策略。虽然这种方式提高了生成质量,但随着迭代步数的增加,对整个改进过程的精确控制会越来越困难,从而限制了提升效果。而文本扩散模型中的迭代改进过程是受限的,每一步改进都被约束为根据确定的方差对一个随机噪声进行去噪。通过这种方式,多步的迭代过程会更加稳定。
引入中间控制
已有的NAR方法也难以对迭代过程的中间结果施加精确控制,尤其是复杂的控制条件(例如生成与给定语法树一致的句子)。对于文本扩散模型,已有工作详细研究了对中间结果的控制方法,例如引入额外分类器或使用classifier-free方法。理论和实验均已证明这些方法可以将中间结果引导向满足控制条件目标文本。
权衡时间成本和生成质量
在推理阶段,已有NAR方法主要依赖于调整迭代轮数来平衡时间成本和质量。减少迭代轮数可以增加推理速度,但也会导致生成质量的下降。然而迭代轮数基本在训练阶段就已确定,难以在推理阶段重新设计。文本扩散模型可以通过DDIM等采样加速技巧更自由的做到这一点。实验表明这类加速方法可以任意调整采样步数并且对生成质量只有轻微影响,从而使得文本扩散模型可以更好地权衡时间开销和生成质量。
3. 针对文本数据的扩散模型
由于文本数据的离散特质,将扩散模型应用于非自回归文本生成并非易事。具体来说,离散的token不能直接被连续的噪声打乱,因此我们需要对经典的扩散模型做出改进以让其适用于文本数据。在本章中,我们回顾了最近文本扩散模型领域的进展。已有工作可分为两派,一派在离散的token层面进行扩散,另一派在token的隐表示层面进行连续扩散。
3.1 离散文本扩散模型
图1(a)展示的是离散文本扩散模型。离散域中的扩散模型首先在[3]中被提出,用于预测连续数据的二进制表示。[4]进一步探索了基于标准转移核的离散状态的扩散过程。D3PM[5]提出了离散扩散模型的通用框架并首先在大规模语料上测试了离散扩散模型的性能。对于离散数据
其中
3.2 连续文本扩散模型
图1(b)展示的是连续文本扩散模型,这类模型普遍先将离散的token映射为连续的embedding,之后再进行连续的扩散过程。Diffusion-LM[6]首先将连续扩散模型应用于文本生成领域。其在前向过程中增加了一个embedding步骤
4. 扩散过程中的关键设计
去噪网络及其相关设置(例如noise schedule, 目标函数以及conditioning strategy)是文本扩散模型的核心组成部分,对生成质量有重要影响。本章中我们会介绍这些设计的细节以及文本扩散模型针对它们做出的改进。
4.1 去噪网络
去噪网络在逆向过程中从中间生成结果中移除噪声。和使用U-Net的视觉扩散模型不同,文本扩散模型通常采用transformer作为去噪网络,从而更好地捕获token之间的依赖关系。
Transformer
近年来,transformer成为了自然语言处理领域的主流架构。Transformer是一个由多个transformer层组成的encoder-decoder网络,每个transformer层都包含数个前馈网络和多头自注意力函数
4.2 Noise Schedule
Noise schedule
Linear Schedule
DDPM提出了linear schedule,
Cosine Schedule
[10]中提出linear schedule中噪声规模的增长速度过快,使得最后一部分的隐变量都几乎被完全打乱。因此他们提出了cosine schedule,其定义
Mutual Information Schedule
D3PM为离散扩散过程设计了mutual information schedule,对原始数据和隐变量之间的互信息进行线性插值。对于包括吸收状态的离散扩散模型,该schedule会退化为
Sqrt Schedule
Diffusion-LM观察到经过打乱后,单词在embedding空间中的最近邻往往保持不变,并将这种现象归因为传统的noise schedule的初始噪声规模过小,不足以打乱文本数据。因此作者提出了sqrt schedule,其定义
Spindle Schedule
非自回归生成中的easy-first policy认为常见的单词应该较早被生成出来以作为后续更少见的单词生成时的上下文。因此DiffusionBERT[13]提出了spindle schedule,对于包含信息量更多的单词赋予更高被打乱的概率。从而较少见的单词会在前向过程的开始阶段被替换为[MASK]并在去噪阶段的结尾被恢复。
Adaptive Schedule
SeqDiffuSeq[14]认为预测
4.3 目标函数
作为另一个关键部分,去噪网络的目标函数也需要改进以适应文本生成任务。例如原来通过
如公式(5)所述,经典扩散模型的训练目标可被简化为预测后验分布
Auxiliary Loss
由于连续文本扩散模型在推理阶段需要将embedding映射为word token,Diffusion-LM在目标函数中引入了一项新的loss
Surrogate Loss
RDM[15]提出对离散扩散模型的去噪过程进行重参数化。作者引入了一个step-wise rounting indicator
4.4 Conditioning Strategy
通过设定不同的条件
Unconditional Generation
当
Attribute-to-text Generation
当
Classifier-free是另一种处理该任务的方法,通常显式地将条件整合进去噪网络中。LD4LG使用类别embedding作为条件,通过cross-attention机制和隐变量被整合到去噪网络中。相似地,SED在训练过程中也将条件映射为embedding,但通过self-conditioning机制将其和隐变量结合。
Text-to-text Generation
当
5. 预训练语言模型的使用
由于预训练语言模型(PLMs)在文本生成任务上的出色表现,我们可以将它们整合到文本扩散模型中以提高生成质量。本章中我们将介绍这方面的已有工作。
5.1 PLMs as Denoising Networks
离散文本扩散模型的去噪网络尝试还原被[MASK]打乱的文本序列,而这一目标和已有PLMs的预训练任务非常类似,例如BERT中的Masked Language Model。因此离散文本扩散模型和PLMs的结合有很好的前景。DiffusionBERT使用预训练好的BERT作为去噪网络。不过原始的去噪网络在预测时会依赖时间步信息,而PLMs在预训练时没有遇到过这类信息。因此DiffusionBERT引入了time-agnostic decoding,在预测时不显式地提供时间步信息,而是让模型自己根据被打乱的token数量自行推测。连续文本扩散模型也可以使用PLMs, SSD-LM使用了一个预训练好的RoBERTa作为去噪网络来加快收敛速度。
5.2 Diffusion on PLM’s Latent Space
Latent diffusion models[17]在预训练好的图像编码器的隐空间中进行扩散过程,并在文本指导图像生成的任务上取得了较好效果。相似的方法也被用于文本扩散模型中。LD4LG在预训练好的BART的隐空间中训练文本扩散模型。在训练阶段,BART的encoder将文本转换为embedding,之后沿用连续扩散过程将其打乱并复原。在推理阶段,去噪网络从随机噪声中恢复embedding,之后通过BART的decoder将其解码为文本。LatentOps使用一个预训练好的GPT-2将ODE sampler采样的隐变量映射回离散的文本。Difformer用预训练好的BERT的embedding进行初始化。
5.3 Revising Pre-training Tasks of PLMs
尽管PLMs可以提供高效初始化文本扩散模型并加快收敛,但由于二者训练目标上的不一致,PLMs的隐空间可能并不适合扩散模型。因此一些工作重新设计了预训练任务并提出了基于文本扩散模型的预训练模型。GENIE[18]设计了新的预训练任务continuous paragraph denoising (CPD) 并重新预训练了一个文本扩散模型。给定一个document
6. 其他针对文本数据的优化
在上述方法之外,已有工作还提出了许多别的技巧用于提升文本扩散模型的生成质量,它们中有一些为文本数据的独有特征而设计,另一些借鉴了其他领域扩散模型使用的方法。本章我们将介绍这些方法。
Clamping Trick
推理阶段中,在将去噪网络的预测结果用于下一步预测之前,Diffusion-LM将预测结果替换为和它距离最近的word embedding。这使得预测结果集中在词表中的单词周围,降低了rounding过程的loss。但是这种做法需要计算所有word embedding和预测结果之间的距离,因此在推理阶段的每一步都使用这种方法会非常耗时。因此GENIE只在推理阶段的最后一步使用该方法。
Self-conditioning
在标准扩散模型的逆向过程中,去噪网络基于当前的隐变量
Semi-NAR Generation
SSD-LM引入了半非自回归的生成策略,迭代地生成一个大小为B的token block,每次生成的输入都是之前生成的block和一个随机噪声的拼接。新生成的block也会和此前的block拼接起来作为新的context。上述生成过程会重复至生成的文本达到想要的长度。这样的生成策略弥补了文本扩散模型的非自回归生成方式中缺少依赖的问题。
Additional Normalization
Difformer观察到少见的token往往比常见的token拥有更大的范数,但已有的文本扩散模型对不同token添加的噪声规模是相同的。因此少见的token需要更多的扩散步骤才能被完全打乱。因此Difformer引入了一个layer normalization模块将word embedding的大小约束到相同的水平。
Timestep Sampling
在训练过程中,大多数已有工作随机采样时间步并用对应的噪声来打乱原始数据。不过[10]中提出均匀采样时间步会导致训练loss中出现噪声,并提出了重要性采样:
7. 结论和展望
本文概述了最近文本扩散模型领域的研究进展。我们总结了离散和连续的文本扩散模型,并讨论了扩散过程中的关键设计。我们还总结了预训练语言模型在文本扩散模型中的使用并介绍了其他针对文本数据的优化技巧。为了进一步促进该领域的发展,我们总结了以下几点文本扩散模型的未来发展方向。
Customized Noise Schedules
已有的文本扩散模型中的noise schedule大部分源自图像生成任务,在前向和去噪过程中平等对待所有的token。因此它们会忽视token在重要性和出现频率上的差异,导致对关键词或罕见词的生成不够准确等问题。DiffusionBERT中的spindle schedule对信息量更高的单词赋予了更高的权重并带来了明显的性能提升。针对文本数据并且任务相关的noise schedule需要进一步的研究。
Efficient and Effective Way to Use PLMs
尽管已有工作已经成功将PLMs应用于文本扩散模型,它们仍然难以超越原始PLMs的微调结果。原因在于这些PLMs在预训练时主要遵循sequence-to-sequence或自回归的方式,而没有考虑到扩散过程。这同样引出了另一个问题,即已有工作往往需要更多的训练步数才能将PLMs和扩散过程较好地结合。因此,如何将PLMs高效地和扩散模型相结合并且有效地在扩散过程中利用它们学习到的知识值得进一步探索。
Unified Multimodal Diffusion Models
扩散模型在文本生成图像任务上取得了显著进展,一些工作也探索了它们在image captioning等图像生成文本任务上的应用。实际上,这两类工作往往使用了相似的扩散机制和设置,只是在数据格式上有所不同。因此,如果能统一文本和图像数据的建模方式,扩散模型有希望统一图像生成文本以及文本生成图像任务的语义空间,从而成为一个统一的多模态生成模型。
Alignment with Human Values
虽然扩散模型拥有富有多样性的生成能力,它们也可能生成违背人类价值观的内容,例如种族或性别偏见。如果结合了PLMs,该问题可能会更加严重,因为已有的PLMs是在从互联网上收集的大规模语料上进行预训练的,其可能包含敏感的个人信息或带有冒犯性的句子。考虑到文本扩散模型对中间结果强大的控制能力,如何避免文本扩散模型生成上述负面内容或对生成结果进行去毒值得关注。
参考文献
[1] Jiatao Gu, James Bradbury, Caiming Xiong, Victor O. K. Li, and Richard Socher. Nonautoregressive neural machine translation. In ICLR (Poster). OpenReview.net, 2018.
[2] Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. In NeurIPS, 2020.
[3] Jascha Sohl-Dickstein, Eric A. Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In ICML, volume 37 of JMLR Workshop and Conference Proceedings, pages 2256–2265. JMLR.org, 2015.
[4] Emiel Hoogeboom, Didrik Nielsen, Priyank Jaini, Patrick Forre, and Max Welling. Argmax flows and multinomial diffusion: Learning categorical distributions. In NeurIPS, pages 12454–12465, 2021.
[5] Jacob Austin, Daniel D. Johnson, Jonathan Ho, Daniel Tarlow, and Rianne van den Berg. Structured denoising diffusion models in discrete statespaces. In NeurIPS, pages 17981–17993, 2021.
[6] Xiang Lisa Li, John Thickstun, Ishaan Gulrajani, Percy Liang, and Tatsunori Hashimoto. Diffusion-lm improves controllable text generation. In Advances in Neural Information Processing Systems, 2022.
[7] Xiaochuang Han, Sachin Kumar, and Yulia Tsvetkov. SSD-LM: semi-autoregressive simplex-based diffusion language model for text generation and modular control. CoRR, abs/2210.17432, 2022.
[8] Zhujin Gao, Junliang Guo, Xu Tan, Yongxin Zhu, Fang Zhang, Jiang Bian, and Linli Xu. Difformer: Empowering diffusion model on embedding space for text generation. CoRR, abs/2212.09412, 2022.
[9] Justin Lovelace, Varsha Kishore, Chao Wan, Eliot Shekhtman, and Kilian Q. Weinberger. Latent diffusion for language generation. CoRR, abs/2212.09462, 2022.
[10] Alexander Quinn Nichol and Prafulla Dhariwal. Improved denoising diffusion probabilistic models. In ICML, volume 139 of Proceedings of Machine Learning Research, pages 8162–8171. PMLR, 2021.
[11] Robin Strudel, Corentin Tallec, Florent Altch ́e, Yilun Du, Yaroslav Ganin, Arthur Mensch, Will Grathwohl, Nikolay Savinov, Sander Dieleman, Laurent Sifre, and R ́emi Leblond. Self-conditioned embedding diffusion for text generation.CoRR, abs/2211.04236, 2022
[12] Shansan Gong, Mukai Li, Jiangtao Feng, Zhiyong Wu, and Lingpeng Kong.Diffuseq: Sequence to sequence text generation with diffusion models.CoRR, abs/2210.08933, 2022.
[13] ZhengfuHe,TianxiangSun,Kuanning Wang, Xuanjing Huang, and Xipeng Qiu. Diffusionbert: Improving generative masked language models with diffusion models.CoRR, abs/2211.15029, 2022.
[14] Hongyi Yuan, Zheng Yuan, Chuanqi Tan, Fei Huang, and Songfang Huang.Seqdiffuseq: Text diffusion with encoder-decoder transformers.CoRR, abs/2212.10325, 2022.
[15] Lin Zheng, Jianbo Yuan, Lei Yu, and Lingpeng Kong.A reparameterized discrete diffusion model for text generation.CoRR, abs/2302.05737, 2023.
[16] Prafulla Dhariwal and Alexander Quinn Nichol. Diffusion models beat gans on image synthesis. In NeurIPS, pages 8780–8794, 2021.
[17] Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Bj ̈orn Ommer.High-resolution image synthesis with latent diffusion models.In CVPR, pages 10674–10685. IEEE, 2022.
[18] Zhenghao Lin, Yeyun Gong, Yelong Shen, Tong Wu, Zhihao Fan, Chen Lin, Weizhu Chen, and Nan Duan. GENIE: large scale pre-training for text generation with diffusion model.CoRR, abs/2212.11685, 2022.
[19] Ting Chen, Ruixiang Zhang, and Geoffrey E. Hinton.Analog bits: Generating discrete data using diffusion models with self-conditioning.CoRR, abs/2208.04202, 2022.
更多推荐
GPT-4之高考评测
最新综述:速览Transformer长文本建模研究进展