专题解读 | 扩散模型的数学原理

admin 2023年6月21日14:13:26评论23 views字数 1773阅读5分54秒阅读模式
专题解读 | 扩散模型的数学原理

即日起,公众号推出2023年机器学习前沿专题解读,共30期。本期为大家带来的主题是“扩散模型的数学原理”。

1 前言

在当下的机器学习研究中,扩散模型(diffusion model)是一类不可忽视的模型,已经广泛应用于图像去噪、修复、超分辨率,以及最近大火的图像生成等。据笔者所知,扩散模型最早是2015年,在《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》一文中受物理学中的非平衡热力学启发而来。后几经演进,2020年发表的《denoising diffusion probabilistic models》(DDPM)使之在人工智能领域逐渐为大众所知。本文即以此模型为例介绍其背后的数学原理。

2 扩散模型的数学原理

扩散模型也称为扩散概率模型,实际上就是用变分推断训练出的一个马尔科夫链,属于一种隐变量模型(latent variable model)。笔者认为,其背后的数学模型是较为精巧简洁,易于理解的。但是,原论文中对于数学推导的描述较为晦涩难懂,容易让人望而生畏。这里笔者先省略其中的具体推导,以求读者可迅速了解其数学精髓。详细的推导过程可参看博客https://lilianweng.github.io/posts/2021-07-11-diffusion-models/#nice. 因水平有限,如有错漏恳请批评指正。话不多说,直接上干货。先放出其模型图:

专题解读 | 扩散模型的数学原理

可以看到,图中有两个分布,分别用表示。这里的分布是我们假设的数据潜在的生成过程,是从一张清晰的图片经过一个长度为马尔科夫链,向图片中逐渐添加随机噪声,使一张清晰的图片最终变成一个各向同性的高斯噪声。我们假设这个马尔科夫链为:

专题解读 | 扩散模型的数学原理

其中为控制分布的一组超参数。那么,如果我们可以求得这个随机过程的逆过程,即,我们就可以从高斯噪声中渐渐去除噪声,从而还原成一张清晰的图片了。然而,我们很难直接求出这个分布,于是只好求助于我们的老朋友——变分推断来近似它。可以证明,当原分布足够小的时候,它的逆分布同样是高斯的。所以我们把用来近似它的分布也设置为高斯的:

专题解读 | 扩散模型的数学原理

其中是变分分布的均值和方差,也是我们需要求解的以为参数的两个函数。为了求解他们,按照变分推断中的一贯做法,利用最小化KL散度:

专题解读 | 扩散模型的数学原理

可得我们需要最小化的变分界为:

专题解读 | 扩散模型的数学原理

换句话说,我们最小化这个变分界即可使变分分布和原分布靠近。经过变形,该变分界可以分解成三项:

专题解读 | 扩散模型的数学原理

其中们是其中最主要的一些项。那么,整个优化过程最主要的就是使得中的这两个分布靠近。利用高斯分布的一些性质进行推导,我们可以直接写出上式中含有的分布的表达式:

专题解读 | 扩散模型的数学原理

其中的式子可由设定的超参数直接计算得到。因为我们想让两个分布靠近,故可直接将这里q分布的方差作为我们变分分布的方差。那么,剩下的我们只需要优化二者的均值使其接近即可:

专题解读 | 扩散模型的数学原理

再加上作者基于实践做的一些简化,我们可以将化简成以下关于的优化目标:

专题解读 | 扩散模型的数学原理

其中是一个确定的正态分布,是一个以为参数的需要被优化的分布。到此,我们的目标函数终于推导完毕。又根据正态分布和马尔可夫链的性质可以推导出:

专题解读 | 扩散模型的数学原理

所以在实现中,我们直接使用一个神经网络来代替,这个网络的输入是时间步以及当前时间步的图像,输出一幅高斯噪声的图片。最后,网络的训练过程也自然水到渠成如下所示:

专题解读 | 扩散模型的数学原理

生成过程则直接根据学习到的进行一步步的去噪即可:

专题解读 | 扩散模型的数学原理

以上就是DDPM模型的主要内容。后续又有一些工作对其进行改进,如进行跳步采样以加快其生成过程等,这些改进也进一步促进了扩散模型的繁荣。具体也可参考上面提到的博客。

3 扩散模型为什么好

看完了其数学原理,我们也可以思考一下为什么扩散模型比之前的生成模型如GAN、VAE有着更好的性能。在笔者看来,扩散模型由于其逐步添加/去除噪声的性质,不需要像之前的模型一样一次就生成一整张图片。这有点像我们人画一幅肖像,可能是先画出头部形状,然后加上眼睛鼻子和嘴巴,最后画上睫毛和头发等等细节这样。当然,笔者对这些模型的理解也不够深入,这里仅是抛砖引玉,欢迎大家多多讨论~



本期责任编辑:杨成
本期编辑:刘佳玮

北邮 GAMMA Lab 公众号
主编:石川
责任编辑:杨成
编辑:刘佳玮

长按下图并点击“识别图中二维码

即可关注北邮 GAMMA Lab 公众号

专题解读 | 扩散模型的数学原理

原文始发于微信公众号(北邮 GAMMA Lab):专题解读 | 扩散模型的数学原理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月21日14:13:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   专题解读 | 扩散模型的数学原理https://cn-sec.com/archives/1824066.html

发表评论

匿名网友 填写信息