扩散模型加速采样之 Rectflow
ICLR2023 paper:arxiv.org/abs/2209.03… github:github.com/gnobitab/Re…
motivation
- 原始扩散模型DDPM推导过程复杂,包含变分推断等数学知识
- 扩散模型生成大问题: 生成速度慢
contribution
- 提出 rectified flow 一种 “沿直线” 的生成模型,基于简单常微分方程(ODE),通过构造一个“尽量走直线”的连续运动系统生成目标数据分布
- 快速一步生成:通过 “reflow” 实现“一步生成”: 只需一步计算就直接产生高质量的结果,而不需要调用计算量大的数值求解器来迭代式地模拟整个扩散过程
- 用于迁移学习:把任何一种数据或噪声(比如猫脸照片)转换成另外一种数据(比如人脸照片)
method
分布映射
给定从两个分布 π0 和 π1 中的采样,我们希望找到一个传输映射 T 使得,当 Z0∼π0 时, Z1=T(Z0)∼π1。
生成模型:z0 高斯噪声分布 z1 数据分布(如:图片数据集)迁移模型:z0 原域 z1 目标域
Reflow
假设我们从 π0 里采样出一批 X0 。然后,从 X0 出发,我们模拟上面学出的flow(叫它1-Rectified Flow),得到 X1=Flow1(X0) 。我们用这样得到的 (X0,X1) 对来学一个新的"2-Rectified Flow"
2-Rectified Flow和1-Rectified Flow在训练过程中唯一的区别就是数据配对不同:在1-Rectified Flow中, X0与 X1是随机或者任意配对的;在2-Rectified Flow中, X0与 X1是通过1-Rectified Flow配对的。
Distillation
一步生成 , 损失函数
注意问题:以上公式中X1,X0要是配对的,而上述reflow正好解决配对问题,因此在reflow后添加distill操作进行组合操作
Experiment
- 细节设置:ODEs解析器选择 Euler、RK45 等数值解析方法
- 无条件图像生成(cifar10)
- 迁移