My Note of Diffusion Models

Diffusion Models

Links: https://theaisummer.com/diffusion-models/

Markovian Hierachical VAE

rvs:

  • data: x 0 x_{0} x0,
  • representation: x T x_{T} xT

( p ( x 0 , x 1 , ⋯ , x T ) , q ( x 1 , ⋯ , x T ∣ x 0 ) ) (p(x_0,x_1,\cdots,x_T),q(x_1,\cdots,x_{T}|x_0)) (p(x0,x1,,xT),q(x1,,xTx0))
where x 1 , ⋯ , x T x_1,\cdots,x_T x1,,xT is unobservable, and

  • generative model/backward trajectory:
    p ( x 0 , x 1 , ⋯ , x T ) = p ( x T ) ∏ t p ( x t − 1 ∣ x t ) p(x_0,x_1,\cdots,x_T)=p(x_T)\prod_tp(x_{t-1}|x_{t}) p(x0,x1,,xT)=p(xT)tp(xt1xt)
  • forward trajectory(Markov process):
    q ( x 1 , ⋯ , x T ∣ x 0 ) ) = ∏ t q ( x t ∣ x t − 1 ) q(x_1,\cdots,x_{T}|x_0))=\prod_tq(x_{t}|x_{t-1}) q(x1,,xTx0))=tq(xtxt1)

E L B O : = ∫ q ( x T ∣ x 0 ) log ⁡ p ( x T ) q ( x T ∣ x 0 ) d x T + ∑ t = 2 T ∫ q ( x t − 1 , x t ∣ x 0 ) log ⁡ p ( x t − 1 ∣ x t ) q ( x t − 1 ∣ x t , x 0 ) d x t − 1 x t + ∫ q ( x 1 ∣ x 0 ) log ⁡ p ( x 1 ∣ x 0 ) d x 1 ELBO:=\int q(x_{T}|x_{0}) \log \frac{p(x_{T})}{q(x_{T}|x_{0})}\mathrm{d}x_{T}\\ +\sum_{t=2}^T \int q(x_{t-1},x_{t}|x_{0})\log \frac{p(x_{t-1}|x_{t})}{q(x_{t-1}|x_{t}, x_{0})}\mathrm{d}x_{t-1}x_{t}\\+\int q(x_{1}|x_{0})\log p(x_{1}|x_{0})\mathrm{d}x_{1} ELBO:=q(xTx0)logq(xTx0)p(xT)dxT+t=2Tq(xt1,xtx0)logq(xt1xt,x0)p(xt1xt)dxt1xt+q(x1x0)logp(x1x0)dx1

Loss

L o s s : = − E L B O = D K L ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) + ∑ t = 2 T ∫ q ( x t ∣ x 0 ) d x t D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p ( x t − 1 ∣ x t ) ) − ∫ q ( x 1 ∣ x 0 ) log ⁡ p ( x 1 ∣ x 0 ) d x 1 Loss:=-ELBO= D_{KL} (q(x_{T}|x_{0})\| p(x_{T}))\\ +\sum_{t=2}^T \int q(x_{t}|x_{0})\mathrm{d}x_{t}D_{KL}(q(x_{t-1}|x_{t}, x_{0})\|p(x_{t-1}|x_{t}))\\-\int q(x_{1}|x_{0})\log p(x_{1}|x_{0})\mathrm{d}x_{1} Loss:=ELBO=DKL(q(xTx0)p(xT))+t=2Tq(xtx0)dxtDKL(q(xt1xt,x0)p(xt1xt))q(x1x0)logp(x1x0)dx1

  • prior matching term
  • denoising matching term
  • reconstruction term

Diffusion Models

basic assumption

  • tractable distr: p ( x T ) p(x_{T}) p(xT)
  • forward trajectory(Markov process): q ( x t ∣ x t − 1 ) q(x_{t}|x_{t-1}) q(xtxt1) is fixed (has no unlearned parameter)

