通过整流流实现数据的生成与转换.
给定初始数据xT,扩散模型旨在学习一个演化过程,生成目标数据x0,该过程可以用一个常微分方程 (ordinary differential equation, ODE)来描述:
dxtdt=ft(xt)
其中pT(xT),p0(x0)是已知的,上述ODE旨在设计一个函数ft(xt),使其对应的演化轨迹构成给定分布pT(xT),p0(x0)之间的一个变换。
随机选定x0∼p0(x0),xT∼pT(xT),设计函数:
xt=ϕt(x0,xT)
则有微分方程:
dxtdt=∂ϕt(x0,xT)∂t
引入一个函数sθ(xt,t)逼近上式右端:
Ex0∼p0(x0),xT∼pT(xT)[∥∥∥sθ(xt,t)−∂ϕt(x0,xT)∂t∥∥∥2]
下面不妨考虑[0,1]的扩散过程,设计变化轨迹ϕt(x0,xT)为直线:
xt=ϕt(x0,xT)=(x1−x0)t+x0
对应微分方程:
dxtdt=∂ϕt(x0,xT)∂t=x1−x0
此时训练目标为:
Ex0∼p0(x0),xT∼pT(xT)[∥∥∥sθ(xt,t)−∂ϕt(x0,xT)∂t∥∥∥2]=Ex0∼p0(x0),xT∼pT(xT)[∥sθ((x1−x0)t+x0,t)−(x1−x0)∥2]
该模型可以把任何一种数据或噪声转换成另外一种数据,并且只需一步计算就直接产生高质量的结果,而不需要调用计算量大的数值求解器来迭代式地模拟整个扩散过程。

Related Issues not found
Please contact @0809zheng to initialize the comment