大家好,欢迎来到IT知识分享网。
1 常微分方程(ODE)
1)假设给定一个由递归定义的迭代的离散时间算法:
中,β为某个超参和∆t为步长大小参数。迭代并不复杂:给出xi−1,通过更新得到xi。
如果通过令xi = x( i/N ),∆t = 1/N 以及 t ∈{0, 1/N ,. . . , N−1/N }得到连续时间函数x(t)的离散形式,那就可以将迭代重写为:
整理各项可得
在∆t → 0取极限,可以将离散方程写成一个常微分方程(ODE)
不仅如此,还可以求解ODE的解析解是
2)ODE提供了一个解析解。解析解并不依赖于递归(有可能需要成百上千的迭代次数), 而是精确地告诉我们解在任意时刻t的形式。 下图展示了由上述算法定义的解x1, x2,. . . , xi,. . . , xN的轨迹。在这里,选择∆t =0.1。在同一张图中,我们直接画出任意t的连续时间解x(t)= exp{−βt/2}。可以看出,解析解与递归预测的轨迹完全重合。
• 离散的递归形式可以写成连续的常微分方程。实际上,对于任何有限差分方程,都可以将递归转化成一个ODE。
• 对于简单的常微分方程可以写出确定形式的解析解。复杂的ODE很难写出解析解。但是仍然可以使用ODE工具来分析解,还可以推导出t → 0时的极限解。
3)一个(一般的)卷积函数f的梯度下降算法应当满足下述递归。对=i =1, 2,. . . , N,
其中,βi为步长大小参数,令β(t)= β),得到递归可以被等价写成
在令∆t → 0和∆x → 0后连续方程被确定。这个方程的有意思的地方在于,通过写成dt的形式,得到了一个更新∆x的总结。也就是说,如果沿时间轴移动dt,那么x的解就会随dx更新。
如果考虑一个迭代序列i =1, 2,. . . , N,且迭代过程,那么就可以得到:
其称为前向方程,因为在t ← t +∆t前提下,我们通过x +∆x来更新x。
现在,考虑迭代序列i = N, N − 1,. . . , 2, 1,那么反向的时间迭代就是
注意在反向迭代过程时符号的变化,称这个方程为反向方程.
2、SDE的前向和反向迭代
用于扩散模型的微分方程的概念范围远不止上述的梯度下降算法。如果把噪声项zt ∼N(0, I)引入到梯度下降算法,那么ODE就会变成一个随机微分方程(SDE)。同样使用下述的离散化方案,通过定义x(t)为0 ≤ t ≤ 1上的连续函数。假设区间内有N个步长,则区间[0, 1]就可以被划分为序列{ i/N| i =0,. . . , N − 1}。离散化后就可以得到xi = x( i/N)以及xi−1 = x( i−1/N )。 区间步长为∆t = N , 那么所有t的集合就是t ∈{0, N1 ,. . . , N−1N }。使用这些定义就可以得到:
现在,定义一个随机过程w(t),使得当∆t很小时z(t)=
,在计算上,可以通过对z(t)求积分(这是一个维纳过程)求得这样一个w(t)。w(t)定义好后,可以得到:
上面的公式说明了SDE的一个共性,也就是前向扩散:
f(x,t)和g(t)是有物理含义的。漂移系数是一个向量值函数f(x,t),它定义了在没有随机效应下封闭系统中的分子运动形式。 对于梯度下降算法, 漂移由目标函数的负梯度定义。也就是,我们希望得到跟随目标梯度的求解轨迹。
扩散系数g(t)是一个标量函数,描述了分子如何从一个位置随机走到另一个位置。函数g(t)决定了随机运动有多剧烈。
扩散方程的逆方向是在时间上逆向移动。根据Anderson 的Reverse-time diffusion equation models,逆向时间的SDE为:
其中pt(x)是x在t时刻的概率分布,w是逆向时间的维纳过程。
3 DDPM的随机微分方程SDE
1)DDPM的前向SDE
为了说明DDPM和SDE之间的联系,考虑离散时间的DDPM迭代。对于i =1, 2,. . . , N:
定义一个步长大小∆t = 1/N ,考虑一个辅助噪声等级{βi},其中βi = βi/Ni。然后
其中认为N →∞, βi =→ β(t)是在0 ≤ t ≤ 1上的连续时间函数。类似地,定义
因此可以得到
因此当∆t → 0时,有
因此,可见DDPM的前向更新迭代可以等价地被写成一个SDE。能够把DDPM前向更新迭代写成一个SDE意味着DDPM估计可以通过求解SDE被确定。也就是,对于一个被恰当定义的SDE求解器,可以把SDE扔到求解器里。这个被恰当选择的求解器返回的答案就是DDPM估计。当然,并不需要使用SDE求解器因为DDPM迭代本身就是在求解SDE。但可能不是最好的SDE求解器, 因为DDPM迭代只是一个一阶的方法。
2)DDPM的反向SDE
根据Anderson 的Reverse-time diffusion equation models,逆向时间的SDE为:
代入适合的量:f(x,t)= − β(2t) and g(t)=√β(t),得到
通过考虑dx = x(t) − x(t − ∆t)和dw = w(t − ∆t) − w(t)= −z(t),就可以写出迭代更新方案。然后,令dt =∆t,可得
整合各项,并设β(t)∆t ≪ 1,可得
然后,通过令t ∈{0,. . . ,N−1/ N },∆t =1/N,x(t − ∆t)= xi−1,x(t)= xi以及β(t)∆t = βi,离散化方案就得到确定,可得:
其中pi(x)是x在i时刻的概率密度。考虑实施的可行性,可以使用估计的分数函数sθ(xi)代替∇x log pi(xi)。所以,我们就发现了其实DDPM迭代和Song博士定义的是一致的。这样我们就可以用分数函数和DDPM迭代产生关联了。Song博士将SDE称之为方差保留(VP)的SDE
4、朗之万动力学(SMLD)的随机微分方程SDE
1)前向过程SDE
分数匹配的朗之万动力学模型也可以用SDE定义。首先,注意到在SMLD设置中,并不存在一个真正的“前向扩散步骤”。但是可以粗略地认为,如果将SMLD训练中的噪声尺度划分为N个级别,那么递归应该遵循一个马尔可夫链
如果我们认为xi−1的方差为σ2i−1,就可以得到:
因此,给定一个噪声序列,就会产生估计xi,使得噪声数据可以满足期望的属性。
假设{σi}在极限上对0 ≤ t ≤ 1是连续的σ(t)。如果令t ∈{0,1/ N,. . . , N−1/N },{xi}Ni=1就变成了x(t),其中xi = x( Ni )。可以得到
当∆t → 0时求极限,等式就会收敛为
2)反向过程SDE
和标准的SDE前向过程对比可以得到
因此,如果写出逆向等式应该得到
对于离散时间迭代,我们可以先定义α(t)=
然后,使用与DDPM相同的离散化方法,可以得到
这就和SMLD的逆向更新等式一样了。Song博士称这个SDE为方差爆炸 (VE) SDE
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/84185.html