Definition(Diffusion Model)

  • tractable distr: p ( x T ) ∼ N ( 0 , 1 ) p(x_{T})\sim N(0,1) p(xT)N(0,1)
  • generative model/backward trajectory: p ( x t − 1 ∣ x t ) ∼ N ( μ ( t ) , Σ ( t ) ) p(x_{t-1}|x_{t})\sim N(\mu(t),\Sigma(t)) p(xt1xt)N(μ(t),Σ(t))
  • forward trajectory(Gaussian diffusion): q ( x t ∣ x t − 1 ) ∼ N ( x t − 1 1 − β t , β t ) q(x_{t}|x_{t-1})\sim N(x_{t-1}\sqrt{1-\beta_t},\beta_t) q(xtxt1)N(xt11βt ,βt),

Parameters:

  • β t = 1 − α t \beta_t=1-\alpha_t βt=1αt or α ˉ t : = ∏ t α t \bar{\alpha}_t:=\prod_t\alpha_t αˉt:=tαt: noise schedule, where α t \alpha_t αt is small
  • α ˉ t \sqrt{\bar{\alpha}_t} αˉt : signal rate

Fact.

  • q ( x t ∣ x 0 ) ∼ N ( x 0 α ˉ t , 1 − α ˉ t ) q(x_{t}|x_{0})\sim N(x_{0}\sqrt{\bar{\alpha}_t},1-\bar{\alpha}_t) q(xtx0)N(x0αˉt ,1αˉt)
  • q ( x t − 1 ∣ x t , x 0 ) ∼ N ( μ q ( x t , x 0 ) , σ 2 ( t ) ) q(x_{t-1}|x_{t},x_{0})\sim N(\mu_q(x_t ,x_0),\sigma^2(t)) q(xt1xt,x0)N(μq(xt,x0),σ2(t)) where
    μ q ( x t , x 0 ) : = α t ( 1 − α ˉ t − 1 ) x t − α ˉ t − 1 ( 1 − α t ) x 0 1 − α ˉ t = 1 α t x t − β t 1 − α ˉ t α t ϵ 0 \mu_q(x_t,x_0):=\frac{\sqrt{\alpha_t}(1-\bar\alpha_{t-1})x_t-\sqrt{\bar\alpha_{t-1}}(1-\alpha_{t})x_0}{1-\bar\alpha_t}\\ =\frac{1}{\sqrt{\alpha_t}}x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}\sqrt{\alpha_t}}\epsilon_0 μq(xt,x0):=1αˉtαt (1αˉt1)xtαˉt1 (1αt)x0=αt 1xt1αˉt αt βtϵ0
    and σ 2 ( t ) : = 1 − α ˉ t − 1 1 − α ˉ t β t \sigma^2(t):=\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}\beta_{t} σ2(t):=1αˉt1αˉt1βt.

Design I: p ( x t − 1 ∣ x t ) ∼ N ( μ ( t ) , Σ ( t ) ) p(x_{t-1}|x_{t})\sim N(\mu(t),\Sigma(t)) p(xt1xt)N(μ(t),Σ(t)):
μ ( t ) = α t ( 1 − α ˉ t − 1 ) x t − β t α ˉ t − 1 x ^ ( x t , t ) 1 − α ˉ t Σ ( t ) = σ 2 ( t ) \mu(t)=\frac{\sqrt{\alpha_t}(1-\bar\alpha_{t-1})x_t-\beta_{t}\sqrt{\bar\alpha_{t-1}}\hat{x}(x_t,t)}{1-\bar\alpha_t}\\ \Sigma(t)=\sigma^2(t) μ(t)=1αˉtαt (1αˉt1)xtβtαˉt1 x^(xt,t)Σ(t)=σ2(t)

Design II: p ( x t − 1 ∣ x t ) ∼ N ( μ ( t ) , Σ ( t ) ) p(x_{t-1}|x_{t})\sim N(\mu(t),\Sigma(t)) p(xt1xt)N(μ(t),Σ(t)):
μ ( t ) = 1 α t x t − β t 1 − α ˉ t α t ϵ ^ ( x t , t ) Σ ( t ) = σ 2 ( t ) \mu(t)=\frac{1}{\sqrt{\alpha_t}}x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}\sqrt{\alpha_t}}\hat{\epsilon}(x_t,t)\\ \Sigma(t)=\sigma^2(t) μ(t)=αt 1xt1αˉt αt βtϵ^(xt,t)Σ(t)=σ2(t)

