DDPM和EulerScheduler

在DDPM中有
q ( x t ∣ x 0 ) = N ( x t ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) q(\pmb{x}_t|\pmb{x}_0)=\mathcal{N}(\pmb{x}_t;\sqrt{\bar{\alpha}_t}\pmb{x}_0,(1-\bar{\alpha}_t){\mathbf{I}}) q(xtx0)=N(xt;αˉt x0,(1αˉt)I)一般的perturbation kernel有下面的形式
N ( x t ; s ( t ) x 0 , s ( t ) 2 σ ( t ) 2 I ) \mathcal{N}(\pmb{x}_t;s(t)\pmb{x}_0,s(t)^2\sigma(t)^2{\mathbf{I}}) N(xt;s(t)x0,s(t)2σ(t)2I)对应DDPM有
s ( t ) = α ˉ t σ ( t ) = 1 − α ˉ t α ˉ t s(t) = \sqrt{\bar{\alpha}_t} \\ \sigma(t) = \sqrt{\frac{1-\bar{\alpha}_t}{\bar{\alpha}_t}} s(t)=αˉt σ(t)=αˉt1αˉt

x ^ \hat{\pmb{x}} x^为non-scaled变量,即 x = s ( t ) x ^ \pmb{x} = s(t)\hat{\pmb{x}} x=s(t)x^,对于DDIM有下面的ODE:
d x ^ = ϵ θ ( t ) ( x ^ σ ( t ) 2 + 1 ) d σ ( t ) d\hat{\pmb{x}} = \epsilon_\theta^{(t)}(\frac{\hat{\pmb{x}}}{\sqrt{\sigma(t)^2+1}}) d\sigma(t) dx^=ϵθ(t)(σ(t)2+1 x^)dσ(t)EDM论文的C.3.1证明上面的公式等于论文中 σ ( t ) = t \sigma(t)=t σ(t)=t s ( t ) = 1 s(t)=1 s(t)=1的形式。
如果是用Euler算法求解DDPM,就是解上面的ODE,要注意做scale。送入 ϵ θ ( t ) \epsilon_\theta^{(t)} ϵθ(t)部分保证是原始训练的量级,其他部分是non-scaled的。
首先是把 σ \sigma σ t t t对应,所以t变成了实数,不再是计数count。

### 深度扩散模型(DDPM)、偏微分方程(PDE)常微分方程(ODE)的区别 #### 定义与基本原理 深度扩散模型(Deep Diffusion Probabilistic Models, DDPM)是一种基于概率框架下的生成模型,通过一系列逐步添加噪声的过程来学习数据分布,并能够逆向这个过程以生成新的样本。这一过程可以通过随机微分方程(SDEs)描述,在某些条件下可转换为常微分方程(ODEs),这表明两者之间存在理论上的联系[^1]。 偏微分方程(Partial Differential Equations, PDEs)涉及多个自变量及其导数的关系表达式,通常用来刻画物理现象随时间空间的变化规律。这类方程广泛应用于流体力学、热传导等领域,解决实际工程技术难题。 常微分方程(Ordinary Differential Equations, ODEs)则只含有单一独立变量的函数与其各阶导数间关系式的数学表述形式。它们适用于描述仅依赖于单参数变化的情况,比如物体运动轨迹预测等问题。 #### 应用场景对比 - **DDPM的应用** - 主要集中在图像处理领域,如超分辨率重建、去噪等任务上表现出色; - 可用于自然语言处理中的文本生成等方面; - **PDE的应用** - 广泛存在于物理学、化学等多个自然科学分支内,特别是在连续介质力学方面有着不可替代的作用; - 对复杂系统的建模至关重要,例如天气预报系统中大气流动模拟等; - **ODE的应用** - 常见于生物科学里的种群动态研究或是机械振动分析等场合; - 计算机图形学里也经常利用ODE来进行动画效果的设计实现; 综上所述,虽然DDPM可以在特定情况下简化成类似于ODE的形式进行理解操作,但是其本质仍然是一个复杂的机器学习架构而非传统意义上的数值计算工具。而PDEODE更多地作为经典数学概念被运用于不同学科的具体问题求解之中。 ```python import numpy as np from scipy.integrate import odeint def model(y,t,k): dydt = -k * y return dydt y0 = 5 t = np.linspace(0,20,100) k = 0.3 sol = odeint(model,y0,t,args=(k,)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值