Rectified Flow 通过直线路径优化实现高效去噪,仅需 20-50 步即可完成生成。
核心创新
传统扩散模型局限
- 计算复杂,需维护噪声系数表
- 步数多(通常 1000 步)
- 随机性控制困难
Rectified Flow 解决方案
直线路径公式:
去噪目标:预测速度场 ,而非直接预测噪声
去噪步骤:
调度器核心功能
动态时间步计算
dt = timestep - lower_timestep # 计算 Δt
prev_sample = sample - dt * model_output # z_{t-1} = z_t - Δt * v_Θ随机性控制
if stochastic_sampling:
x0 = sample - timestep * model_output
prev_sample = self.add_noise(x0, noise, next_timestep)条件掩码
tokens_to_denoise_mask = (t - t_eps < (1.0 - conditioning_mask)).unsqueeze(-1)
return torch.where(tokens_to_denoise_mask, denoised_latents, latents)支持细粒度时空控制,如视频特定帧局部编辑。
架构对比
| 维度 | 传统扩散 (DDPM) | Rectified Flow |
|---|---|---|
| 路径设计 | 弯曲路径 | 直线路径 |
| 计算效率 | 需 1000 步 | 仅需 20-50 步 |
| 随机性控制 | 需切换采样器 | 参数灵活开关 |
| 数学框架 | SDE/概率扩散 | ODE/最优传输 |
总结
Rectified Flow 通过直线路径设计减少误差累积,动态时间控制提升数值稳定性,支持细粒度条件生成,是平衡质量、速度与控制力的关键模块。