Fact.
Under the design I:
D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) = 1 2 σ t 2 ( 1 − α ˉ t − 1 ) β t 2 ( 1 − α ˉ t ) 2 ∥ x ^ ( x t , t ) − x 0 ∥ 2 = 1 2 ( 1 1 − α ˉ t − 1 − 1 1 − α ˉ t ) ∥ x ^ ( x t , t ) − x 0 ∥ 2 D_{KL} (q(x_{t−1}|x_t , x_0) \| p_θ (x_{t−1} |x_t))=\frac{1}{2\sigma_t^2}\frac{(1-\bar{\alpha}_{t-1})\beta_t^2}{(1-\bar{\alpha}_{t})^2}\|\hat{x}(x_t,t)-x_0\|^2\\ =\frac{1}{2}(\frac{1}{1-\bar{\alpha}_{t-1}}-\frac{1}{1-\bar{\alpha}_{t}})\|\hat{x}(x_t,t)-x_0\|^2 DKL(q(xt1xt,x0)pθ(xt1xt))=2σt21(1αˉt)2(1αˉt1)βt2x^(xt,t)x02=21(1αˉt111αˉt1)x^(xt,t)x02

Under the design II:
D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) = 1 2 σ t 2 β t 2 ( 1 − α ˉ t ) α t 2 ∥ ϵ ^ ( x t , t ) − ϵ 0 ∥ 2 D_{KL} (q(x_{t−1}|x_t , x_0) \| p_θ (x_{t−1} |x_t))=\frac{1}{2\sigma_t^2}\frac{\beta_t^2}{(1-\bar{\alpha}_{t})\alpha_t^2}\|\hat{\epsilon}(x_t,t)-\epsilon_0\|^2 DKL(q(xt1xt,x0)pθ(xt1xt))=2σt21(1αˉt)αt2βt2ϵ^(xt,t)ϵ02

Algorithm

Loss:
L = ∑ t L t L t ≈ ∑ ϵ ∼ N ( 0 , 1 ) ∥ ϵ − ϵ ^ ( x t , t ) ∥ 2 , ( 0 ≤ t < T ) L=\sum_t L_t\\ L_t\approx \sum_{\epsilon\sim N(0,1)}\|\epsilon-\hat{\epsilon}(x_{t},t)\|^2,(0\leq t<T) L=tLtLtϵN(0,1)ϵϵ^(xt,t)2,(0t<T)
where x t : = α ˉ t x 0 + 1 − α ˉ t ϵ x_{t}:=\sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon xt:=αˉt x0+1αˉt ϵ.

train NN ϵ ^ \hat\epsilon ϵ^ by data { ( ϵ ^ ( x t ( x 0 , i , ϵ i l ) , t ) , ϵ i l ) , ϵ i l ∼ N ( 0 , 1 ) , l = 1 , ⋯ , L } \{(\hat{\epsilon}(x_{t}(x_{0,i},\epsilon_{il}),t),\epsilon_{il}),\epsilon_{il}\sim N(0,1),l=1,\cdots, L\} {(ϵ^(xt(x0,i,ϵil),t),ϵil),ϵilN(0,1),l=1,,L} with size of N L NL NL for each t t t


Exercise

  1. Given a latent variable model p ( x , z ) p(x,z) p(x,z) with variational distr. q ( z ∣ x ) q(z|x) q(zx). q ( x ) q(x) q(x) represents data distr. and let q ( x , z ) = q ( z ∣ x ) q ( x ) q(x,z)=q(z|x)q(x) q(x,z)=q(zx)q(x).
    ∫ q ( x ) L x = ∫ q ( x , z ) log ⁡ p ( x , z ) q ( z ∣ x ) ∼ D K L ( q ( x , z ) ∥ p ( x , z ) ) \int q(x)L_x=\int q(x,z)\log\frac{p(x,z)}{q(z|x)}\sim D_{KL}(q(x,z)\|p(x,z)) q(x)Lx=q(x,z)logq(zx)p(x,z)DKL(q(x,z)p(x,z))
    where L x L_x Lx is LEBO.

