首页 > 其他分享 >Diffusion Model-DDPM

Diffusion Model-DDPM

时间:2024-06-22 18:21:48浏览次数:12  
标签:Diffusion varepsilon log sqrt DDPM beta theta alpha Model

 

 扩散过程是一个逐渐在数据上加噪的马尔科夫链,直到最终变成一个完全的噪声。而扩散模型就是一个使用变分推断训练的参数化马尔科夫链。如上图所示。学习的是一个reverse process。

 

前提条件:

1. 马尔可夫性质:当前的状态只与之前一个时刻的状态有关;

2. 前向和反向状态服从高斯分布,而且变化比较小(利于数学分析);

 

 扩散模型的前向过程就是不断在数据上加噪的过程,可以使用如下形式表示,其中:

$q(x_{1:T}|x_{0}):=\prod_{t=1}^{T}q(x_{t}|x_{t-1})$       $q(x_{t}|x_{t-1}) :=\mathcal{N}(x_{t};\sqrt{1-\beta_{t}}x_{t-1},\beta_{t}I)$

 这里为了后续计算方便,将条件概率的均值和方差设置成$\sqrt{1-\beta_{t}}x_{t-1}$和$\beta_{t}$。其中,$0<\beta_{1}<\beta_{2}<...<\beta_{t-1}<\beta_{t}<1$。

 

扩散模型的反向过程,可以使用如下的概率形式表示,将其定义为可学习的马尔科夫链,该过程的起始点为$p({x}_{T})=\mathcal{N}({x}_{T};0,I)$。

$p_{\theta}(x_{0:T}):=p(x_{T})\prod_{t=1}^{T}p_{\theta }(x_{t-1}|x_{t})$       $p_{\theta }(x_{t-1}|x_{t}):=\mathcal{N}(x_{t-1};\mu_{\theta}(x_{t}, t), {\textstyle \sum_{\theta}(x_{t},t)})$

所以扩散模型就是通过学习,来估计$;\mu_{\theta}(x_{t}, t)$和${\textstyle \sum_{\theta}(x_{t},t)})$的过程。

 

和所有的生成式模型一样,DDPM就是求模型的最大对数似然。

 因为扩散过程的如下:

$P_{\theta}(x_{0})=\int_{x_{1}:x_{T}}p(x_{T})p_{\theta}(x_{T-1}|x_{T})...p_{\theta}(x_{t-1}|x_{t})...p_{\theta}(x_{0}|x_{1})dx_{1}:x_{T}$

因此,由Jensen不等式$f(E[X])\ge E[f(X)]$,可得:

$logP_{\theta}(x_{0})=log\int  p_{\theta}(x_{0:T})dx_{1:T}=log\int \frac{p_{\theta(x_{0:T})}q(x_{1:T}|x_{0})}{q(x_{1:T}|x_{0})}dx_{1:T}\ge \int q(x_{1:T}|x_{0})log\frac{p_{\theta}(x_{0:T})}{q(x_{1:T}|x_{0})}dx_{1:T}=E_{q(x_{1:T}|x_{0})}[log\frac{p_{\theta}(x_{0:T})}{q(x_{1:T}|x_{0})}]=E_{q(x_{1:T}|x_{0})}[logp(x_{T})+\sum_{t\ge1}log\frac{p_{\theta}(x_{t-1}|x_{t})}{q(x_{t}|x_{t-1})}]$

因此扩散模型就是最大化$logP_{\theta}(x_{0})$,即损失函数为最小化负对数似然,即:

$E_{q(x_{1:T}|x_{0})}[log\frac{q(x_{1:T}|x_{0})}{p_{\theta}(x_{0:T})}]$

 

DDPM的前向过程如下:

$x_{t}=\sqrt{1-_{\beta_{t}}}*x_{t-1}+\sqrt{\beta_{t}}*\varepsilon_{t-1}$     $0<\beta_{1}<\beta_{2}<...<\beta_{t-1}<\beta_{t}<1$。

 引入新变量$\alpha_{t}=1-\beta_{t}$

因此上面加噪的过程可以写成:

 $x_{t}=\sqrt{\alpha_{t}}*x_{t-1}  + \sqrt{1-\alpha_{t}}*\varepsilon_{t-1}$

$x_{t-1}=\sqrt{\alpha_{t-1}}*x_{t-2}  + \sqrt{1-\alpha_{t-1}}*\varepsilon_{t-2}$

合并上面两式,得:

 $x_{t}=\sqrt{\alpha_{t}\alpha_{t-1}}*x_{t-2}+\sqrt{\alpha_{t}(1-\alpha_{t-1})}*\varepsilon_{t-2}+\sqrt{1-\alpha_{t}}*\varepsilon_{t-1} $

 

 

重采样

一个高斯分布不可导,可以将其转换成标准高斯分布的格式:

