扩散模型:Diffusion models as plug-and-play priors作为即插即用先验的扩散模型

论文下载
开源代码

0.摘要

我们考虑在一个由先验p(x)和辅助可微约束c(x,y)组成的模型中推断高维数据的问题。在本文中,先验是一个独立训练的去噪扩散生成模型。辅助约束预计具有可微形式,但可以来自不同的来源。这种推断的可能性将扩散模型转化为即插即用模型,从而允许在适应模型的领域和任务(如条件生成或图像分割)方面的一系列潜在应用。扩散模型的结构允许我们通过在每个步骤中富含不同数量噪声的固定去噪网络迭代微分来执行近似推断。考虑到x的许多噪声版本,对其适应度的评估是一种新的搜索机制,可能会导致解决组合优化问题的新算法。

1.概述

深度生成模型,如去噪扩散概率模型[DDPMs;39,13]可以捕捉高维连续数据地图p(x)上非常复杂的分布细节[30,7,1,38,43,15]。DDPM的巨大有效深度,有时在生成过程中有成千上万的深度网络评估,这明显限制了它们在分层生成模型中作为现成模块的使用,其中模型可以混合,一个模型可以作为另一个条件模型的先验。在本文中,我们证明了在图像数据上训练的DDPM可以直接用作包含其他可微约束的系统的先验
在我们的主要问题设置中,我们假设我们在高维数据上有一个先验
p(x)
,我们希望在一个模型中执行推理,该模型包含这个先验和一个约束(x,y)以及给定的一些附加信息。也就是说,我们要找到后验分布p(x|y)∝p(x)c(x,y)的近似。在本文中, p ( x = x 0 , h = x T , … , x 1 ) p(x=x_0,h={x_T,…,x_1}) p(x=x0,h=xT,,x1)以在xT,…,x0独立训练的DDPM的形式提供(§2.2),使DDPM成为“即插即用”先验。
尽管最近社区对DDPM的兴趣促进了训练算法和快速生成计划的进展[30,37,45],但它们作为即插即用模块使用的可能性还没有被探索。此外,与即插即用模型的现有工作(从[29]开始)不同,我们提出的算法不需要对模型组件或推理网络进行传统的训练或微调。
即插即用先验的一个明显应用是条件图像生成(§3.1,§3.2)。例如,在MNIST数字图像上训练的去噪扩散模型可能定义p(x),而约束c(x,y)可能是现有分类器下数字分类的概率。然而,通过改变x的语义,我们也可以将这种模型用于神经网络难以适应领域的推理任务,例如图像分割:c(x,y)约束分割x以匹配外观或弱标签(§4)。最后,我们描述了一种使用DDPM先验解决组合搜索问题的连续松弛的途径,方法是将y作为具有x中确定性编码的组合结构的潜在变量(§5)。

2.方法

2.1.问题设置

回想一下,我们想找到**后验分布p(x|y)∝p(x)c(x,y)**的近似,其中p(x)是一个固定的先验分布。固定y并引入近似变分后验q(x),自由能量:
在这里插入图片描述
当q(x)最接近真实的后验、KL(q(x)||p(x|y))最小时 自由能最小。当q(x)和用于拟合它的学习算法具有足够的表达能力来捕获真后验时,这种最小化产生精确的后验p(x|y)。否则,q将捕捉到“模式寻找”近似真正的后验[27];特别地,如果q(y)是狄拉克函数,在p(x|y)模式下集中。当先验涉及潜变量(即p(x) =∫hp(x|h)p(h)dh)时,自由能为
在这里插入图片描述
我们特别感兴趣的是,当为DDPM(§2.2)时,对于任何可微集,F对近似匹配的后验q(x)求极小化的一般过程。
在[43]中也研究了相同结构的自由能,其中潜伏空间上的DDPM p(z)被杂交为解码器p(x|z)的双亲,并使用一个附加的推理模型q(z|x)与这两个模型联合训练。另一方面,我们的目标是使用独立训练的组件,这些组件直接在像素空间中操作,例如,在人脸图像上训练的现成的扩散模型p(x)和现成的人脸分类器p(y|x),而不需要联合训练或调整它们(§3.2)。

2.2.将去噪扩散概率模型作为先验

去噪扩散概率模型(DDPMs)[39,13]通过反转(高斯)噪声过程生成样本x0。DDPM是深度有向随机网络:
在这里插入图片描述
μθ和Σθ是具有学习参数的神经网络(通常,如本文中所述,Σθ固定为依赖于t的标量对角矩阵)。该模型从单位高斯矩阵的样本开始,根据噪声时间表,在每步增加一个小高斯变换信号的非线性网络μθ(xt,t)对样本进行变换。经过T步,得到采样x=x0
一般情况下,使用这样的模型作为x的先验将需要对潜在变量h=(xT,…,x1)进行棘手的积分
在这里插入图片描述
然而,训练DDPM的前提是,假定后验q(xt|xt−1)是一个简单的扩散过程,根据预定义的调度βt依次添加高斯噪声:
在这里插入图片描述
因此,如果p(x)是在DDPM下x的可能性(5),那么在(2)的第一个期望中,我们应该使用 q ( h = x T , … , x 1 ∣ x 0 = x ) = ∏ t = 1 T q ( x T ∣ x T − 1 ) q(h={x_T,…,x_1}|x_0=x) = \prod ^T_{t=1}q(x_T | x_{T−1}) q(h=xT

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值