当前位置: 首页 > news >正文

论文阅读笔记:Generative Modeling by Estimating Gradients of the Data Distribution

1、参考来源

论文《Generative Modeling by Estimating Gradients of the Data Distribution》
来源:NeurIPS 2019
论文链接:https://arxiv.org/abs/1907.05600
参考链接:
【AI知识分享】真正搞懂扩散模型Score Matching一定要理解的三大核心问题

2、布朗运动

布朗运动是描述花粉微粒在水中的运动情况的。可以看出,花粉微粒在水中的受力情况如下所示。因此根据牛顿第二定律,
F = m a m ⋅ d v t d t = F 合力 = F 摩擦力 + F 碰撞力 = − γ ⋅ v t + η \begin{equation} \begin{split} F&=ma\\ m\cdot\frac{dv_t}{dt}&= F_{合力}\\ &=F_{摩擦力}+F_{碰撞力}\\ &=-\gamma\cdot v_t+\eta \end{split} \end{equation} Fmdtdvt=ma=F合力=F摩擦力+F碰撞力=γvt+η
其中, γ \gamma γ是摩擦力因子。 η \eta η是碰撞力,也是一个随机的力,满足高斯分布, η ∼ N ( 0 , σ 2 ) \eta \sim N(0,\sigma^2) ηN(0,σ2)
请添加图片描述

花粉微粒包含的总能量 E ω E_{\omega} Eω包含动能 E E E和势能 U U U。在合力的作用下,动能和势能相互转化,且总能量保持不变。动能定理,可以得到
F 合力 ⋅ Δ x = Δ E ⇕ F 合力 = Δ E Δ x = Δ E ω − Δ U Δ x = − Δ U Δ x \begin{equation} \begin{split} F_{合力}\cdot \Delta x&=\Delta E\\ &\Updownarrow\\ F_{合力}&=\frac{\Delta E}{\Delta x}\\ &=\frac{\Delta E_{\omega}-\Delta U}{\Delta x}\\ &=\frac{-\Delta U}{\Delta x} \end{split} \end{equation} F合力ΔxF合力=ΔE=ΔxΔE=ΔxΔEωΔU=ΔxΔU

其中, x x x为位移。由于花粉微粒的总能力 E ω E_{\omega} Eω保持不变,因此 Δ E ω Δ x = 0 \frac{\Delta E_{\omega}}{\Delta x}=0 ΔxΔEω=0
另一方面,花粉微粒在水中的分布,服从波尔兹曼分布。
P ( x ) = e − U ( x ) z \begin{equation} \begin{split} P(x)=\frac{e^{-U(x)}}{z} \end{split} \end{equation} P(x)=zeU(x)
其中 U ( x ) U(x) U(x)表示在位置 x x x处的花粉微粒所具有的势能。 z z z 是一个归一化因子。也就是说,具有势能越大的花粉,其对应的概率密度越小。波尔兹曼分布是描述粒子的热运动的。玻尔兹曼分布体现了系统的稳定性倾向。系统中的粒子总是趋向于占据能量较低的状态,因为低能量状态更稳定。但由于热运动的存在,粒子也有一定的概率处于较高能量的状态,不过这种概率会随着能量的升高而迅速减小。探秘玻尔兹曼分布:解锁微观粒子能量分布的神奇密码