$y=\sigma*\varepsilon+\mu \sim \mathcal{N}(\mu,\sigma^{2}) $ 

所以,这里$x_{t}$满足高斯分布,且

$x_{t} \sim \mathcal{N}(\sqrt{1-\beta_{t}}*x_{t-1},\beta_{t})$

标签:Diffusion,varepsilon,log,sqrt,DDPM,beta,theta,alpha,Model
From: https://www.cnblogs.com/xjlearningAI/p/18261612

相关文章

  • Michael M. Tiller《Modelica多领域物理系统建模入门与提高》Chapter 4学习笔记
    文章目录第四章组件重用4.1概述4.2公共代码开发4.2.1识别和定义公共代码4.2.2使用公共代码定义模型4.3构建可重用的块4.3.1建立控制器模型4.3.2传递信息4.3.3小结4.4允许替换的组件4.4.1通用控制器接口4.4.2特定控制器模型4.4.3使用可替换组件4.4.4小结......
  • Stable Diffusion部署教程,开启你的AI绘图之路
    本文环境系统:Ubuntu20.0464位内存:32G环境安装2.1安装GPU驱动在英伟达官网根据显卡型号、操作系统、CUDA等查询驱动版本。官网查询链接https://www.nvidia.com/Download/index.aspx?lang=en-us注意这里的CUDA版本,如未安装CUDA可以先选择一个版本,稍后再安装CUDA.点击S......
  • Qt 文件模型(QFileSystemModel)详细介绍
    一.定义Qt提供了QFileSystemModel类,用于在Qt应用程序中展示文件系统的数据。QFileSystemModel类是QAbstractItemModel的子类,可以方便地将文件系统的文件和文件夹结构作为数据模型,供Qt的视图类(比如QTreeView、QListView等)使用。二.功能设置根路径:使用setRootPath()方法设置......
  • Stable Diffusion一键安装教程含大量关键词模型包
    目前主流AI绘画平台主要有三种:MidjourneyStableDiffusionDALL·E相比较而言StableDiffusion。可以本地化不需要money不占用网络StableDiffusion下载地址想要Stablediffusion安装包的小伙伴可以在文末扫码,我给大家免费安排!1,电脑配置由于是将StableDiffusio......
  • 想学会用Stable Diffusion画装修图?看这一篇就够了!
    很多室内设计师想用当下热门的AI绘图神器—StableDiffusion,来提升设计效率和创意,但却不知道怎么使用。今天给大家准备了一篇干货级的分享。从StableDiffusion的本地部署、操作页面以及插件使用,再到最后的实操案例,一步一步教大家学会使用StableDiffusion!记得点赞收藏~1......
  • 2024最新超强AI绘画Stable Diffusion整合包安装教程,零基础入门必备!
    大家好,我是设计师阿威2024年绘画圈最火的软件,那妥妥的就StableDiffutionV4升级版无需安装,直接解压就能用(在此要感谢秋葉aaaki大佬的分享!)比之前版本的更加智能、高效和易操作。V4加强版小白也能轻易上手!「无套路!文末提供下载方式」1.软件背景信息▍StableDiffusi......
  • 【论文翻译】DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in C
    本翻译来自大模型翻译,如有不对的地方,敬请谅解引言开源社区通过开发诸如StarCoder(Li等人,2023b;Lozhkov等人,2024)、CodeLlama(Roziere等人,2023)、DeepSeek-Coder(Guo等人,2024)和Codestral(MistralAI,2024)等开源代码模型,在推进代码智能方面取得了显著进展。这些模型的性能已稳步接近......
  • Stable Diffusion【应用篇】【艺术写真】:一个让影楼倒闭的SD插件,使用InstantID插件一
    大家好,我是AIGC阿道夫。最近收到不少网友关于AI写真方面的留言,希望能写一些关于AI写真方面的文章。个人关注AI写真有一段时间了,网上也看到了不少写的文章教程和案例,作为一个AI绘画的狂热爱好者,自然也少不了去操作实践一下,关于AI写真,后面我会作为专题来写一系列的文章,把自己......
  • 养猪大户必备!教你用ModelBox开发一个AI数猪应用
    本文分享自华为云社区《ModelBox-视频应用开发:AI智能数猪【玩转华为云】》,作者:阳光大猫。一、准备环境ModelBox端云协同AI开发套件(Windows)环境准备【ModelArts+ModelBox端云协同AI应用开发实训课程】二、应用开发1.创建工程在ModelBox sdk目录下使用create.bat创建yolov7......
  • Windows下 Modelsim10.7下载安装及破解
    下载链接: 【免费】EDA工具,modelsim资源-CSDN文库https://download.csdn.net/download/mojixin123/89452381?spm=1001.2014.3001.5501安装及破解步骤:1、解压后打开安装包,点击exe文件右键以管理员身份运行2、出现以下界面点击下一步 3、选择安装路径,尽量不要放在c盘,然后......