1 生成式模型基本思想
使用模型模拟真实世界的图像分布,可以学习神经网络模型,使其将标准正态分布的每个点映射到真实图像分布的点
2 扩散模型
2.1 正向过程
从原始图像逐步添加噪声,最终得到近似完全噪声的图像
q
(
x
t
∣
x
t
−
1
)
=
N
(
1
−
β
x
t
−
1
;
β
I
)
q(x_t|x_{t-1})=N(\sqrt{1-\beta}x_{t-1};\beta \bold{I})
q(xt∣xt−1)=N(1−βxt−1;βI)
β ∈ [ 0 , 1 ] \beta\in[0,1] β∈[0,1], β \beta β 值越大, x t x_t xt 越接近于噪声;反之, β \beta β 取值越小, x t x_{t} xt 越接近于 x t − 1 x_{t-1} xt−1.
当
ε
∼
N
(
0
,
I
)
\varepsilon\sim N(0,\bold{I})
ε∼N(0,I) 时,
μ
+
σ
ε
∼
N
(
μ
,
σ
2
I
)
\mu+\sigma\varepsilon\sim N(\mu,\sigma^2\bold{I})
μ+σε∼N(μ,σ2I).
令
α
=
1
−
β
\alpha=1-\beta
α=1−β
x
t
=
α
t
x
t
−
1
+
1
−
α
t
z
1
=
α
t
(
α
t
−
1
x
t
−
2
+
1
−
α
t
−
1
z
2
)
+
1
−
α
t
z
1
=
α
t
α
t
−
1
x
t
−
2
+
(
α
t
−
α
t
α
t
−
1
z
2
+
1
−
α
t
z
1
)
\begin{aligned}x_t&=\sqrt{\alpha_t}x_{t-1}+\sqrt{1-\alpha_t}z_1\\&=\sqrt{\alpha_t}(\sqrt{\alpha_{t-1}}x_{t-2}+\sqrt{1-\alpha_{t-1}}z_2)+\sqrt{1-\alpha_t}z_1\\&=\sqrt{\alpha_t\alpha_{t-1}}x_{t-2}+(\sqrt{\alpha_t-\alpha_t\alpha_{t-1}}z_2+\sqrt{1-\alpha_t}z_1)\end{aligned}
xt=αtxt−1+1−αtz1=αt(αt−1xt−2+1−αt−1z2)+1−αtz1=αtαt−1xt−2+(αt−αtαt−1z2+1−αtz1)
由于
z
1
∼
N
(
0
,
I
)
z_1\sim N(0,\bold{I})
z1∼N(0,I)
z
2
∼
N
(
0
,
I
)
z_2\sim N(0,\bold{I})
z2∼N(0,I)
所以
1
−
α
t
z
1
∼
N
(
0
,
(
1
−
α
t
)
I
)
\sqrt{1-\alpha_t}z_1\sim N(0,(1-\alpha_t)\bold{I})
1−αtz1∼N(0,(1−αt)I)
α
t
−
α
t
α
t
−
1
z
2
∼
N
(
0
,
(
α
t
−
α
t
α
t
−
1
)
I
)
\sqrt{\alpha_t-\alpha_t\alpha_{t-1}}z_2\sim N(0,(\alpha_t-\alpha_t\alpha_{t-1})\bold{I})
αt−αtαt−1z2∼N(0,(αt−αtαt−1)I)
所以
1
−
α
t
z
1
+
α
t
−
α
t
α
t
−
1
z
2
∼
N
(
0
,
(
1
−
α
t
α
t
−
1
)
I
)
\sqrt{1-\alpha_t}z_1+\sqrt{\alpha_t-\alpha_t\alpha_{t-1}}z_2\sim N(0,(1-\alpha_t\alpha_{t-1})\bold{I})
1−αtz1+αt−αtαt−1z2∼N(0,(1−αtαt−1)I)
因此,可令
z
‾
t
∼
N
(
0
,
I
)
\overline{z}_t\sim N(0,\bold{I})
zt∼N(0,I),
a
‾
t
=
∏
i
=
1
t
α
i
\overline{a}_t=\prod^t_{i=1}{\alpha_i}
at=∏i=1tαi
x
t
=
α
t
α
t
−
1
x
t
−
2
+
(
1
−
α
t
α
t
−
1
)
z
‾
2
=
a
‾
t
x
0
+
1
−
α
‾
t
−
1
z
‾
t
\begin{aligned}x_t&=\sqrt{\alpha_t\alpha_{t-1}}x_{t-2}+\sqrt{(1-\alpha_t\alpha_{t-1})}\overline{z}_2\\&=\sqrt{\overline{a}_t}x_{0}+\sqrt{1-\overline{\alpha}_{t-1}}\overline{z}_t\end{aligned}
xt=αtαt−1xt−2+(1−αtαt−1)z2=atx0+1−αt−1zt
2.2 反向过程
使用神经网络根据 x t x_t xt 预测 x t − 1 x_{t-1} xt−1,为了简化任务降低难度,将问题改为根据 x t x_t xt预测噪声,进而利用前向公式来计算上一步图像。