目录
0 概述
扩散模型(diffusion model)的概念始于2020年发布的论文DDPM(Denoising Diffusion Probailistic Models),起初没有收到大的关注,随着基于扩散模型的DALLE2等问世,人们才逐渐认识到它的强大。扩散模型也是逐渐击败了生成对抗网络(Generative Adversarial Network),在图像生成等方面占据了主要地位,比如非常热门的Stable Diffsion。
这篇文章记录了本次扩散模型的学习过程以及一些感悟。
DDPM论文链接:Denoising Diffusion Probabilistic Modelshttps://arxiv.org/abs/2006.11239
1 前向传播
前向传播的过程就是由图像生成噪声过程,如图所示:
X0表示原始图像, 中添加噪声
得到
,
中添加噪声
得到
,以此类推。这里面添加的噪声都是服从标准高斯分布的,即
~ N(0, 1)。
考虑 与
的关系,可以得到一个公式:
(1)
个人对该公式的理解:
(1)首先它是的关系公式,
和
可以认为是权重,在逐步施加噪声时,需要保持变化程度基本相等,对应
,只需要添加一点点噪声,就能体现很明显的变化,而对于后面的
,它已经包含了很多噪点,因此需要加更大的噪声来让它有比较明显的变化。对于
,随着t的增大,
会逐渐减小,这样就达成了噪声(占比)逐渐增大的实现。
(2)这两个权值为什么是 和
:在进行前向计算时,如果需要从
到
,
到
这样一步步计算会相当麻烦,我们希望能够通过
直接计算
,来绕开这样繁琐的递归流程。
由公式(1)我们可以衍生出 和
的关系:
(2)
将(2)式带入(1)式中可得:
(3)
(4)
前面提到过,噪声 是服从标准的高斯分布的,对于两个分布
和
:
若 ,
,则
在式(4)中,
因此:
由此,我们可以从中看出规律,将 由
表示为:
(5)
记 ,式(5)可以简化为:
(6)
同
一样服从标准的高斯分布,这样式(6)就是前向传播中最重要的一条公式,它可以是实现直接的从
计算
,避免了重复的递归运算。
2 后向传播
相较于前向传播,后向传播更加复杂,毕竟给图像加噪声和从噪声中复原图像,难度上肯定是后者更大。后向传播很难直接推导 到
的关系的。因此我们选择先考虑
到
的关系。
要直接求解 是几乎不可能的,但贝叶斯公式为它的求解提供了另一条道路:
贝叶斯公式:
在后向传播中,贝叶斯公式体现为:
(7)
(8)
由公式(6)我们可以直接得到:
(9)
(10)
由公式(1)我们可以直接得到:
(11)
这里把式(9)(10)(11)中等式右边的第一个项当成常数来看待(这里笔者也不是很理解),即 ,
,
。那么每一个分布都可以看成高斯分布:
(12)
(13)
(14)
正态分布的概率密度函数为:
(15)
从而,多个概率密度函数相乘相除时,指数exp() 部分的内部实际上是一个加减的操作,暂时不考虑前面的系数 ,
应当正比于:
(16)
由于要表示 ,这里只关心exp()内的
的项,我们尝试把整个表示为
的形式,其中
就是
。化简可得:
(17)
其中 是与
无关的量,可以当成常数处理,把它提到exp()的外面依然构成正比关系。我们由式(15)可以寻找对应的
和
:
(18)
与
等是无关的,期望
可以推导到:
(19)
这里 都是作为已知的,但
却是未知的,
是我们反向传播最终要求解的,不过考虑到式(6)中,表示了
,
和
的关系,因此我们可以用
和
来表示
:
(20)
最终可以求得:
(21)
这是反向传播中最重要的公式,但实际上 也是未知的,也很难去推导它与
的关系,于是科学家选择了神经网络,在前向传播时,
是已知的,我们可以通过前向传播时的训练出的模型,来服务后向传播。假设模型为
,便有
。这样就实现了从
到
的计算,最终求解得到
。
3 总结
扩散模型包括前向传播和反向传播,前向传播是在原始图像上不断的加噪声。这些噪声都是服从标准正态分布的,这使得 与
可以直接建立联系,避免了繁琐的递归流程;后向传播是在充满噪点的图像上逐渐修复为原图像。反向过程远比前向过程复杂,我们从局部的
到
开始建立联系,通过贝叶斯公式,我们可以将
与
和
建立联系。但
是未知的,我们需要通过神经网络,在前向传播中学习从
到
的映射。
以上是笔者对去扩散模型的一些简单的理解,如有问题欢迎指正。
4 附录(期望的计算推导过程)