[Diffusion Model 笔记]DDIM 笔记 数学推导 Denoising Diffusion Implicit Models

news2024/10/7 10:15:22

目录

  • 核心总结
  • 符号定义
  • 第一套,快速简单讲清采样方法
  • 继续分析,待定系数法求解
  • 图示理解
  • 关于参数sigma

本文是观看以下视频的笔记,强烈推荐观看最后的图示理解:
https://www.bilibili.com/video/BV13P411J7dm/?spm_id_from=333.788

论文:Denoising Diffusion Implicit Models
链接:https://arxiv.org/abs/2010.02502

核心总结

  • DDIM只是一个采样的算法,其训练和DDPM是一样的。

  • DDIM在推导采样公式时,没有用DDPM中q(xt|xt-1)的条件;

  • 同时把一个高斯噪声可以换成随机高斯噪声和预测的噪声的加权和,其中 σ k \sigma_k σk是一个超参数,控制二者的权重

  • 采样公式如下:从任意步数k推出步数s:
    x s = α ˉ s x ^ 0 ∣ k + 1 − α ‾ s − σ k 2 ϵ θ + σ k ϵ \mathbf{x}_{s}=\sqrt{\bar\alpha_s} \hat {\mathbf{x}}_{0\mid k}+ \sqrt{1-\overline{\alpha}_{s}-\sigma_{k}^{2}} \boldsymbol{\epsilon} _{\theta}+{\sigma_{k} \boldsymbol{\epsilon} } xs=αˉs x^0k+1αsσk2 ϵθ+σkϵ
    其中:
    x ^ 0 ∣ k = 1 α ˉ k ( x k − 1 − α ˉ k z ~ ) \hat {\mathbf{x}}_{0\mid k}=\frac{1}{\sqrt{\bar\alpha_{k}}}(\mathbf{x}_{k}-\sqrt{1-\bar\alpha_{k}}\tilde{\mathbf{z}}) x^0k=αˉk 1(xk1αˉk z~)

符号定义

  • xT: 符合高斯分布的噪声
  • x0: 一个符合GT的图像,无噪声的,clean image
  • T: 时间步
  • xt: 第t步的图像,要从他推出t-1的图像。(一直推下去的话可以推出x0)
  • β t \beta_t βt:noise rate,关于t的固定序列,含义是每一步t要加的噪声的比例。
  • α t \alpha_t αt:signal rate,关于t的固定序列, α t \alpha_t αt= 1- β t \beta_t βt,含义是每一步t保留的上一步图像比例。通常会被设置为 lim ⁡ t → T α t = 0 \lim _{t \rightarrow T} \alpha_t=0 limtTαt=0。具体定义是: x t = α t x t − 1 + 1 − α t ϵ t \mathbf{x}_t=\sqrt{\alpha_t} \mathbf{x}_{t-1}+\sqrt{1-\alpha_t} \boldsymbol{\epsilon}_{t} xt=αt xt1+1αt ϵt
  • q:正向扩散:加噪声
  • p:逆向扩散:去噪声
  • ϵ t \boldsymbol{\epsilon}_t ϵt z t \mathbf{z}_t zt: xt相比xt-1加的噪声,服从标准正态分布。本文中z和epsilon混用
  • ϵ \boldsymbol{\epsilon} ϵ:不是t这一步的噪声,而是前面的噪声叠加后的结果,还是以服从标准正态分布
  • z波浪:网络预测的噪声,希望他尽可能接近真实的z
  • x ^ 0 ∣ k \hat {\mathbf{x}}_{0\mid k} x^0k:从k这一步估算的x0,定义为: x ^ 0 ∣ k = 1 α ˉ k ( x k − 1 − α ˉ k z ~ ) \hat {\mathbf{x}}_{0\mid k}=\frac{1}{\sqrt{\bar\alpha_{k}}}(\mathbf{x}_{k}-\sqrt{1-\bar\alpha_{k}}\tilde{\mathbf{z}}) x^0k=αˉk 1(xk1αˉk z~)

第一套,快速简单讲清采样方法

