diffusion models笔记

2023-11-17

ELBO of VDM

Understanding[1] 中讲 variational diffusion models(VDM)的 evidence lower bound(ELBO)推导时,(53) 式有一个容易引起误会的记号: … = E q ( x 1 : T ∣ x 0 ) [ log ⁡ p ( x T ) p θ ( x 0 ∣ x 1 ) q ( x 1 ∣ x 0 ) + log ⁡ ∏ t = 2 T p θ ( x t − 1 ∣ x t ) q ( x t − 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) q ( x t − 1 ∣ x 0 ) ] ( 53 ) = E q ( x 1 : T ∣ x 0 ) [ log ⁡ p ( x T ) p θ ( x 0 ∣ x 1 ) q ( x 1 ∣ x 0 ) + log ⁡ q ( x 1 ∣ x 0 ) q ( x T ∣ x 0 ) + log ⁡ ∏ t = 2 T p θ ( x t − 1 ∣ x t ) q ( x t − 1 ∣ x t , x 0 ) ] ( 54 ) \begin{aligned} \dots &= \mathbb{E}_{q\left(\boldsymbol{x}_{1: T} \mid \boldsymbol{x}_0\right)}\left[\log \frac{p\left(\boldsymbol{x}_T\right) p_{\boldsymbol{\theta}}\left(\boldsymbol{x}_0 \mid \boldsymbol{x}_1\right)}{q\left(\boldsymbol{x}_1 \mid \boldsymbol{x}_0\right)}+\log \prod_{t=2}^T \frac{p_{\boldsymbol{\theta}}\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t\right)}{\frac{q\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t, \boldsymbol{x}_0\right) \cancel{q\left(\boldsymbol{x}_t \mid \boldsymbol{x}_0\right)}}{\cancel{q\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_0\right)}} }\right] & (53) \\ &= \mathbb{E}_{q\left(\boldsymbol{x}_{1: T} \mid \boldsymbol{x}_0\right)}\left[\log \frac{p\left(\boldsymbol{x}_T\right) p_{\boldsymbol{\theta}}\left(\boldsymbol{x}_0 \mid \boldsymbol{x}_1\right)}{\cancel{q\left(\boldsymbol{x}_1 \mid \boldsymbol{x}_0\right)}}+\log \frac{\cancel{q\left(\boldsymbol{x}_1 \mid \boldsymbol{x}_0\right)}}{q\left(\boldsymbol{x}_T \mid \boldsymbol{x}_0\right)}+\log \prod_{t=2}^T \frac{p_{\boldsymbol{\theta}}\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t\right)}{q\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t, \boldsymbol{x}_0\right)}\right] &(54) \end{aligned} =Eq(x1:Tx0) logq(x1x0)p(xT)pθ(x0x1)+logt=2Tq(xt1x0) q(xt1xt,x0)q(xtx0) pθ(xt1xt) =Eq(x1:Tx0)[logq(x1x0) p(xT)pθ(x0x1)+logq(xTx0)q(x1x0) +logt=2Tq(xt1xt,x0)pθ(xt1xt)](53)(54)

