Stable Diffusion扩散模型推导公式的基础知识

这篇具有很好参考价值的文章主要介绍了Stable Diffusion扩散模型推导公式的基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、独立事件的条件概率

A 和 B 是两个独立事件:
⇒ \Rightarrow P ( A ∣ B ) = P ( A ) P(A|B)=P(A) P(AB)=P(A) P ( B ∣ A ) = P ( B ) P(B|A)=P(B) P(BA)=P(B)
⇒ \Rightarrow P ( A , B ∣ C ) = P ( A ∣ C ) P ( B ∣ C ) P(A,B|C)=P(A|C)P(B|C) P(A,BC)=P(AC)P(BC)

2、贝叶斯公式、先验概率、后验概率、似然、证据

贝叶斯公式:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

  • 先验概率(prior):P(A)
  • 后验概率(posterior):P(A|B)
  • 似然 (likelihood):P(B|A)
  • 证据(evidence):P(B)

举例:

stabeldiffusion数学推导,深度学习,stable diffusion,深度学习

stabeldiffusion数学推导,深度学习,stable diffusion,深度学习
P ( x t − 1 ∣ x t ) = P ( x t ∣ x t − 1 ) P ( x t − 1 ) P ( x t ) P(x_{t-1}|x_t)=\frac{P(x_t|x_{t-1})P(x_{t-1})}{P(x_t)} P(xt1xt)=P(xt)P(xtxt1)P(xt1)

3、马尔可夫链

马尔可夫链:下一状态的概率分布仅取决于当前状态,与过去的状态无关

stabeldiffusion数学推导,深度学习,stable diffusion,深度学习

stabeldiffusion数学推导,深度学习,stable diffusion,深度学习

P ( x t ∣ x t − 1 , x t − 2 . . . x 1 x 0 ) = P ( x t ∣ x t − 1 ) P(x_t|x_{t-1},x_{t-2}...x_1x_0)=P(x_t|x_{t-1}) P(xtxt1,xt2...x1x0)=P(xtxt1)

正向扩散过程: q ( x 0 : x T ) = q ( x 0 ) q ( x 1 ∣ x 0 ) q ( x 2 ∣ x 1 ) . . . q ( x T − 1 ∣ x T − 2 ) q ( x T ∣ x T − 1 ) q(x_0:x_T)=q(x_0)q(x_1|x_0)q(x_2|x_1)...q(x_{T-1}|x_{T-2})q(x_T|x_{T-1}) q(x0:xT)=q(x0)q(x1x0)q(x2x1)...q(xT1xT2)q(xTxT1)

逆向扩散过程: p ( x 0 : x T ) = p ( x T ) p ( x T − 1 ∣ x T ) p ( x T − 2 ∣ x T − 1 ) . . . p ( x 1 ∣ x 2 ) p ( x 0 ∣ x 1 ) p(x_0:x_T)=p(x_T)p(x_{T-1}|x_T)p(x_{T-2}|x_{T-1})...p(x_1|x_2)p(x_0|x_1) p(x0:xT)=p(xT)p(xT1xT)p(xT2xT1)...p(x1x2)p(x0x1)

4、正态分布 / 高斯分布

f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=2π σ1e2σ2(xμ)2

x ∼ N ( μ , σ 2 ) x\sim \mathcal{N}(\mu,\sigma^2) xN(μ,σ2)

高斯分布的性质:
A、如果 X ∼ N ( μ , σ 2 ) X\sim \mathcal{N}(\mu,\sigma^2) XN(μ,σ2),那么 a X + B ∼ N ( a μ + b , a 2 σ 2 ) aX+B\sim \mathcal{N}(a\mu+b,a^2\sigma^2) aX+BN(aμ+b,a2σ2)
B、两个正态分布相加,其结果也是正态分布:
X ∼ N ( μ 1 , σ 1 2 ) X\sim \mathcal{N}(\mu_1,\sigma_1^2) XN(μ1,σ12) Y ∼ N ( μ 2 , σ 2 2 ) Y\sim \mathcal{N}(\mu_2,\sigma_2^2) YN(μ2,σ22),则 X + Y ∼ N ( μ 1 + μ 2 , σ 1 2 + σ 2 2 ) X+Y\sim\mathcal{N}(\mu_1+\mu_2,\sigma_1^2+\sigma_2^2) X+YN(μ1+μ2,σ12+σ22)

