Flow Matching 算法中,虽然训练时使用的路径是噪声 和目标点 之间的直线距离,但是由于 是随机选择的,所以最后得到的 ODE 路径实际上是弯的,见 Flow Matching 训练 一节。在路径交叉点,神经网络无法同时输出两个不同的方向,只能输出这两个方向的平均值。这导致神经网络实际学到的 ODE 轨迹变得弯曲(非线性),生成时需要很多步 才能保证质量。

Rectified Flow 算法则在 Flow Matching 的训练过程后又增加了一个阶段的训练:

  • 采样一批噪声
  • 使用第一阶段训练好的模型 ,通过多步 ODE 生成得到对应的数据
    • 因为 是通过 ODE 从 确定性生成的,所以 这一对具有了内在的一一对应关系,它们的路径绝对不会再交叉(由 ODE 的唯一性定理保证)
  • 拿这批新的配对数据 ,重复最开始的训练过程,训练一个新的模型

以上过程可以重复 次,以使 ODE 路径更加平直

经过这一阶段的训练之后,理论上只需要一步就能生成高质量的图像:

可以这样理解

由于噪声分布 和数据分布 之间存在无穷种耦合(coupling)方式,而训练时使用的数据对 又是随机选取的,所以最终得到的结果只能是所有耦合的“平均”;通过在这个“平均”耦合的基础得到的“直线”耦合进行微调(即 Reflow),从而得到一个 ODE 路径更加平直的新耦合

参考资料