上次在DDPM中,我们是这样开头的:

略。我们考虑了t和t-1之间的关系,所以只能一步一步走。

现在我们这样想:

下式恒成立:
q ( x s ∣ x 0 ) = α ˉ s x 0 + 1 − α ˉ s ϵ q(\mathbf{x}_{s}|\mathbf{x}_{0}) =\sqrt{\bar\alpha_s} \mathbf{x}_0+\sqrt{1-\bar\alpha_s} \boldsymbol{\epsilon} q(xsx0)=αˉs x0+1αˉs ϵ
而,其中的x0可以由任何一步k的xk来估出来:
x 0 ≈ x ^ 0 ∣ k = 1 α ˉ k ( x k − 1 − α ˉ k z ~ ) \mathbf{x}_{0} \approx \hat {\mathbf{x}}_{0\mid k}=\frac{1}{\sqrt{\bar\alpha_{k}}}(\mathbf{x}_{k}-\sqrt{1-\bar\alpha_{k}}\tilde{\mathbf{z}}) x0x^0k=αˉk 1(xk1αˉk z~)

带进来,同时他这个噪声 ϵ \boldsymbol{\epsilon} ϵ只是一个满足高斯分布的噪声就行,那我估出来的噪声 ϵ θ \boldsymbol{\epsilon} _{\theta} ϵθ也满足高斯分布呀。因此可以把这个噪声换成他和我们的加权和,只要保证他们的方差之和等于原来的方差,就还是原来的分布不变:(引入了一个控制权重的参数 σ k \sigma_k σk)
q ( x s ∣ x k , x 0 ) = α ˉ s x ^ 0 ∣ k + 1 − α ˉ s ϵ = α ˉ s x ^ 0 ∣ k + 1 − α ‾ s − σ k 2 ϵ θ + σ k ϵ \begin{aligned} &q(\mathbf{x}_{s}|\mathbf{x}_{k},\mathbf{x}_{0})\\ &=\sqrt{\bar\alpha_s} \hat {\mathbf{x}}_{0\mid k}+\sqrt{1-\bar\alpha_s} \boldsymbol{\epsilon} \\ &=\sqrt{\bar\alpha_s} \hat {\mathbf{x}}_{0\mid k}+ \sqrt{1-\overline{\alpha}_{s}-\sigma_{k}^{2}} \boldsymbol{\epsilon} _{\theta}+{\sigma_{k} \boldsymbol{\epsilon} } \end{aligned} q(xsxk,x0)=αˉs x^0k+1αˉs ϵ=αˉs x^0k+1αsσk2 ϵθ+σkϵ

这得到了DDIM的采样公式:
x s = α ˉ s x ^ 0 ∣ k + 1 − α ‾ s − σ k 2 ϵ θ + σ k ϵ \mathbf{x}_{s}=\sqrt{\bar\alpha_s} \hat {\mathbf{x}}_{0\mid k}+ \sqrt{1-\overline{\alpha}_{s}-\sigma_{k}^{2}} \boldsymbol{\epsilon} _{\theta}+{\sigma_{k} \boldsymbol{\epsilon} } xs=αˉs x^0k+1αsσk2 ϵθ+σkϵ

也就是说,采样的时候不一定要一步一步,可以从任意k采样s。

在这里插入图片描述

在这里插入图片描述

继续分析,待定系数法求解

  • 在DDPM,我们得出xt-1可以写成xt和x0和随机噪声的线性组合的形式;
  • 因此,我们这里可以用待定系数法求解他们的系数,但是不使用q(xt|xt-1)这个条件。
  • 结果就发现,xt 和 x0的系数还是可以求出来;只是求不出后面那个随机噪声的系数epsilon1了
  • 当随机噪声的系数epsilon1等于DDPM时,DDIM就变为了DDPM

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
可以看到和我们之前直接写的是一样的。

图示理解

顺序是红黄绿蓝靛紫。

