位置: IT常识 - 正文

去噪扩散概率模型(DDPM)的简单理解(去噪扩散概率模型)

编辑:rootadmin
去噪扩散概率模型(DDPM)的简单理解

推荐整理分享去噪扩散概率模型(DDPM)的简单理解(去噪扩散概率模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:去噪扩散概率模型应用,去噪扩散概率模型作用是什么,噪音扩散角度,扩散和噪点,去噪 算法,扩散和噪点,去噪扩散概率模型下载,去噪扩散概率模型,内容如对您有帮助,希望把文章链接给更多的朋友!

图1 DDPM 无条件控制生成的图像。 这些不是真实的人、地方、动物或物体。

前言

扩散模型最近在图像生成领域取得了巨大的成功,类似 OpenAI 的 DALL-E 2,Google 的 Imagen,以及 Stability AI 最近发行的能够达到商业级绘画目的的 Stable Diffusion 等,都是基于扩散模型来进行图像生成的。本文对知乎上各位大佬对于扩散模型(特别是 DDPM)的讲解进行了融合,带领大家深入浅出理解扩散和逆扩散过程。

数学基础先验概率和后验概率

先验概率:根据以往经验和分析得到的概率。它往往作为由因求果问题中的因出现,如q(Xt∣Xt−1)q(X_{t}|X_{t-1})q(Xt​∣Xt−1​)

后验概率:是指在得到结果的信息后重新修正的概率。是执果寻因问题中的因,如p(Xt−1∣Xt)p(X_{t-1}|X_{t})p(Xt−1​∣Xt​)

KL 散度

对于两个单一变量的高斯分布的 ppp 和 qqq 而言,它们的 KL 散度为:

KL(p,q)=logσ2σ1+σ12+(μ1−μ2)22σ22−12KL(p, q)=log\frac{\sigma_{2}}{\sigma_{1}}+\frac{\sigma_{1}^{2}+(\mu_{1}-\mu_{2})^{2}}{2\sigma_{2}^{2}}-\frac{1}{2}KL(p,q)=logσ1​σ2​​+2σ22​σ12​+(μ1​−μ2​)2​−21​

参数重整化

若希望从高斯分布 N(μ,σ2)N(\mu, \sigma^{2})N(μ,σ2) 中采样,可以先从标准分布 N(,1)N(0, 1)N(0,1) 采样出 zzz,再得到 σ∗z+μ\sigma*z+\muσ∗z+μ,这就是我们想要的采样结果。这样做的好处是将随机性转移到了 zzz 这个常量上,而 σ\sigmaσ 和 μ\muμ 则当作仿射变换网络的一部分。

模型介绍模型总览

图2 DDPM 是经过训练以逐渐去除噪声数据的参数化马尔可夫链。我们估计生成过程的参数。

去噪扩散概率模型(DDPM)的简单理解(去噪扩散概率模型)

DDPM 主要分为两个过程:

forward 加噪过程(从右往左)reverse 去噪过程(从左往右)

加噪过程是指向数据集中的真实图像逐步加入高斯噪声,而去噪过程是指对加了噪声的图片逐步去噪,从而还原出真实图像。加噪过程满足一定的数学规律,不需要学习,而去噪过程则采用神经网络模型来学习。这样一来,神经网络模型就可以从一堆杂乱无章的噪声图片中生成真实图片了。

扩散过程逐步加噪

给定初始数据分布 x∼q(x)x_{0} \sim q(x)x0​∼q(x),我们定义一个前向扩散过程(forward diffusion process):我们向数据分布中逐步添加高斯噪声,加噪过程持续 TTT 次,产生一系列带噪声的图片 x1,...,xTx_{1},...,x_{T}x1​,...,xT​。在由 xt−1x_{t-1}xt−1​ 加噪至 xtx_{t}xt​ 的过程中,噪声的标准差/方差是以一个在区间 (,1)(0, 1)(0,1) 内的固定值 βT\beta_{T}βT​ 来确定的,均值是以固定值 βT\beta_{T}βT​ 和当前时刻的图片数据 xt−1x_{t-1}xt−1​ 来确定的。以上描述的加噪过程可以写成公式:

q(x1:T∣x):=∏t=1Tq(xt∣xt−1),q(xt∣xt−1):=N(xt;1−βtxt−1,βtI)q(x_{1:T|x_{0}}):=\prod_{t=1}^{T}q(x_{t}|x_{t-1}), \quad q(x_{t}|x_{t-1}) := \mathcal N(x_{t};\sqrt{1-\beta_{t}}x_{t-1},\beta_{t}\mathbf{I})q(x1:T∣x0​​):=t=1∏T​q(xt​∣xt−1​),q(xt​∣xt−1​):=N(xt​;1−βt​​xt−1​,βt​I)

上式的意思是:由xt−1x_{t-1}xt−1​得到xtx_{t}xt​的过程,满足分布 N(xt;1−βtxt−1,βtI)\mathcal N(x_{t};\sqrt{1-\beta_{t}}x_{t-1}, \beta_{t}\mathbf{I})N(xt​;1−βt​​xt−1​,βt​I),因此噪声只由 βT\beta_{T}βT​和xt−1x_{t-1}xt−1​来确定,是一个固定值而不是一个可学习的过程。因此,只要有了 xx_{0}x0​,并且提前确定每一步的固定值β1,...,βT\beta_{1},...,\beta_{T}β1​,...,βT​,我们就可以推出任意一部的加噪数据 x1,...,xTx_{1},...,x_{T}x1​,...,xT​。值得注意的是,这里的加噪过程是一个马尔科夫链过程,即当前状态的概率只与上一时刻有关。

加噪结果

随着 ttt 的不断增大,最终原始数据 xx_{0}x0​ 会逐步失去它的特征。最终当 T→∞T\rightarrow\inftyT→∞时,xTx_{T}xT​趋近于一个各向同性的高斯分布。从视觉上看,就是将原本一张完好的照片加噪很多步后,图片几乎变成了一张完全时噪声的图片。

任意时刻 xtx_{t}xt​的计算

逐步加噪过程中,我们其实并不需要一步步地从 x,x1,...x_{0},x_{1},...x0​,x1​,... 去迭代得到 xtx_{t}xt​。事实上,我们可以直接从 xx_{0}x0​ 和固定值序列 {βT∈(,1)}t=1T\{ \beta_{T}∈(0, 1)\}_{t=1}^{T}{βT​∈(0,1)}t=1T​直接计算得到:

q(xt∣x)=N(xt;αt‾x,(1−αt‾)I)q(x_{t}|x_{0}) = \mathcal N(x_{t};\sqrt{\overline{\alpha_{t}}}x_{0}, (1-\overline{\alpha_{t}})\mathbf{I}) \\q(xt​∣x0​)=N(xt​;αt​​​x0​,(1−αt​​)I)

上式中,αt=1−βt\alpha_{t}=1-\beta_{t}αt​=1−βt​,αt‾=∏i=1Tαi\overline{\alpha_{t}}=\prod_{i=1}^T\alpha_{i}αt​​=∏i=1T​αi​,中间推导过程不再罗列。

逆扩散过程

如果我们能够将上述过程转换方法,即从q(xt−1∣xt)q(x_{t-1}|x_{t})q(xt−1​∣xt​)中采样,那么我们就可以从一个随机的高斯分布N(,I)\mathcal N(0, \mathbf{I})N(0,I)中重建出一个真实的原始样本,也就是从一个完全杂乱无章的噪声图片中得到一张真实图片。但是,由于需要从完整数据集中找到数据分布,我们没办法简单地预测q(xt−1∣xt)q(x_{t-1}|x_{t})q(xt−1​∣xt​),因此需要学习一个模型pθp_{\theta}pθ​来近似模拟这个条件概率,从而运行逆扩散过程。

pθ(x:T):=p(xT)∏t=1Tpθ(xt−1∣xt),pθ(xt−1∣xt):=N(xt−1;μθ(xt,t),∑θ(xt,t))p_{\theta}(x_{0:T}):=p(x_{T})\prod_{t=1}^{T}p_{\theta}(x_{t-1}|x_{t}), \quad p_{\theta}(x_{t-1}|x_{t}):=\mathcal N(x_{t-1};\mu_{\theta(x_{t},t),\sum_{\theta}(x_{t},t)})pθ​(x0:T​):=p(xT​)t=1∏T​pθ​(xt−1​∣xt​),pθ​(xt−1​∣xt​):=N(xt−1​;μθ(xt​,t),∑θ​(xt​,t)​)

要点分析

正向的扩散过程:

扩散过程时逐步加噪的过程扩散过程符合马尔科夫假设每一步的噪声都是高斯噪声加噪是用方差参数来控制的(预定义的超参数)正向扩散过程属于无参模型(不需要进行学习)该过程支持在任意步长采样(方便后续的训练)

逆向的扩散过程:

从高斯噪声中采样,学习一个模型估计真实的条件概率分布(从上一状态到下一状态的条件概率模型)也可以直接计算任意状态的分布,因此可以直接采样,然后和真实图像计算均方误差用一个 U-Net 结构来对 ttt 时刻的噪声进行预测逆过程的均值需要模型预测(有参),但方差采用了常数项(无参,当然有工作将其改进成有参也同样 work)伪代码

相关论文标题简称出版评语Denoising Diffusion Probabilistic ModelsDDPMNIPS 2020开山之作Denoising Diffusion Implicit ModelsDDIMICLR 2021采样提速Improved denoising diffusion probabilistic models\ICML 2021在保证高图像质量的同时提升对数似然Diffusion Models Beat GANs on Image Synthesis\NIPS 2021Diffusion Models VS. GANs(提出了带条件的扩散模型)Classifier-Free Diffusion Guidance\NIPS 2021引入等价结构替换分类器引导Hierarchical Text-Conditional Image Generation with CLIP LatentsDALL-E 2NIPS 2022OpenAI 文本生成图像Photorealistic Text-to-Image Diffusion Models with Deep Language UnderstandingImagenNIPS 2022Google 文本生成图像High-Resolution Image Synthesis with Latent Diffusion ModelsLDMCVPR 2022采样提速参考DDPM解读(一)| 数学基础,扩散与逆扩散过程和训练推理方法diffusion model最近在图像生成领域大红大紫,如何看待它的风头开始超过GAN?基于扩散模型的文本引导图像生成算法生成扩散模型漫谈(一):DDPM = 拆楼 + 建楼生成扩散模型漫谈(二):DDPM = 自回归式VAEDiffusion Model一发力,GAN就过时了?
本文链接地址:https://www.jiuchutong.com/zhishi/289631.html 转载请保留说明!

上一篇:黑沙滩上Reynisdrangar的玄武岩,冰岛 (© Cavan Images/Getty Images)(黑沙滩是什么意思)

下一篇:Linux查看SSH服务是否开启(linux查看ssh服务开启)

  • 企业微博营销的8种常见模式(企业微博营销的日常运营工作三部分)

    企业微博营销的8种常见模式(企业微博营销的日常运营工作三部分)

  • qq音乐闪光灯在哪里设置(qq音乐的闪光灯效对手机有损伤吗)

    qq音乐闪光灯在哪里设置(qq音乐的闪光灯效对手机有损伤吗)

  • 华为语音助手怎么唤醒(华为语音助手怎么打开设置)

    华为语音助手怎么唤醒(华为语音助手怎么打开设置)

  • 钉钉悬浮窗播放算观看吗(钉钉悬浮窗播放能记入时间吗)

    钉钉悬浮窗播放算观看吗(钉钉悬浮窗播放能记入时间吗)

  • 花呗付款退款的话退到哪里(花呗付款退款的话要多长时间到账)

    花呗付款退款的话退到哪里(花呗付款退款的话要多长时间到账)

  • wps有visio的功能吗(如果用wps实现visio功能)

    wps有visio的功能吗(如果用wps实现visio功能)

  • 低温wifi是什么意思(低温wifi好不好)

    低温wifi是什么意思(低温wifi好不好)

  • 手机抖音无法拍摄(手机抖音拍不了是怎么回事)

    手机抖音无法拍摄(手机抖音拍不了是怎么回事)

  • 微信群名怎么设置可以不被改动(微信群名怎么设置不能改)

    微信群名怎么设置可以不被改动(微信群名怎么设置不能改)

  • 华为Mate30和Mate30Pro区别对比(华为mate30和mate30pro的区别)

    华为Mate30和Mate30Pro区别对比(华为mate30和mate30pro的区别)

  • vivo手机发烫怎么解决(vivo手机发烫怎么解决方法视频)

    vivo手机发烫怎么解决(vivo手机发烫怎么解决方法视频)

  • 咕咕机怎么连接不上蓝牙(咕咕机怎么连接电脑)

    咕咕机怎么连接不上蓝牙(咕咕机怎么连接电脑)

  • qq怎么设置拒收转账(qq怎么设置拒收陌生人信息)

    qq怎么设置拒收转账(qq怎么设置拒收陌生人信息)

  • 华为g7-tl00是荣耀几(华为g7tl00手机价格)

    华为g7-tl00是荣耀几(华为g7tl00手机价格)

  • 手机开视频很卡怎么回事(手机开视频突然很卡)

    手机开视频很卡怎么回事(手机开视频突然很卡)

  • 无线网最多连几个手机(无线网最多连几个)

    无线网最多连几个手机(无线网最多连几个)

  • 怎么找回很久以前qq号(怎么找回很久以前删除的微信好友)

    怎么找回很久以前qq号(怎么找回很久以前删除的微信好友)

  • air3怎么预防变弯(怎么预防ipadair弯曲)

    air3怎么预防变弯(怎么预防ipadair弯曲)

  • 打电话未接通什么意思(拨打电话未接通对方会收到吗)

    打电话未接通什么意思(拨打电话未接通对方会收到吗)

  • 支付宝邀请新用户在哪里(支付宝邀请新用户注册有奖励吗)

    支付宝邀请新用户在哪里(支付宝邀请新用户注册有奖励吗)

  • ntldr丢失怎么开机(ntldr不见了怎么办)

    ntldr丢失怎么开机(ntldr不见了怎么办)

  • win11专业版/企业版/教育版激活密钥+激活工具+教程(win11专业版企业版家庭版哪个玩游戏好)

    win11专业版/企业版/教育版激活密钥+激活工具+教程(win11专业版企业版家庭版哪个玩游戏好)

  • u盘一键启动bios设置的图文教程(u盘一键启动安装系统)

    u盘一键启动bios设置的图文教程(u盘一键启动安装系统)

  • Win7系统如何禁用光驱?(win7如何禁用wifi)

    Win7系统如何禁用光驱?(win7如何禁用wifi)

  • 如何使用python中的pypy解释器?(python怎么用)

    如何使用python中的pypy解释器?(python怎么用)

  • 亏损企业需要计提递延所得税资产吗
  • 委托加工物资贷方
  • 出口退税贷款操作流程
  • 工资进成本还是费用
  • 费用先付款后收到发票做账
  • 或有负债在报表附注哪里
  • 增值税申报错误如何重报
  • 企业清算的种类
  • 固定资产盘亏造成的损失计入什么科目
  • 一次性加速折旧汇算清缴调增吗
  • 商场预付卡是什么意思
  • 权益资本成本率计算
  • 抬头是别的公司怎么报销
  • 固定资产的计税基础6种情况
  • 软件企业涉税风险分析
  • 企业扣税账户没钱交税会怎么样?
  • 缴纳的社保费可以退吗怎么退
  • 对外支付类型
  • 企业注销后款项怎么结算
  • 房产企业开发产品出租
  • 筹建期间开办费账务处理
  • win8.1电脑设置在哪里
  • 如何win10家庭版升级专业版
  • 小微企业工业企业认定标准
  • 已开发票发生销售退回如何做账?
  • 旅游开发公司税率
  • linux压缩.gz
  • php生成app
  • php的编辑工具有哪些
  • 以固定资产换入无形资产
  • 企业购入的专利权属于什么
  • php如何提高程序运行效率
  • 发票怎么保管不会坏
  • 个人所得税有哪些可以减免的项目
  • PHP:mcrypt_get_iv_size()的用法_Mcrypt函数
  • layui 日期控件赋值
  • echarts 柱状图滚动与gridlayout移动冲突
  • 大群的芒基蝠鲼跃出水面,墨西哥加利福尼亚湾 (© Mark Carwardine/Minden Pictures)
  • 金蝶kis迷你版银行存款二级科目
  • 其他收益在资产负债表哪点
  • cpu power management设置
  • 什么是政府项目档案
  • 什么是固定资产?其特征有哪些
  • 新合同旧合同的法律依据
  • 标签显示内容怎么设置
  • 律师跨省办案收取的费用叫什么
  • 金蝶可以自动结账吗
  • 契税并入土地价值吗
  • 通过法院拍卖取得的房屋需要法院下确认裁定吗
  • 房地产企业成本核算方法
  • 实收资本印花税最新规定
  • 建筑公司工程外包 税务
  • 燃油费如何做账会计分录
  • 一般纳税人怎样开3个点的专票
  • 公司开发的app费用怎么算
  • 信息服务的最终目的是什么
  • 财务费用明细账图片
  • 出口免抵退和免退有什么区别
  • 固定资产清理期末
  • 工业企业自制半导体材料
  • sql的查询分析器
  • windows自带的
  • win7系统补丁包
  • window八
  • win 10 build
  • javascript基于什么的语言
  • vs2013怎么配置环境
  • bat判断变量的值
  • css开发环境
  • web标准包含哪些
  • 置顶聊天折叠怎么开启
  • python3+PyQt5实现使用剪贴板做复制与粘帖示例
  • 如何用node搭建服务器
  • unauthorizedAccessException
  • jquery怎么给文本框赋值
  • 深入理解新发展理念
  • 广西电子税务局电话人工客服电话
  • 纳税是什么税
  • 金税盘读取发票
  • 税收与税务的区别是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设