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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值