References

  1. Jonathan Ho, Ajay Jain, Pieter Abbeel. Denoising Diffusion Probabilistic Models, 2020.
  2. Calvin Luo, Understanding Diffusion Models: A Unified Perspective, 2022

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

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

相关文章

如何在html中插入表情包,怎么把表情包插入word

是下表情包已经成为一种流行&#xff0c;在word文档中&#xff0c;添加表情包&#xff0c;会给人一种生动亲切的感觉。那么如何在word中添加表情包呢&#xff1f;下面就来看看小编的方法吧。 表情包有很多种形式&#xff0c;例如动态表情&#xff0c;表情符号&#xff0c;静态图…

Github emoji 表情包大全

传送门&#xff1a;https://www.jianshu.com/p/72a4214764e4 https://www.webpagefx.com/tools/emoji-cheat-sheet/

深度学习了40万个表情,一大波AI 表情包来了

自从有了表情包&#xff0c;跟人聊天时的第一反应&#xff0c;就是去找找看有什么适合的表情。 有一类表情包&#xff0c;形式是文字图&#xff0c;尤其能够精妙地抒发和传递感情。 在这一点上&#xff0c;可能全世界的网友都一样。 好用的表情永远不嫌多&#xff0c;而且似乎总…

进击的巨人有趣表情包

image 下载地址: 进击的巨人_BQB/进击的巨人00001-戴拿.gif image 下载地址: 进击的巨人_BQB/进击的巨人00002-莱纳你坐呀.gif image 下载地址: 进击的巨人_BQB/进击的巨人00003-逐渐变得精彩起来了.jpg image 下载地址: 进击的巨人_BQB/进击的巨人00004-醉酒的等级-尤弥尔希斯…

深度学习的分割方法

FCN&#xff1a;基于深度学习的语义分割模型 语义分割的定义&#xff1a;对像素进行精细化的分类。 用深度学习来解决语义分割&#xff0c;所面临的主要问题是&#xff1a; 早期的深度模型用于分类&#xff0c;输出一维向量&#xff0c;无法分割 深度模型不够精细 动机 如…

中国人民大学与加拿大女王大学金融硕士——人生选对方向很重要

有人说&#xff0c;人生最重要的不是财富、不是荣誉&#xff0c;而是选择一条正确的道路。选择正确的方向&#xff0c;对一个人的成长和事业的成功与否&#xff0c;起着决定作用。有了方向&#xff0c;你前进的每一步都跟接近幸福。在职计划读研的你有了解过中国人民大学与加拿…

有哪些测试框架和工具推荐? - 易智编译EaseEditing

在软件测试领域&#xff0c;有许多测试框架和工具可供选择。以下是一些常见的测试框架和工具的推荐&#xff1a; Selenium: 一个用于自动化Web应用程序测试的流行框架。它支持多种编程语言&#xff0c;并提供丰富的功能和灵活性。 JUnit: 一个用于Java应用程序的单元测试框架…

deepin搭建go开发环境(git、go、neovim、NvChad、Nerd Font)

安装deepin虚拟机 官网下载地址 vmware中记得版本选择是debian 10.x 64位 然后就是一些确认操作&#xff0c;然后就可以了 安装git apt install gedit apt install git git config --global user.name "hello" git config --global user.email hello126.com git c…

Win7下Apploc的正确安装姿势

时隔两年之后WIN7终于再次挂掉。于是重装系统打完补丁之后又遇到了安装Apploc的问题。因为印象中需要使用msiexec来安装才能正常进行&#xff0c;但是却记不得细节了&#xff0c;于是求助Google。得到的结果无论中英文基本如下&#xff1a; 1. Admin权限开个cmd.exe 2. cmd里运…

使用sasjs构建html5 javascript css应用

In our previous articles, we have learnt about the SASjs ecosystem and seen how we can build a SAS app with Angular. 在之前的文章中&#xff0c;我们了解了SASjs生态系统&#xff0c;并了解了如何使用Angular构建SAS应用程序 。 In this article, we will look at ho…

漫漫长夜无限服务器断开,漫漫长夜崩溃问题解决方法 | 手游网游页游攻略大全...