5、重参数化技巧

对于高斯分布: X ∼ N ( μ , σ 2 ) X\sim \mathcal{N}(\mu,\sigma^2) XN(μ,σ2),采样这个操作本身是不可导的,也就无法通过BP来对参数进行优化。但是我们可以通过重参数化技巧,将简单分布的采样结果变换到特定分布中,如此一来则可以对参数进行求导,
具体操作:
A、引入服从标准正态分布的随机变量: z ∼ N ( 0 , 1 ) z\sim\mathcal{N}(0,1) zN(0,1)
B、令 x = μ + σ z x=\mu+\sigma z x=μ+σz,这样就满足 X ∼ N ( μ , σ 2 ) X\sim\mathcal{N}(\mu,\sigma^2) XN(μ,σ2)

6、期望

期望是指随机变量取值的平均值,用来刻画随机变量的集中位置,

(1)离散型随机变量
离散型随机变量X的取值为 x 1 , x 2 , x 3 , . . . . . . . , x n x_1,x_2,x_3,.......,x_n x1,x2,x3,.......,xn,对应的概率为 p 1 , p 2 , p 3 , . . . . . . , p n p_1,p_2,p_3,......,p_n p1,p2,p3,......,pn
则X的期望为: E ( X ) = ∑ i = 1 n x i p i E(X)=\sum_{i=1}^{n}x_ip_i E(X)=i=1nxipi
------------------------------------------------------------------------------------------------

若离散变量 Y Y Y符合函数 Y = g ( X ) Y= g(X) Y=g(X) g ( X ) g(X) g(X)是连续函数,且 ∑ i = 1 n g ( x i ) p i \sum_{i=1}^n g(x_i)p_i i=1ng(xi)pi绝对收敛,
则离散变量 Y Y Y的期望为: E ( X ) = ∑ i = 1 n g ( x i ) p i E(X)=\sum_{i=1}^n g(x_i)p_i E(X)=i=1ng(xi)pi

(2)连续型随机变量
连续型随机变量 X X X的概率密度函数为 f ( x ) f(x) f(x)
X X X的期望为: E ( X ) = ∫ − ∞ ∞ x f ( x ) d x E(X)=\int_{-\infty}^\infty xf(x){\rm d}x E(X)=xf(x)dx
若随机变量 Y Y Y符合函数 Y = g ( x ) Y = g(x) Y=g(x),且 ∫ − ∞ ∞ g ( x ) f ( x ) d x \int_{-\infty}^\infty g(x)f(x){\rm d}x g(x)f(x)dx绝对收敛,
则随机变量 Y Y Y的期望为: E ( Y ) = ∫ − ∞ ∞ g ( x ) f ( x ) d x E(Y)=\int_{-\infty}^\infty g(x)f(x){\rm d}x E(Y)=g(x)f(x)dx

注意: 对于连续型随机变量,期望就是积分,满足条件的积分也可以写成期望的形式。这在之后的 公式推导过程中,我们会使用到期望与积分写法的转换,

7、KL散度 、高斯分布的KL散度

KL散度的作用: 用于衡量2个概率分布(分布 p p p和分布 q q q)之间的差异,
D K L ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) = ∫ x p ( x ) l o g p ( x ) q ( x ) d x = E x ∼ p ( x ) [ l o g p ( x ) q ( x ) ] D_{KL}(p||q)=H(p,q)-H(p)=\int_x p(x)log\frac{p(x)}{q(x)}dx=E_{x\sim p(x)}[log\frac{p(x)}{q(x)}] DKL(p∣∣q)=H(p,q)H(p)=xp(x)logq(x)p(x)dx=Exp(x)[logq(x)p(x)]

其中:
H ( p , q ) H(p, q) H(p,q)表示分布 p p p和分布 q q q的交叉熵, H ( p ) H(p) H(p)表示分布 p p p的熵,