我们一步步看,等号后面这三项分别是,

  • 红色:先走一大步,得到估计的x0。具体来说是在xt基础上减去估计的噪声
  • 黄色:然后原路返回一点儿,也即再加上某比例的估计的噪声
  • 绿色:然后加上一点点随机扰动
  • 这样就完成了一步,下面继续循环即可。注意这一步不一定非得取当前步-1
  • σt越大,则绿色和紫色的越长,黄色和深蓝色的越短
    在这里插入图片描述

关于参数sigma

咱们控制predicted 噪声和随机噪声权重的参数σt(越大,随机噪声越多),在DDIM的论文中有结果图.

  • 其中 σ ^ \hat\sigma σ^就是DDPM,
  • dim(τ)是steps of sampling trajectory
  • 可以看到DDPM在步数少的时候会差很多
  • 另外,比较1到1的σ值,emm,不太明确,大概sigma越小就越确定一些?吧。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1625985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

http基础了解

超文本传输协议(HTTP)是一个用于传输超媒体文档(例如 HTML)的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。HTTP 遵循经典的客户端—服务端模型,客户端打开一个连…

01、创建型-单例模式--只有一个实例

文章目录 前言一、基本介绍1.1 什么是单例模式1.2 为什么要用单例模式1.3 应用场景1.4 单例优缺点 二、单例模式的实现方式2.1 饿汉式单例2.1.1 静态变量方式2.1.2 静态代码块 2.2 懒汉式单例2.2.1 懒汉式单例2.2.2 懒汉式优化①-线程安全2.2.2 懒汉式优化②-双重检查锁2.2.3 懒…

力扣-1832.判断句子是否全为字母句

思路: 首先,我们初始化了一个长度为 26 的布尔值列表 exist,所有值都为 False,表示所有字母初始都未出现过。然后,我们遍历输入的字符串 sentence 中的每个字符。对于每个字符,我们通过计算其 ASCII 码值减去字母 a 的…

ArcGIS Pro专题地图系列教程

专题地图系列是ArcGIS Pro3.2的新功能。之前,如果要做8张相同区域的专题图,可能需要新建8个布局,分别进行排版,再导出。现在,一幅地图,一个布局,就可以完成这个流程。 原理是,根据单…

ROS python实现乌龟跟随

产生两只乌龟,中间的乌龟(A) 和 左下乌龟(B), B 会自动运行至A的位置,并且键盘控制时,只是控制 A 的运动,但是 B 可以跟随 A 运行 乌龟跟随实现的核心,是乌龟A和B都要发布相对世界坐标系的坐标信息,然后&am…

用例整体执行及pytest.ini文件

在我们写代码的过程中,一般都是右键或者命令行去执行一个用例 但是当我们写完后,需要整体执行一遍。那应该怎么搞呢? 我们可以在根目录下新建一个main.py或者run.py之类的文件,文件内容如下: if __name__ "__ma…

报错:图片验证码接口对接vue+springboot(下一个笔记会记录整个验证码的代码)

问题:空指针异常ai: 根据错误堆栈信息中提供的方法调用位置,看起来空指针异常是在 AuthCodeServiceImpl 类的 authUserCoded 方法的第 41 行发生的。 为了解决这个问题,你可以检查 AuthCodeServiceImpl 类中 authUserCoded 方法的第 41 行&am…

发那科FANUC机器人R-2000iB平衡缸维修攻略

在发那科机器人中,平衡缸扮演着稳定机械臂运动的关键角色。它通过内部的压力调节来平衡负载,保证机器人的精准定位和平稳操作。一旦出现法兰克机械手平衡缸故障或损坏,机器人的性能可能会大打折扣,因此及时且正确的FANUC机械手平衡…

2024通信会|迈向智慧配电网建设新时代,锐捷网络发布双平面配电通信解决方案

近期,以“加快推进通信数智化,助力构建新型能源体系”为主题的2024年能源网络通信创新应用大会在四川成都圆满结束,会议围绕构建新型能源体系和新型电力系统建设需求,探讨能源网络通信创新应用的最新趋势与成果、“主、配、微”通信网一体化融合、配电通信网、通信数智化转型等…

