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

news2024/10/6 1:42:25

文章目录

    • 1、独立事件的条件概率
    • 2、贝叶斯公式、先验概率、后验概率、似然、证据
    • 3、马尔可夫链
    • 4、正态分布 / 高斯分布
    • 5、重参数化技巧
    • 6、期望
    • 7、KL散度 、高斯分布的KL散度
    • 8、极大似然估计
    • 9、ELBO :Evidence Lower Bound
    • 10、一元二次方程

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)

举例:

在这里插入图片描述

在这里插入图片描述
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、马尔可夫链

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

在这里插入图片描述

在这里插入图片描述

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、极大似然估计

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

在这里插入图片描述

-----------------------------------------------------------------------------------------------------------------------------
在这里插入图片描述

9、ELBO :Evidence Lower Bound

在这里插入图片描述

10、一元二次方程

在这里插入图片描述

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

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

相关文章

基于lora技术微调Gemma(2B)代码实践

一、前置条件 获得模型访问权,选择Colab运行时,配置训练环境。 先在Kaggle上注册,然后获得Gemma 2B 的访问权; 然后在Google colab 配置环境,主要是GPU的选择,免费的是T4,建议采用付费的A100…

【JVM基础】JVM入门,详讲JVM

组建团队中......加v备注进群个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏…

[蓝桥杯练习题]出差

一道DJ题,重要的是隔离时间,把隔离时间加在边权上即可 现实生活的题大多都是无向图建图,需要边的两端点各自上邻接表和相同权重 #include<bits/stdc.h> using namespace std; #define ll long long const int N1005; const int M10005; struct edge{int to;ll w;edge(int…

电商好评语整理与优化:让繁琐工作变得轻松高效

在电子商务领域&#xff0c;客户的好评是店铺信誉和产品质量的重要体现。然而&#xff0c;整理和优化这些好评语却是一项既繁琐又需要细致耐心的工作。本文将探讨如何高效地进行电商好评语的筛选、分类和优化&#xff0c;让这一工作变得更加轻松和高效。 一、明确整理目的 在开…

从零开始学RSA加密解密过程

因为文字太过晦涩难懂&#xff0c;下面以图示的方法来理解RSA加密解密的过程 以上过程中因为HACK无法得到p,q信息&#xff0c;也就是无法计算出d , 导致了无法解密 c 得到 m (n,e) 公钥 (d,n) 私钥 (p,q,n,e) 生成的加密必要信息 必要的公式 c ≡ me mod n ----------->…

单片机家电产品学习记录--IO推挽输出

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 单片机家电产品–IO推挽输出 前言 记录学习单片机家电产品内容 已转载记录为主 一、知识点 1 单片机IO口科普&#xff1a;推挽输出、开漏输出详解 推挽输出既可以输出低…

Android 性能优化之黑科技开道(一)

1. 缘起 在开发电视版智家 App9.0 项目的时候&#xff0c;发现了一个性能问题。电视系统原本剩余的可用资源就少&#xff0c;而随着 9.0 功能的进一步增多&#xff0c;特别是门铃、门锁、多路视频同屏监控后等功能的增加&#xff0c;开始出现了卡顿情况。 经过调研分析发现有…

OpenHarmony实战:Makefile方式组织编译的库移植

以yxml库为例&#xff0c;其移植过程如下文所示。 源码获取 从仓库获取yxml源码&#xff0c;其目录结构如下表&#xff1a; 表1 源码目录结构 名称描述yxml/bench/benchmark相关代码yxml/test/测试输入输出文件&#xff0c;及测试脚本yxml/Makefile编译组织文件yxml/.gitat…

C语言:文件操作(一)

目录 前言 1、为什么使用文件 2、什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3、文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 结&#xff08;一&#xff09; 前言 本篇文章将介绍C语言的文件操作&#xff0c;在后面的内容讲到&#xff1a;为什么使用文…

2024-04-03 NO.4 Quest3 手势追踪抓取物体