其中 (53) 式第二项看起来像是消项,但显然两者并不相等!而明显 (54) 中第二项显然非零,却不知从何冒出来。听 [2] 讲到「拆开」、看 [3] 的评论问答才知道:这个推导是将 (53) 式「划掉」的部分拿出来单独放在一项 log ⁡ \log log 中,而这一项内部可以消项,消剩的就是 (54) 式中的第二项,即: (53)第二项 = log ⁡ ∏ t = 2 T p θ ( x t − 1 ∣ x t ) q ( x t − 1 ∣ x t , x 0 ) q ( x t ∣ x 0 ) q ( x t − 1 ∣ x 0 ) = log ⁡ ∏ t = 2 T [ p θ ( x t − 1 ∣ x t ) q ( x t − 1 ∣ x t , x 0 ) ⋅ q ( x t − 1 ∣ x 0 ) q ( x t ∣ x 0 ) ] = log ⁡ ∏ t = 2 T p θ ( x t − 1 ∣ x t ) q ( x t − 1 ∣ x t , x 0 ) ⏟ (54) 第三项 + log ⁡ ∏ t = 2 T q ( x t − 1 ∣ x 0 ) q ( x t ∣ x 0 ) = log ⁡ [ q ( x 1 ∣ x 0 ) q ( x 2 ∣ x 0 ) × q ( x 2 ∣ x 0 ) q ( x 3 ∣ x 0 ) × ⋯ × q ( x T − 1 ∣ x 0 ) q ( x T ∣ x 0 ) ] + (54) 第三项 = log ⁡ q ( x 1 ∣ x 0 ) q ( x T ∣ x 0 ) ⏟ (54) 第二项 + (54) 第三项 \begin{aligned} \text{(53)第二项} &= \log \prod_{t=2}^T \frac{p_{\theta}\left(x_{t-1} \mid x_t\right)}{\frac{q\left(x_{t-1} \mid x_t, x_0\right)q\left(x_t \mid x_0\right)}{q\left(x_{t-1} \mid x_0\right)} } \\ &= \log \prod_{t=2}^T \left[\frac{p_{\theta}\left(x_{t-1} \mid x_t\right)}{q\left(x_{t-1} \mid x_t, x_0\right)} \cdot \frac{q\left(x_{t-1} \mid x_0\right)}{q\left(x_t \mid x_0\right)}\right] \\ &= \underbrace{\log \prod_{t=2}^T \frac{p_{\theta}\left(x_{t-1} \mid x_t\right)}{q\left(x_{t-1} \mid x_t, x_0\right)}}_{\text{(54) 第三项}} + \log \prod_{t=2}^T \frac{q\left(x_{t-1} \mid x_0\right)}{q\left(x_t \mid x_0\right)} \\ &= \log \left[ \frac{q\left(x_1 \mid x_0\right)}{\cancel{q\left(x_2 \mid x_0\right)}} \times \frac{\cancel{q\left(x_2 \mid x_0\right)}}{\cancel{q\left(x_3 \mid x_0\right)}} \times \cdots \times \frac{\cancel{q\left(x_{T-1} \mid x_0\right)}}{q\left(x_T \mid x_0\right)}\right] + \text{(54) 第三项} \\ &= \underbrace{\log \frac{q\left(x_1 \mid x_0\right)}{q\left(x_T \mid x_0\right)}}_{\text{(54) 第二项}} + \text{(54) 第三项} \end{aligned} (53)第二项=logt=2Tq(xt1x0)q(xt1xt,x0)q(xtx0)pθ(xt1xt)=logt=2T[q(xt1xt,x0)pθ(xt1xt)q(xtx0)q(xt1x0)]=(54) 第三项 logt=2Tq(xt1xt,x0)pθ(xt1xt)+logt=2Tq(xtx0)q(xt1x0)=log[q(x2x0) q(x1x0)×q(x3x0) q(x2x0) ××q(xTx0)q(xT1x0) ]+(54) 第三项=(54) 第二项 logq(xTx0)q(x1x0)+(54) 第三项

DDIM

DDIM[7] 在其第 2 节 background 回顾 DDPM[5] 时,(3) 式 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xtxt1) 的形式与 Understanding[1] 的 (31) 式、DDPM 的 (2) 式都不同,但对照其 (3) 式下面的公式(无标号那条) 与 Understanding 的 (70)、DDPM 的 (4) 可知:DDIM 中的 α t \alpha_t αt 其实对应 Understanding / DDPM 中的 α ˉ t \bar{\alpha}_t αˉt。其 appendix C.2 也有明确讲到这点。

References

  1. Understanding Diffusion Models: A Unified Perspective - arXiv, blog(abbr: Understanding)
  2. Diffusion model (3) 概述:VDM相关公式推导
  3. [論文導讀] Understanding Diffusion Models: A Unified Perspective 擴散模型的數學原理
  4. (ICML 2015) Deep Unsupervised Learning using Nonequilibrium Thermodynamics
  5. (NIPS 2020) Denoising Diffusion Probabilistic Models(DDPM)
  6. (ICML 2021) Improved Denoising Diffusion Probabilistic Models(Improved DDPM)
  7. (ICLR 2021) Denoising Diffusion Implicit Models(DDIM)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

diffusion models笔记 的相关文章

  • [1051]python yagmail发邮件

    文章目录 安装 开通SMTP服务 常用邮箱host以及port yagmail 可以更简单的来实现自动发邮件功能 github项目地址 https github com kootenpv yagmail 安装 pip install yag
  • 备战金九银十: GitHub 上标星 46k+的《10 万字Java面试总结》,助你搞定面试官

    不论是校招还是社招都避免不了各种面试 笔试 如何去准备这些东西就显得格外重要 不论是笔试还是面试都是有章可循的 我这个有章可循 说的意思只是说应对技术面试是可以提前准备 运筹帷幄之后 决胜千里之外 不打毫无准备的仗 我觉得大家可以先从下面几

