扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码
Posted 听 风、
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码相关的知识,希望对你有一定的参考价值。
文章目录
1. 去噪扩散概率模型
扩散模型是一类生成模型, 和生成对抗网络GAN 、变分自动编码器VAE和标准化流模型NFM等生成网络不同的是, 扩散模型在前向扩散过程中对图像逐步施加噪声, 直至图像被破坏变成完全的高斯噪声, 然后在反向采样过程中学习从高斯噪声还原为真实图像。在模型训练完成后,只需要随机给定一个高斯噪声,就可以生成丰富的真实图像。
2. 前向扩散
前向扩散过程就是向图像不断加高斯噪声,使其逐渐接近一个与输入数据相关的高斯分布。此处将未加噪声的数据记为
x
0
x_0
x0,
x
0
∼
q
(
x
0
)
x_0\\sim q(x_0)
x0∼q(x0),
q
(
x
0
)
q(x_0)
q(x0)是为被噪声破坏的原始数据分布,则在
t
t
t时刻的噪化状态和上一时刻
t
−
1
t-1
t−1之间的关系为:
q
(
x
t
∣
x
t
−
1
)
=
N
(
x
t
;
1
−
β
t
⋅
x
t
−
1
,
β
t
⋅
I
)
,
(1)
q(x_t|x_t-1)=\\mathcalN(x_t; \\sqrt1-\\beta_t\\cdot x_t-1, \\beta_t\\cdot\\textbfI), \\tag1
q(xt∣xt−1)=N(xt;1−βt⋅xt−1,βt⋅I),(1)其中:
t
∈
0
,
1
,
.
.
.
,
T
t\\in\\0, 1, ..., T\\
t∈0,1,...,T,
N
\\mathcalN
N表示高斯噪声分布,
β
t
\\beta_t
βt是与时刻t相关的噪声方差调节因子,
I
\\textbfI
I是一个与初始状态
x
0
x_0
x0维度相同的单位矩阵。则输入
x
0
x_0
x0的条件下,
x
1
,
x
2
,
.
.
.
,
x
T
x_1, x_2, ..., x_T
x1,x2,...,xT的联合分布可以表示为:
q
(
x
1
,
x
2
,
.
.
.
,
x
T
∣
x
0
)
=
∏
t
=
1
T
q
(
x
t
∣
x
t
−
1
)
(2)
q(x_1, x_2, ..., x_T|x_0)=\\displaystyle\\prod_t=1^Tq(x_t|x_t-1) \\tag2
q(x1,x2,...,xT∣x0)=t=1∏Tq(xt∣xt−1)(2)则根据根据马尔科夫性可以直接得到输入
x
0
x_0
x0的条件下
t
t
t时刻的噪化状态为
q
(
x
t
∣
x
0
)
=
N
(
x
t
;
α
‾
t
⋅
x
0
,
(
1
−
α
‾
t
)
⋅
I
)
,
(3)
q(x_t|x_0)=\\mathcalN(x_t; \\sqrt\\overline\\alpha_t\\cdot x_0, (1-\\overline\\alpha_t)\\cdot\\textbfI), \\tag3
q(xt∣x0)=N(xt;αt⋅x0,(1−αt)⋅I),(3)其中:
α
t
:
=
1
−
β
t
\\alpha_t:=1-\\beta_t
αt:=1−βt,
α
‾
t
:
=
∏
s
=
0
t
α
s
\\overline\\alpha_t:=\\prod_s=0^t\\alpha_s
αt:=∏s=0tαs。根据公式
(
1
)
(1)
(1)可以得到
t
t
t时刻的噪化状态
x
t
x_t
xt与
t
−
1
t-1
t−1时刻的噪化状态
x
t
−
1
x_t-1
xt−1的关系为:
x
t
=
α
t
⋅
x
t
−
1
+
1
−
α
t
⋅
ϵ
t
−
1
,
(4)
x_t=\\sqrt\\alpha_t\\cdot x_t-1+\\sqrt1-\\alpha_t\\cdot\\epsilon_t-1, \\tag4
xt=αt⋅xt−1+1−αt⋅ϵt−1,(4)其中:
ϵ
t
−
1
∼
N
(
0
,
I
)
\\epsilon_t-1\\sim\\mathcalN(\\textbf0, \\textbfI)
ϵt−1∼N(0,I),通过不断取代递推可以得到
t
t
t时刻的噪化状态
x
t
x_t
xt与输入
x
0
x_0
x0之间的关系为:
Video Diffusion Models:基于扩散模型的视频生成
Video Diffusion Models:基于扩散模型的视频生成
扩散模型 (Diffusion Model) 简要介绍与源码分析
ECCV 2022 Diffusion models最新研究成果:熵约束算法解决梯度消失问题
ICLR 2023Diffusion Models扩散模型和Prompt Learning提示学习:prompt-to-prompt