KL散度的重要性质:

  • D K L ( p ∣ ∣ q ) ≥ 0 D_{KL}(p||q)\ge0 DKL(p∣∣q)0
  • 当分布 p p p与分布 q q q完全一样时, D K L ( p ∣ ∣ q ) = 0 D_{KL}(p||q)=0 DKL(p∣∣q)=0
  • 对于相同的分布 p p p和分布 q q q,这里所说的相同的分布是 D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q) D K L ( q ∣ ∣ p ) D_{KL}(q||p) DKL(q∣∣p)中的2个 p p p和2个 q q q是一样的, D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q) D K L ( q ∣ ∣ p ) D_{KL}(q||p) DKL(q∣∣p)计算所得到的值不一样,
    对于 D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q),我们一般认为 p ( x ) p(x) p(x)是真实分布, q ( x ) q(x) q(x)是预测分布, D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q)
    求预测分布 q ( x ) q(x) q(x)与真实分布 p ( x ) p(x) p(x)之间的差距,

高斯分布的KL散度:
p ( x ) = N ( μ 1 , σ 1 ) = 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 p(x)=\mathcal{N}(\mu_1,\sigma_1)=\frac{1}{\sqrt{2\pi}\sigma_1}e^-\frac{(x-\mu_1)^2}{2\sigma_1^2} p(x)=N(μ1,σ1)=2π σ11e2σ12(xμ1)2
q ( x ) = N ( μ 2 , σ 2 ) = 1 2 π σ 2 e − ( x − μ 2 ) 2 2 σ 1 2 q(x)=\mathcal{N}(\mu_2,\sigma_2)=\frac{1}{\sqrt{2\pi}\sigma_2}e^-\frac{(x-\mu_2)^2}{2\sigma_1^2} q(x)=N(μ2,σ2)=2π σ21e2σ12(xμ2)2
K L ( N ( x ∣ μ 1 , ∑ 1 ) ∣ ∣ N ( x ∣ μ 2 , ∑ 2 ) ) = 1 2 [ l o g ∑ 2 ∑ 1 − K + t r ( ∑ 2 − 1 ∑ 1 ) + ( μ 1 − μ 2 ) T ∑ 2 − 1 ( μ 1 − μ 2 ) ] {\rm KL}(\mathcal{N}({\rm x}|\mu_1,\sum_1)||\mathcal{N}({\rm x}|\mu_2,\sum_2))=\frac{1}{2}\big[ log\frac{\sum_2}{\sum_1}-K+tr(\sum_2^{-1}\sum_1)+(\mu_1-\mu_2)^T\sum_2^{-1}(\mu_1-\mu_2)\big] KL(N(xμ1,1)∣∣N(xμ2,2))=21[log12K+tr(211)+(μ1μ2)T21(μ1μ2)]
D K L ( p , q ) = l o g σ 2 σ 1 − 1 2 + σ 1 2 + ( μ 1 − μ 2 ) 2 2 σ 2 2 D_{KL}(p,q)=log\frac{\sigma_2}{\sigma_1}-\frac{1}{2}+\frac{\sigma_1^2+(\mu_1-\mu_2)^2}{2\sigma_2^2} DKL(p,q)=logσ1σ221+2σ22σ12+(μ1μ2)2

推导过程: https://blog.csdn.net/hegsns/article/details/104857277

8、极大似然估计

概括描述:已知抽取的样本,求概率分布的参数

stabeldiffusion数学推导,深度学习,stable diffusion,深度学习

-----------------------------------------------------------------------------------------------------------------------------
stabeldiffusion数学推导,深度学习,stable diffusion,深度学习

9、ELBO :Evidence Lower Bound

stabeldiffusion数学推导,深度学习,stable diffusion,深度学习

10、一元二次方程

stabeldiffusion数学推导,深度学习,stable diffusion,深度学习文章来源地址https://www.toymoban.com/news/detail-846056.html