对公式(3)的两边分别取对数且求导
∇ x l o g ( P ( x ) ) = ∇ x l o g e − U ( x ) z = ∇ x − U ( x ) = F 合力 = − γ ⋅ v t + η = − γ ⋅ d x d t + η ⇕ d x = − d t γ ∇ x l o g ( P ( x ) ) + η γ ⋅ d t ⇕ x t + Δ t = x t − Δ t γ ∇ x l o g ( P ( x ) ) + Δ t γ ⋅ η = x t − Δ t γ ∇ x l o g ( P ( x ) ) + Δ t γ ⋅ σ ⋅ z \begin{equation} \begin{split} \nabla_x log\big(P(x)\big)&=\nabla_x log \frac{e^{-U(x)}}{z} \\ &=\nabla_x-U(x) \\ &=F_{合力} \\ &=-\gamma\cdot v_t+\eta\\ &=-\gamma\cdot \frac{dx}{dt}+\eta \\ &\Updownarrow \\ dx&=-\frac{dt}{\gamma}\nabla_x log\big(P(x)\big) + \frac{\eta}{\gamma} \cdot dt \\ &\Updownarrow \\ x_{t+\Delta t}&=x_{t}-\frac{\Delta t}{\gamma}\nabla_x log\big(P(x)\big) + \frac{\Delta t}{\gamma} \cdot \eta\\ &=x_{t}-\frac{\Delta t}{\gamma}\nabla_x log\big(P(x)\big) + \frac{\Delta t}{\gamma} \cdot \sigma \cdot z\\ \end{split} \end{equation} xlog(P(x))dxxt+Δt=xlogzeU(x)=xU(x)=F合力=γvt+η=γdtdx+η=γdtxlog(P(x))+γηdt=xtγΔtxlog(P(x))+γΔtη=xtγΔtxlog(P(x))+γΔtσz
其中, z ∼ N ( 0 , 1 ) z\sim N(0,1) zN(0,1)。如果分别令 Δ t γ = ϵ 2 \frac{\Delta t}{\gamma}=\frac{\epsilon}{2} γΔt=2ϵ Δ t γ ⋅ σ = ϵ \frac{\Delta t}{\gamma} \cdot \sigma=\sqrt{\epsilon} γΔtσ=ϵ 。公式(4)则变为
x t + Δ t = x t − ϵ 2 ∇ x l o g ( P ( x ) ) + ϵ ⋅ z \begin{equation} \begin{split} x_{t+\Delta t}=x_{t}-\frac{\epsilon}{2}\nabla_x log\big(P(x)\big) + \sqrt{\epsilon} \cdot z\\ \end{split} \end{equation} xt+Δt=xt2ϵxlog(P(x))+ϵ z
对于下图中的概率分布来说,对于在 x 0 x_0 x0处的花粉微粒来说,其对应的斜率是负数,对应于公式(4)中的 ∇ x l o g ( P ( x ) ) \nabla_x log\big(P(x)\big) xlog(P(x))是负数。因此,相对于 x t x_{t} xt x t + Δ t x_{t+\Delta t} xt+Δt大概率会增大,因为是存在一个随机高斯分布 η \eta η;对于在 x 1 x_1 x1处的花粉微粒来说,其对应的斜率是正数,对应于公式(4)中的 ∇ x l o g ( P ( x ) ) \nabla_x log\big(P(x)\big) xlog(P(x))是正数。因此,相对于 x t x_{t} xt x t + Δ t x_{t+\Delta t} xt+Δt大概率会减小。综上所述,花粉微粒大概率会朝向密度低的位置移动。这是符合墨水滴入水中的运动常识的。
请添加图片描述
论文《Generative Modeling by Estimating Gradients of the Data Distribution》中的公式如公式(6)所示。可以看出,论文中的公式(6)是花粉扩散过程的逆过程
x t + Δ t = x t + ϵ 2 ∇ x l o g ( P ( x ) ) + ϵ ⋅ z \begin{equation} \begin{split} x_{t+\Delta t}=x_{t}+\frac{\epsilon}{2}\nabla_x log\big(P(x)\big) + \sqrt{\epsilon} \cdot z\\ \end{split} \end{equation} xt+Δt=xt+2ϵxlog(P(x))+ϵ z

相关文章:

  • 云钥科技柔性上料振动蜘蛛手工作原理及应用范围详细介绍
  • 盈达科技GEO技术体系全景解密:AIM³ Pro × AICC × GEO-BENCH Pro构建全球认知堡垒​
  • 计算机网络 应用层
  • spring boot -- 配置文件application.properties 换成 application.yml
  • Spring Boot 实现防盗链
  • 智能语音处理+1.4语音合成之输出英文音频文件(100%教会)
  • 华为HCIE-openEuler认证:能否成为国产操作系统领域的技术稀缺人才?
  • MySQL数据库表查询
  • mitmproxy 一款强大的 HTTP(S) 拦截与调试工具
  • openGauss DataVec + Dify,快速搭建你的智能助手平台
  • SpringBoot企业级开发之【用户模块-更新用户密码】
  • 顺序表(Arraylist)和链表(Linkedlist)
  • YOLOv3的改进思路与方法:解析技术难点与创新突破
  • 编写一个写字楼类似抖音剪映的管理系统Demo
  • 系统思考:战略顾问视角下的定价
  • 《协议栈的骨架:从Web请求到比特流——详解四层架构的可靠传输与流量控制》
  • Deno 统一 Node 和 npm,既是 JS 运行时,又是包管理器
  • MCP的stdio和SSE通信方式使用案例
  • JBOSS反序列化漏洞解析与防范策略CVE-2017-12149
  • socket 客户端和服务器通信
  • 网站建设优化兼职在家/关键词推广效果分析
  • 建设工程质量+协会网站/互联网项目推广平台有哪些
  • 广告设计软件有哪些/seo查询软件
  • 做网站有哪个软件好/站内推广方式有哪些
  • 石家庄网站建设接单/爱战网关键词挖掘查询工具
  • 摄影网站建设需求分析/苏州百度推广排名优化