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之间的差异如下图所示, 残差信息的引入,就在最终的扩散得到的噪声中限定了一个范围,而不是完全不可知的一个随机分布。
作者后面用了很大篇幅去论证了在生成过程中,去噪和去除残差的过程是部分上路径独立的。如果先去除噪声后去除残差,生成结果就失去多样性;如果先去除残差,再去除噪声,则能够控制语义的变换。