发布时间:2015-11-13 漫漫长夜鹿皮怎么获得 漫漫长夜鹿皮获得方法,漫漫长夜The Long Dark中的鹿皮可以造鹿皮靴.前提当然是需要鹿皮了,那肯定得去杀鹿喽,可这鹿怎么杀呢?感兴趣的一起来看看吧. 引狼杀鹿 你先要等鹿被狼杀死,之后去干掉 ... 标签: 游戏攻略 游戏秘籍 漫漫长夜…

unity自动校准(翻译)

本文只是对那篇老外博客进行了翻译&#xff0c;翻译的不好&#xff0c;自己刚过六级&#xff0e;肯定有很多问题&#xff0c;欢迎同学指出&#xff0e; 原文链接&#xff1a;http://www.paradeofrain.com/2010/07/lessons-learned-in-tilt-controls/ 回顾一下 我想简单粗糙的讲…

vivo 互联网业务就近路由技术实战

一、问题背景 在vivo互联网业务高速发展的同时&#xff0c;支撑的服务实例规模也越来越大&#xff0c;然而单个机房能承载的机器容量是有限的&#xff0c;于是同城多机房甚至多地域部署就成为了业务在实际部署过程中不得不面临的场景。 一般情况下&#xff0c;同一个机房内部的…

进出口跨境电商软件平台系统开发,源码技术架构

一、进出口跨境电商软件平台系统开发需做好相应的前期准备&#xff0c;如确定市场、了解政策、推广宣传等。 欢迎名片沟通探讨 确定目标市场&#xff1a;选择合适的目标市场。需要了解目标市场的消费习惯、政策法规以及竞争情况。 了解海关相关政策&#xff1a;针对不同国家或…

机器学习——集成学习(装袋法Bagging、提升法Boosting、梯度提升决策树GBDT、随机森林RF)

集成学习 集成学习通过构建并结合多个学习器来完成学习任务 集成方法是用多种学习方法的组合来获取比原方法更优的结果 使用于组合的算法是弱学习算法 即分类正确率仅比随机猜测略高的学习算法 但是组合之后的效果仍可能高于强学习算法 即集成之后的算法准确率和效率都很高…

C++,Qt部分面试和笔试题

面试这么多次&#xff0c;C这块基础太差了&#xff0c;乘着还有印象总结下相关的面试问答和笔试题&#xff0c;后续会不断更新内容 目录 问答题1.计算机网络七层体系结构2.C中关键字static和const的使用3.QList和QVector for循环输出速度比较4.构造函数能否为虚函数5.谈谈你对面…

Mysql进阶【1】论述索引,索引数据结构,MVCC

1. ReadView 案例&#xff0c;解释为什么 RR 和 RC 隔离级别下看到查询结果不一致 案例 01- 读已提交 RC 隔离级别下的可见性分析 开启两个回话&#xff0c;会话事务级别都是READ-COMMITED; 操作步骤 开启两个数据库会话&#xff0c;设置事务为提交读事务2查询id1数据&#…

纯净内存清理加速软件(Mem Reduct)

纯净内存清理加速软件&#xff08;Mem Reduct) 文章目录 纯净内存清理加速软件&#xff08;Mem Reduct)一、Mem Product是什么&#xff1f;二、使用步骤1.下载2.安装 总结 你还为了加速球还困扰全家桶吗&#xff0c;看看这个&#xff01;&#xff01; 一、Mem Product是什么&a…

如何清理占用计算机内存,告诉你如何深度清理电脑内存

在如今这个社会时代中,电脑可以说是人们在日常生活中必不可少的一个工具,电脑对我们的学习和工作都起着非常大的作用。但电脑也有出现问题的时候,比如说电脑内存变得越来越小,遇到该问题是该如何处理呢?当然是进行清理内存啦,今天小编就给大家分享一下清理电脑内存的方法…

计算机C盘内存清理

计算机C盘总是莫名其妙的就满了&#xff0c;于是总结了一些清理C盘垃圾以及维护C盘内存的方法。大家有别的有效的方法欢迎告诉我&#xff0c;随时补充。 目录 一、 清理C盘垃圾方法1 利用系统自带的磁盘清理工具进行清理2 定期清理系统临时文件3 清理电脑缓存垃圾4 定期清理浏…