Methoxy-PEG-PCL,Methoxy-PEG-Poly(ε-caprolactone)可以作为制备纳米颗粒的重要原料

【试剂详情】 英文名称 mPEG-PCL,MPEG-Poly(ε-caprolactone),Methoxy-PEG-PCL,Methoxy-PEG-Poly(ε-caprolactone) 中文名称 聚乙二醇单甲醚聚己内酯两嵌段共聚物, 聚乙二醇单甲醚聚己内酯 外观性状 由分子量决定&#xff0…

C++实战演练---负载均衡在线oj项目预热

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 前言 学习准备了快一年时间,心心念念的实战演练终于可以开始了,话不多说,直接进入主题…

如何利用交易形态的失败进行现货黄金?

进行现货黄金理财,除了需要投资者对黄金投资有热情之外,有方法也是很重要的,光有热情而没有技术,我们的资金很可能会成为其他人的囊中之物。但如果有了现货黄金理财的技术,情况就可能扭转过来。下面我们就从买入的角度…

实战对抗DDoS攻击

引言 在当今数字化时代,网络安全威胁无处不在,其中分布式拒绝服务(DDoS)攻击因其强大的破坏性和难以防范性而备受关注。DDoS攻击通过控制多个僵尸节点向目标服务器发送海量请求,耗尽其网络带宽或计算资源,…

C语言面试题之相交链表

相交链表 实例要求 1、给定两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。2、如果两个链表不存在相交节点,返回 null 。示例: 实例分析 可以使用两种方法:哈希表方法和双指针方法。哈希表方法…

平抑风电波动的电-氢混合储能容量优化配置

这篇论文中的EMD分解法在非线性扰动信号分解上优于小波分解法,EMD分解出来的imf各频次信号,继而利用C2F实现信号重构,根据最大波动量限值剔除出需要储能平抑的波动量,继而用超级电容实现平抑(论文中用的碱水电解槽+燃料电池我认为有很多个点可以佐证不合适,但是电制氢是热…

惠州工厂降温、惠州惠城惠阳大亚湾仲恺高新惠城博罗车间降温通风

惠州工厂降温、惠州惠城惠阳大亚湾仲恺高新惠城博罗车间降温通风,惠州博罗车间降温、 惠州博罗的车间降温是一个涉及提高工作环境舒适度与生产效率的重要问题。以下是一些建议的降温方法: 通风换气:对于车间来说,良好的通风是降…

什么是独立服务器?独立服务器最全面介绍

独立服务器是单个客户端具有独占访问权的服务器类型,在服务器开发过程中,以前使用虚拟主机和虚拟独立服务器(VPS)的公司几乎不可避免地转向独立服务器。 什么是独立服务器? 独立服务器是单个客户端具有独占访问权的服…

4.28|重量级嘉宾携卓翼飞思RflySim平台亮相国际盛会,内容抢先看!

一. 大会背景 2024国际无人机应用及防控大会暨无人机产业博览会即将拉开帷幕,一场高规格、高水平的无人机产业应用国际盛会将再次点亮科技界的星空。 该大会由中国无人机产业创新联盟联合各方有影响力的单位,于4月27-29日在北京举办。组委会致力于将会…

亿道三防onerugged|三防车载电脑在港口货柜车上的应用

作为一个专业人员,我深知在港口货柜车运输中,三防车载电脑的应用对于提高工作效率和解决实际问题的重要性。亿道三防onerugged系列产品的三防车载电脑以其卓越的功能特点和可靠性,为港口货柜车运输带来了深远的影响。 首先,三防车…

Vue3 + Element-Plus 对接高德地图实现搜索提示选址、点击地图选址、自我定位功能(最新)

Vue3 Element-Plus 对接高德地图实现搜索提示选址、点击地图选址、自我定位功能&#xff08;最新&#xff09; 1、效果展示2、实现代码2.1 GaoDeMap.vue2.2 SystemDialog.vue2.3 UnusedList.vue.vue 1、效果展示 2、实现代码 2.1 GaoDeMap.vue <template><div style…