这是用户在 2024-6-23 15:15 为 https://zhuanlan.zhihu.com/p/699556042 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

[ICML 2024] DSG: 基于球面高斯约束引导的条件扩散模型

Qiang Sun 等 68 人赞同了该文章
发布于 2024-05-24 10:51・IP 属地上海 ,编辑于 2024-05-26 14:05・IP 属地上海

本文介绍我们组发表在ICML 2024关于Diffusion Model的工作《Guidance with Spherical Gaussian Constraint for Conditional Diffusion》。本工作旨在利用预训练的扩散模型实现损失函数引导的、无需训练的条件生成任务。本工作上海科技大学2023级研究生杨凌霄为第一作者,由石野教授指导完成。

论文地址:

代码链接:

摘要

最近的Guidance方法试图通过利用预训练的扩散模型实现损失函数引导的、无需训练的条件生成。虽然这些方法取得了一定的成功,但它们通常会损失生成样本的质量,并且只能使用较小的Guidance步长,从而导致较长的采样过程。

在本文中,我们揭示了导致这一现象的原因,即采样过程中的流形偏离(Manifold Deviation) 。我们通过建立引导过程中估计误差的下界,从理论上证明了流形偏离的存在。

为了解决这个问题,我们提出了基于球形高斯约束的Guidance方法(DSG),通过解决一个优化问题将Guidance步长约束在中间数据流形内,使得更大的引导步长可以被使用。

此外,我们提出了该DSG的闭式解(Closed-Form Solution), 仅用几行代码,就能够使得DSG可以无缝地插入(Plug-and-Play)到现有的无需训练的条件扩散方法,在几乎不产生额外的计算开销的同时大幅改善了模型性能。我们在各个条件生成任务(Inpainting, Super Resolution, Gaussian Deblurring, Text-Segmentation Guidance, Style Guidance, Text-Style Guidance, and FaceID Guidance)中验证了DSG的有效性。

背景:无需训练的条件扩散模型

Classifier guidance首先提出使用预训练的扩散模型进行条件生成。它利用贝叶斯公式 p(x|y)=p(y|x)p(x)/p(y)p(x|y)=p(y|x)p(x)/p(y) ,通过引入额外的似然项 p(xt|y)p(x_t | y) 来实现条件生成:

xtlogp(xt|y)=xtlogp(xt)+xtp(y|xt),\nabla_{x_t} \log p(x_t | y) = \nabla_{x_t} \log p(x_t) + \nabla_{x_t} p(y | x_t),

然而,这种方法需要训练一个time-dependent classifier来估计 xtp(y|xt)\nabla_{x_t} p(y | x_t) ,会造成额外的训练成本,如需要收集成对的数据(x,y),需要精细地设计time-dependent classifier的网络结构,或是需要针对超参数进行额外的调参。Classifier-free guidance同样也用于条件生成,但是它在训练diffusion model的时候就加入了条件,也会导致上述的训练成本。

因此,目前无需训练的方法是基于Classifier guidance,将time-dependent classifier替换成某个定义在