Jooyoung Choi, Seoul National University, Korea, ICCV 2021 (Oral), Cited:85,Code, Paper.
有条件的扩散模型是目前较为火热的一个研究方向,给无条件扩散模型加上条件限制的方法有很多,也各有优缺点,目前我已知比较有代表性的有,从数学模型建立如Stochastic Image Denoising By Sampling from the Posterior Distribution,或者在去噪器上将限制条件编码,如SR3,SRDiff等。本文是一种新型的条件扩散模型,可在无条件的预训练扩散模型上使用,生成效果也是非常棒!
ILVR就是,通过将参考图像,也就是条件,加入到无条件的DDPM生成迭代过程中的隐变量中,通过条件的添加引导,生成有条件的图像。简单来说,ILVR在逆扩散过程的每一步去噪过程中,额外给DDPM的因变量添加条件,改变低频分布,从而在高频特征上进行生成
DDPM中的前向过程是一个高斯平移(Gaussian translation):
q ( x t ∣ x t − 1 ) : = N ( x t ; 1 − β t x t − 1 , β I ) (1) q(x_{t}|x_{t-1}):=N(x_{t};\sqrt{1-\beta_{t}}x_{t-1},\beta I)\tag{1} q(xt∣xt−1):=N(xt;1−βtxt−1,βI)(1)
通过推导,我们的前向过程就不需要迭代,有:
q ( x t ∣ x 0 ) : = N ( x t ; α t ˉ x 0 , ( 1 − α t ˉ ) I ) (2) q(x_{t}|x_{0}):=N(x_{t};\sqrt{\bar{\alpha_{t}}} x_{0},(1- \bar{\alpha_{t}}) I)\tag{2} q(xt∣x0):=N(xt;αtˉx0,(1−αtˉ)I)(2)
通过重参数技巧,可得:
x t = α t ˉ x 0 + ( 1 − α t ˉ ) ϵ (3) x_{t}=\sqrt{\bar{\alpha_{t}}} x_{0}+(1- \bar{\alpha_{t}})\epsilon\tag{3} xt=αtˉx0+(1−αtˉ)ϵ(3)
其中, ϵ ∼ N ( 0 , I ) \epsilon \sim N(0,I) ϵ∼N(0,I)与 x 0 x_{0} x0和潜在变量 x 1 . . . . x T x_{1}....x_{T} x1....xT有相同的维度,由于逆过程 q ( x t − 1 ∣ x t ) q(x_{t-1}|x_{t}) q(xt−1∣xt)是intractable。通过推导 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_{t},x_{0}) q(xt−1∣xt,x0)可以最终获得:
x t − 1 = 1 α t ( x t − 1 − α t 1 − α ˉ t ϵ θ ( x t , t ) + σ t z ) (4) x_{t-1}=\frac{1}{\sqrt{\alpha_{t}}}(x_{t}-\frac{1-\alpha_{t}}{\sqrt{1-\bar{\alpha}_{t}}}\epsilon_{\theta}(x_{t},t)+\sigma_{t}z)\tag{4} xt−1=αt1(xt−1−αˉt1−αtϵθ(xt,t)+σtz)(4)
其中 z ∼ N ( 0 , I ) z\sim N(0,I) z∼N(0,I),因此每一个生成步骤都是随机的。
我们从具有条件 c c c的条件分布中 p ( x 0 ∣ c ) p(x_{0}|c) p(x0∣c)中采样图像:
p θ ( x 0 ∣ c ) = ∫ p θ ( x 0 : T ∣ c ) d x 1 : T p θ ( x 0 : T ∣ c ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t , c ) (5) p_{\theta}(x_{0}|c)=\int p_{\theta}(x_{0:T}|c)dx_{1:T}\\ p_{\theta}(x_{0:T}|c) = p(x_{T})\prod_{t=1}^{T}p_{\theta}(x_{t-1}|x_{t},c) \tag{5} pθ(x0∣c)=∫pθ(x0:T∣c)dx1:Tpθ(x0:T∣c)=p(xT)t=1∏Tpθ(xt−1∣xt,c)(5)
ILVR给无条件的转移 p θ ( x t − 1 ∣ x t ) p_{\theta}(x_{t-1}|x_{t}) pθ(xt−1∣xt)提供额外的条件 c c c,而不需要额外的训练或者模型,即直接使用训练好的DDPM即可。让 ϕ N ( ⋅ ) \phi_{N}(·) ϕN(⋅)表示根据采样因子 N N N定义的先下采样再上采样的低通线性滤波器。给定一个参考图像 y y y,条件 c c c确保生成的图像 x 0 x_{0} x0下采样过后 ϕ N ( x 0 ) \phi_{N}(x_{0}) ϕN(x0)与 ϕ N ( y ) \phi_{N}(y) ϕN(y)相等。 其实我们确保的是生成的每一步的隐变量和参考因变量之间的相似性。
p θ ( x t − 1 ∣ c ) ≈ p θ ( x t − 1 ∣ x t , ϕ N ( x t − 1 ) ) = ϕ N ( y t − 1 ) p_{\theta}(x_{t-1}|c)\approx p_{\theta}(x_{t-1}|x_{t},\phi_{N}(x_{t-1}))=\phi_{N}(y_{t-1}) pθ(xt−1∣c)≈pθ(xt−1∣xt,ϕN(xt−1))=ϕN(yt−1)
y t − 1 y_{t-1} yt−1可以通过公式3进行采样得到。上面式子的意思可以表示为,先用DDPM计算 x t − 1 ′ x_{t-1}^{'} xt−1′的分布, x t − 1 ′ ∼ p θ ( x t − 1 ′ ∣ x t ) x_{t-1}^{'} \sim p_{\theta}(x_{t-1}^{'}|x_{t}) xt−1′∼pθ(xt−1′∣xt),然后通过隐变量在低频区域的Refine, x t − 1 = , ϕ N ( y t − 1 ) + ( I − ϕ ) ( x t − 1 ′ ) x_{t-1}=,\phi_{N}(y_{t-1})+(I-\phi)(x_{t-1}^{'}) xt−1=,ϕN(yt−1)+(I−ϕ)(xt−1′),来生成有条件的采样(在初期 t t t较大时,对分布的影响一定很大,而当快收敛时, ϕ N ( y t ) \phi_{N}(y_{t}) ϕN(yt) ϕ N ( x t ) \phi_{N}(x_{t}) ϕN(xt)的差距不会很大):
从不同的下采样因子中生成,我们可以看到随着 N N N的加大,生成图像与参考图像的相似性逐渐减少,这是因为在较低的分辨率空间中,算法可以从更广泛的图像集中采样,生成的图像更具多样性,换句话说就是,较高的因子 N N N可以共享粗略的特征,使生成器发挥的空间更大,而较低的因子 N N N共享更精细的特征,约束条件更强。
在不同的采样步数下生成,我们可以看到更狭隘,更短的采样距离,生成图像更具多样性。采样步骤越多,生成的图像与参考图像越相似。与下采样因子的作用相比,步数体现在细粒度上。
本文提出了一个learning-free的条件生成方法,基于预训练DDPM,通过给定参考图像在逆扩散的迭代过程中不断细化,从而进行有条件的样本生成。可以通过控制下采样因子和步幅来控制生成。那么,是否可以通过相似的方法应用于其他任务中?