到了这里,关于Stable Diffusion扩散模型推导公式的基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 扩散模型DDPM开源代码的剖析【对应公式与作者给的开源项目,diffusion model】

    论文地址:https://proceedings.neurips.cc/paper/2020/hash/4c5bcfec8584af0d967f1ab10179ca4b-Abstract.html 项目地址:

    2023年04月08日
    浏览(18)
  • Stable Diffusion扩散模型 + Consistency一致性模型

    通过估计数据分布梯度进行生成建模 一文解释 Diffusion Model (一) DDPM 理论推导 随着人工智能在图像生成,文本生成以及多模态生成等 生成领域 的技术不断累积,生成对抗网络(GAN)、变微分自动编码器(VAE)、normalizing flow models、自回归模型(AR)、energy-based models以及近年来

    2024年02月09日
    浏览(47)
  • Stable Diffusion生成式扩散模型代码实现原理

    Stable Diffusion可以使用PyTorch或TensorFlow等深度学习框架来实现。这些框架提供了一系列的工具和函数,使得开发者可以更方便地构建、训练和部署深度学习模型。因此可以使用PyTorch或TensorFlow来实现Stable Diffusion模型。 安装PyTorch:确保您已经安装了PyTorch,并具备基本的PyTorch使用

    2024年03月13日
    浏览(25)
  • 【扩散模型】12、Stable Diffusion | 使用 Diffusers 库来看看 Stable Diffusion 的结构

    参考:HuggingFace 参考:https://jalammar.github.io/illustrated-stable-diffusion/ Stable Diffusion 这个模型架构是由 Stability AI 公司推于2022年8月由 CompVis、Stability AI 和 LAION 的研究人员在 Latent Diffusion Model 的基础上创建并推出的。 其原型是(Latent Diffusion Model),一般的扩散模型都需要直接在像

    2024年01月18日
    浏览(33)
  • 【扩散模型】11、Stable Diffusion | 使用 Diffusers 库来看看 Stable Diffusion 的结构

    参考:HuggingFace 参考:https://jalammar.github.io/illustrated-stable-diffusion/ Stable Diffusion 这个模型架构是由 Stability AI 公司推于2022年8月由 CompVis、Stability AI 和 LAION 的研究人员在 Latent Diffusion Model 的基础上创建并推出的。 其原型是(Latent Diffusion Model),一般的扩散模型都需要直接在像

    2024年01月16日
    浏览(24)
  • 扩散模型实战(十):Stable Diffusion文本条件生成图像大模型

     扩散模型实战(一):基本原理介绍 扩散模型实战(二):扩散模型的发展 扩散模型实战(三):扩散模型的应用 扩散模型实战(四):从零构建扩散模型 扩散模型实战(五):采样过程 扩散模型实战(六):Diffusers DDPM初探 扩散模型实战(七):Diffusers蝴蝶图像生成实

    2024年02月03日
    浏览(31)
  • 文字转图片生成系统-Stable diffusion稳定扩散模型

    二话不说先上效果图:(附带代码和模型资源文件)  让它画一个超级汽车在海边。。  近期百度推出了文言一心, 一个能回答问题,能根据文字描述绘制图片的服务,前期可能不太完善出现了一些失误,不过这个idea还是相当不错的   这个东西挺好哈,作为文学创作,生成

    2024年02月09日
    浏览(27)
  • AI绘画Stable Diffusion原理之扩散模型DDPM

    传送门: stable diffusion:Git|论文 stable-diffusion-webui:Git Google Colab Notebook部署stable-diffusion-webui:Git kaggle Notebook部署stable-diffusion-webui:Git AI绘画,输入一段文本就能生成相关的图像,stable diffusion便是其中一个重要分支。自己对其中的原理比较感兴趣,因此开启这个系列的文章

    2024年02月03日
    浏览(24)
  • 【扩散模型】万字长文全面理解与应用Stable Diffusion

    Stable Diffusion是一个强大的文本条件隐式扩散模型(text-conditioned latent diffusion model),它具有根据文字描述生成精美图片的能力。它不仅是一个完全开源的模型(代码,数据,模型全部开源),而且是它的参数量只有 1B 左右,大部分人可以在普通的显卡上进行推理甚至精调模

    2024年01月22日
    浏览(70)
  • Diffusion扩散模型学习2——Stable Diffusion结构解析-以文本生成图像为例

    用了很久的Stable Diffusion,但从来没有好好解析过它内部的结构,写个博客记录一下,嘿嘿。 https://github.com/bubbliiiing/stable-diffusion 喜欢的可以点个star噢。 Stable Diffusion是比较新的一个扩散模型,翻译过来是稳定扩散,虽然名字叫稳定扩散,但实际上换个seed生成的结果就完全不

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包