文章目录 1 手势抓取方式1.1 Hand Grab1.2 Touch Hand Grab1.3 Distance Hand Grab 2 HandGrabExamples 示例场景2.1 Interactor 对象2.2 Interactable 对象2.2.1 父子结构2.2.2 “Hand Grab lnteractable” 脚本2.2.3 “Move Towards Target Provider” 脚本2.2.4 其他 Moveme…

OpenHarmony实战:CMake方式组织编译的库移植

以double-conversion库为例&#xff0c;其移植过程如下文所示。 源码获取 从仓库获取double-conversion源码&#xff0c;其目录结构如下表&#xff1a; 表1 源码目录结构 名称描述double-conversion/cmake/CMake组织编译使用到的模板double-conversion/double-conversion/源…

浅谈分布式光伏电站的运维管理

摘要&#xff1a;随着近些年我国对节能降耗关注力度的持续加大&#xff0c;为满足人们不断增长的电能需求&#xff0c;光伏发电产业得到迅猛发展&#xff0c;其中分布式光伏发电的比重持续增长。在打赢脱贫攻坚战的大背景下&#xff0c;国家电网公司探索出一条“阳光扶贫”的扶…

第十三届蓝桥杯JavaA组省赛真题 - 青蛙过河

解题思路&#xff1a; 定义一个累和数组arr&#xff0c;我们可以比较arr[ i ]和arr[ l ]之间的差值看是否大于等于2倍的x&#xff0c;满足则证明这两点之间可以跳满所有实际过河次数&#xff0c;此时记录最大距离&#xff0c;并移动左边界 l import java.util.Scanner;public…

大数据时代下,如何利用信息化、数字化、数智化成为行业领先者

在大数据时代背景下&#xff0c;企业的竞争力提升离不开信息化、数字化和数智化的联动作用。首先&#xff0c;企业需通过信息化手段&#xff0c;将业务流程、管理方式等进行标准化和系统化&#xff0c;提高效率和减少错误。同时&#xff0c;借助数字化技术如云计算、物联网等&a…

抖店体验分是什么?怎么快速提升体验分?今天一篇带你搞懂!

大家好&#xff0c;我是电商小布。 经营小店的小伙伴应该都有发现&#xff0c;当自己的店铺成功出够30单之后&#xff0c;小店就会出现体验分这个东西。 简单来说&#xff0c;这个就相当于是对我们店铺的一个综合评价&#xff0c;包括有商品、物流、服务三个方面。 这个分数…

前端作业之完成学校官方网页的制作

&#xff08;未使用框架&#xff0c;纯html和css制作&#xff09; 注&#xff1a;由本人技术限制&#xff0c;代码复用性极差 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>xxx大学</tit…

java框架学习——注解/元注解概述及使用案例

前言&#xff1a; 整理下学习笔记&#xff0c;打好基础&#xff0c;daydayup!!! 注解 注解&#xff08;Annotation&#xff09;是java代码里的特殊标记。作用为&#xff1a;让其他程序根据注解信息来决定怎么执行该程序&#xff0c;如&#xff1a;Override,Test等。同时可以根…

换到idf 5.0版本后报错 jsmn could not be found

原因&#xff1a; idf5.0去掉了部分组件&#xff0c;包括jsmn&#xff0c;工程中adf又用到了这个组件&#xff0c;所以会报错。 解决办法&#xff1a; 升级adf到新版本即可。

从C到C++过渡知识 中(为什么C++支持函数重载,而C不支持函数重载)

感谢大家的阅读&#xff0c;这篇文章我们接着了解C对于C的一些优化。 函数重载 了解C这个特殊用法之前&#xff0c;我们先考虑一个问题&#xff0c;如何交换两个整数。相信大家一定信手捏来&#xff0c;实参传地址而非变量&#xff0c;于是可以写出如下函数。 void Swap(int*…

无极低码:免费版部署操作指南

无极低码 :https://wheart.cn 无极低码:免费试用版部署过程参照: 无极低码部署版操作指南 https://wheart.cn/so/home?m=index&id=ad614930-d936-11ee-8489-525400be6368 ” 。 下载完解压成后进行部署