3. Residual Denoising Diffusion Models
该文提出一种残差去噪扩散模型(RDDM)可用去图像生成和图像修复(如去除阴影、去雨、暗光提升等)。该文最大的特点是提出一种双扩散模型,在扩散过程中不仅包含噪声 ϵ \epsilon ϵ扩散,还包含残差信息 I r e s I_{res} Ires的扩散,这里的残差信息就是退化图像 I i n I_{in} Iin和 I 0 I_0 I0之间的差值。例如去雨任务中,带有雨的图像就是 I i n I_{in} Iin,去雨之后的图像就是 I 0 I_0 I0。
RDDM的扩散和重建过程如上图所示,如果 I i n I_{in} Iin为0,RDDM就变成了正常的图像生成;如果 I i n I_{in} Iin是退化的图像,RDDM就可以实现图像修复任务。扩散过程中带有噪声的退化图像 I t I_t It的计算方法如下所示 I t = I t − 1 + I r e s t , I r e s t ∽ N ( α t I r e s , β t 2 I ) I_t =I_{t-1}+I_{res}^t,I_{res}^t\backsim \mathcal{N}(\alpha_tI_{res},\beta^2_tI) It=It−1+Irest,Irest∽N(αtIres,βt2I)或者 I t = I 0 + α ˉ t I r e s + β ˉ t ϵ I_t=I_0+\bar{\alpha}tI{res}+\bar{\beta}t\epsilon It=I0+αˉtIres+βˉtϵ其中 α ˉ t = ∑ i = 1 t α i \bar{\alpha}t=\sum{i=1}^t\alpha_i αˉt=∑i=1tαi, β ˉ t = ∑ i = 1 t β i 2 \bar{\beta}t=\sqrt{\sum{i=1}^t\beta_i^2} βˉt=∑i=1tβi2 。在扩散过程中,需要同时训练两个模型 I r e s θ ( I t , t , I i n ) I{res}^{\theta}(I_t,t,I_{in}) Iresθ(It,t,Iin)和 ϵ θ ( I t , t , I i n ) \epsilon_{\theta}(I_t,t,I_{in}) ϵθ(It,t,Iin)分别来预测残差 I r e s θ I_{res}^{\theta} Iresθ和噪声 ϵ θ \epsilon_{\theta} ϵθ。模型训练的目标函数分别为 L res ( θ ) : = E [ λ res ∥ I res − I res θ ( I t , t , I in ) ∥ 2 ] , L ϵ ( θ ) : = E [ λ ϵ ∥ ϵ − ϵ θ ( I t , t , I in ) ∥ 2 ] L_{\text {res }}(\theta):=\mathbb{E}\left[\lambda_{\text {res }}\left\|I_{\text {res }}-I_{\text {res }}^{\theta}\left(I_{t}, t, I_{\text {in }}\right)\right\|^{2}\right],L_{\epsilon}(\theta):=\mathbb{E}\left[\lambda_{{\epsilon}}\left\|{\epsilon}-{\epsilon}{\theta}\left(I{t}, t, I_{\text {in }}\right)\right\|^{2}\right] Lres (θ):=E[λres Ires −Ires θ(It,t,Iin ) 2],Lϵ(θ):=E[λϵ∥ϵ−ϵθ(It,t,Iin )∥2]
在重建过程中,利用训练好的网络预测得到的残差 I r e s θ I_{res}^{\theta} Iresθ和噪声 ϵ θ \epsilon_{\theta} ϵθ就可以从 I t I_t It中恢复 I t − 1 I_{t-1} It−1,如下式 I t − 1 = I t − ( α ˉ t − α ˉ t − 1 ) I r e s θ − ( β ˉ t − β ˉ t − 1 2 − σ t 2 ) ϵ θ + σ t ϵ t , where ϵ t ∼ N ( 0 , I ) I_{t-1}=I_{t}-\left(\bar{\alpha}{t}-\bar{\alpha}{t-1}\right) I_{r e s}^{\theta}-\left(\bar{\beta}{t}-\sqrt{\bar{\beta}{t-1}^{2}-\sigma_{t}^{2}}\right) \epsilon_{\theta}+\sigma_{t} \epsilon_{t} \text {, where } \epsilon_{t} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) It−1=It−(αˉt−αˉt−1)Iresθ−(βˉt−βˉt−12−σt2 )ϵθ+σtϵt, where ϵt∼N(0,I)其中 σ t 2 = η β t 2 β ˉ t − 1 2 / β ˉ t 2 \sigma_t^2=\eta\beta_t^2\bar{\beta}{t-1}^2/\bar{\beta}{t}^2 σt2=ηβt2βˉt−12/βˉt2。
作者提到扩散过程中, α t \alpha_t αt控制着残差扩散的速度, β t 2 \beta_t^2 βt2控制着噪声扩散的速度,并且二者之间是彼此独立的,也就是说噪声扩散和残差扩散两个过程是可以解耦的。这样带来一个好处,就是可以更加精细的设计 α t \alpha_t αt和 β t 2 \beta_t^2 βt2的取值和计算方式。作者提到残差扩散过程表示了从目标图像 I 0 I_0 I0到退化图像 I i n I_{in} Iin之间的扩散方向,因此其更加注重的是确定性。而噪声扩散表示扩散过程中的随机干扰,其更加强调多样性。RDDM与DDPM之间的差异如下图所示, 残差信息的引入,就在最终的扩散得到的噪声中限定了一个范围,而不是完全不可知的一个随机分布。
作者后面用了很大篇幅去论证了在生成过程中,去噪和去除残差的过程是部分上路径独立的。如果先去除噪声后去除残差,生成结果就失去多样性;如果先去除残差,再去除噪声,则能够控制语义的变换。