尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

深入浅出讲解DDPM扩散模型:Denoising Diffusion Probabilistic Models

深入浅出讲解DDPM扩散模型:Denoising Diffusion Probabilistic Models Denoising Diffusion Probabilistic Models1 简介1.1 大白话版本1.2 简易版本1.2.1 例子1.3 扩散模型相比GAN2 扩散阶段diffusion3 DDPM实现过程3.1 正向过程3.2 反向过程4 项目链接1 简介DDPMDenoising Diffusion Probabilistic Models去噪扩散模型就是图像生成模型1.1 大白话版本简单来说它就像是一个神奇的“画图机器人”能根据你的要求生成各种图片、音频或者其他类型的数据。假如你有一张非常干净的画但是有人故意在上面加了很多乱七八糟的“噪声”比如涂鸦、污点等把这幅画弄得面目全非。DDPM的工作原理就像把这张被破坏的画恢复成原来的模样。扩散过程DDPM会从一个完全随机的噪声开始。就像你有一张照片我们把颜料随机地涂在纸上。这个过程会持续很多步每一步都会让噪声变得更复杂直到最后变成一个完全看不出原来模样的东西。去噪过程接下来DDPM开始“去噪”。它会从这个完全混乱的状态开始一步步地把噪声去掉就像你小心翼翼地擦掉画上的污点一样。每一步都会让图像变得更清晰一点直到最后恢复出一个干净的、有意义的图像。本质上来讲是一个生成模型去拟合拟目标的分布然后去生成很多数据符合这个分布。1.2 简易版本去噪扩散模型大体包括两个过程一是对真实图像进行扩散过程二是对加噪的图像进行重建去噪。扩散过程向真实图片数据中逐步加入噪声直到观测数据变成高斯分布。重建去噪过程从一个高斯分布中采样逐步消除噪声直到变成清晰的数据。1.2.1 例子①训练过程FFHQdataset数据集里面包含7万张人脸DDPM会先对这些真实的人脸图片逐步添加噪声。②推理过程高斯分布里面采样很多的噪声图把这些噪声图重建reverseDDPM会不断调整自己的参数让去噪的效果越来越好就可以得到很多人脸图片。1.3 扩散模型相比GANGANGenerative Adversarial Networks也是生成模型打个不恰当的例子GAN类似于警察抓小偷的过程中警察不断增强自己的技能和本领然而小偷在这个过程中也在不断学习逃跑的方法警察通过小偷的行为又采取进一步的学习二者总是在相互制衡。GAN由生成器Generator和判别器Discriminator组成。生成器负责生成假数据判别器负责区分真假数据。生成器不断学习生成更逼真的数据判别器则不断学习更好地识别真假数据所以说GAN是不太稳定的过程。参考视频https://www.bilibili.com/video/BV1fU4y1i7kK?spm_id_from333.788.videopod.sectionsvd_source53084a7d9d3e0f3765c72a2e22e7e1522 扩散阶段diffusion把一张真实的图像不断的加噪声噪声强度不断变大最后得到一个完全的噪声图。X t 1 − β t X t − 1 β t Z t {X}_{t}\sqrt{1-{\beta }_{t}}{X}_{t-1}\sqrt{{\beta }_{t}} {Z}_{t}Xt​1−βt​​Xt−1​βt​​Zt​Z t ∽ N ( 0 , I ) {Z}_{t} \backsim N(0,I)Zt​∽N(0,I)我们可以把上述方程看作X t f ( X t − 1 ) {X}_{t}f({X}_{t-1})Xt​f(Xt−1​)因为扩散速度是越来越快的所以β t {\beta }_{t}βt​是逐渐增大的参考视频https://www.bilibili.com/video/BV1tz4y1h7q1/?spm_id_from333.1387.homepage.video_card.clickvd_source53084a7d9d3e0f3765c72a2e22e7e1523 DDPM实现过程输入值X图像t时间点3.1 正向过程1.我们往图片上添加的噪声是以0为均值我们把图像缩放到[-1,1]的范围里面去2.设置β根据β计算α和α ˉ \bar{α}αˉ3.采样高斯噪声ϵ ∽ N ( 0 , 1 ) \epsilon \backsim N(0,1)ϵ∽N(0,1)选取时间点t对图像进行加噪4.预测加以图像的噪声3.2 反向过程1.根据模型预测噪声2.t越小预测的图像越清楚3.4.计算方差5.根据均值和噪声合成图像4 项目链接比较简单的玩具项目代码https://github.com/abarankab/DDPM比较实用的项目代码https://github.com/Janspiry/Image-Super-Resolution-via-Iterative-Refinement
返回列表