随机推荐

  • python tkinter 点击按钮选择文件,返回文件路径

    关于python tkinter 点击按钮选择文件 返回文件路径 这个方法我找了好几天 终于曲线救国实现了 首先分为两步 1 设计对话框选择文件 下面的代码搞了好几天 才发现全局变量的获取 必须放在root mainloop的最后 反正网上
  • MAC软件推荐(Java方向)

    MAC软件推荐 Tabby 终端控制工具 keka 解压工具 typora Markdown工具 QuickRedis Redis视图工具 UTM 虚拟机 Navicat Premium 数据库工具 Adobe Photoshop CC 2
  • Android-App的设计架构经验谈,终获offer

    前言 想要成为一名优秀的Android开发 你需要一份完备的知识体系 在这里 让我们一起成长为自己所想的那样 学算法真的很痛苦 虽然大数据现在很火 但找到适合自己定位的职业也未尝不是一种合理选择 投百度的经历非常坎坷 想写出来和大家分享一下
  • runtimeService 运行时服务组件

    在Activiti中 启动一个流程后 会创建一个流程实例 ProcessInstance继承Execution 两个都是接口 每个流程实例至少会有一个执行流 Execution 当流程实例没有流程分支时 一般情况下只会存在一个执行流 假设出
  • 计算机采用二进制每秒,计算机为什么采用二进制

    计算机为什么采用二进制 2018 09 12 电脑为什么要采用二进制计算 计算机中的一切计算都是用二进制进行的 平时我们用的十进制是逢十进一 二进制则是逢二进一 我们用的算盘事实上有两种用法 一种是十进制 一种是十六进制 算盘中代表 五 的
  • 嵌入式Linux下用C语言写后端接口——CGI实现

    文章目录 简介 实验环境 下载CGIC库源码 配置CGIC编译 测试CGI接口 编写一个简单的获取表单的CGI接口 测试login cgi CGIC接口API 简介 CGI Common Gateway Interface 公共网关接口 是
  • Python更改文件的编码格式

    Python更改文件的编码格式 import os from chardet universaldetector import UniversalDetector def change encode file change 2 type d
  • MySQL Flashback 闪回功能详解

    1 简介 mysqlbinlog flashback 闪回 用于快速恢复由于误操作丢失的数据 在DBA误操作时 可以把数据库恢复到以前某个时间点 或者说某个binlog的某个pos 比如忘了带where条件的update delete操作
  • FreeType简介及在vs2010的编译使用

    FreeType库是一个开源 高质量 可扩展 可定制 可移植的字体引擎 它提供统一的接口来访问多种字体格式文件 包括点阵字 TrueType OpenType Type1 CID CFF Windows FON FNT X11 PCF等 F
  • 2021.11.30 面试题

    1 请你介绍一下map的分类和常见的情况 java为数据结构中的映射定义了一个接口java util Map 它有四个实现类 分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对
  • simulink仿真 adc 采样ePWM输出例程

    新建文件夹并用matlab打开 写入这两个模块 配置 ADC 配置ePWM 不使能B 关了就行 其他的默认即可 配置烧录 连线 示波器接pwma1 和地 adc chanl1接 3 3v或者 0 3 3 都行 转化是 x 3 3 2 12
  • backtrace函数与assert断言宏封装

    这篇文章是在阅读 sylar 框架时 对断言宏的封装所做的总结 在实际开发中 我们经常会遇到一种境况 如果程序执行的不是我们想要的正确结果 需要程序立即中断执行 我们希望得到其有效的错误信息 比如其出现错误的函数 文件 代码行号 和参数文本
  • iOS App icon、启动页、图标规范

    原文 iOS App icon 启动页 图标规范 以下内容都是我在做App时通过自己的经验和精品的分析得来的 希望会帮助到你 但是有时个别情况也要个别分析 要活学活用 一 App Icon 在设计iOS App Icon时 设计师不需要切圆
  • 招募 AIGC 训练营助教 @上海

    诚挚邀请对社区活动感兴趣的你 成为我们近期开展的训练营助教 与我们共同开启这场创新之旅 助教需要参与 协助策划和组织训练营活动 协助招募和筛选学员 协助制定训练营的宣传方案 负责协调和组织各项活动 助教可获得 AIGC知识库 获得社区提供的
  • 服务器端Session、客户端Session和Cookie的区别

    1 Session其实分为客户端Session和服务器端Session 当用户首次与Web服务器建立连接的时候 服务器会给用户分发一个 SessionID作为标识 SessionID是一个由24个字符组成的随机字符串 用户每次提交页面 浏览
  • 微型小程序页面跳转加携带数据

    一 WXML中
  • 列表数据转树形数据 trees-plus 使用方法(支持typescript)

    trees plus Operations related to tree data Install npm i trees plus S Import import TreesPlus from trees plus Usage impo
  • 如何使用DLL函数动态加载-静态加载

    公司里的项目里用到加密解密 使用的是客户指定的DLL库来加密解密 开始 我按照以前的方法来使用DLL库 这里也介绍下吧 虽然网上很多 一般动态加载DLL的步骤如下 HINSTANCE DLL库实例名 LoadLibrary T DLL库名
  • 高德api 实现根据中文地址地图打点弹窗

  • diffusion models笔记

    ELBO of VDM Understanding 1 中讲 variational diffusion models VDM 的 evidence lower bound ELBO 推导时 53 式有一个容易引起误会的记号