Smoother Flow Matching via Contrastive Trajectory Repulsion
Ziqi Jiang, Zhenqi He, Long Chen
cs.CV, cs.LG
2026-10-01
港科大提出CoFlow,把对比学习引入Flow Matching,训练时用负样本推开交叉轨迹、压低局部Lipschitz。SiT-XL在ImageNet 256上20步无CFG的FID从38.50降到29.65,训练无额外开销。
Flow Matching 把噪声到数据连成近似直线,按理该比扩散少走很多步。实际要出高保真图,仍然经常要 50 到 100 步。根子是轨迹交叉:两条直线中间靠得很近,速度却指向不同终点,交点处边际速度变成冲突速度的平均,速度场在空间上会突然拐弯。过去多把交叉看成优化里的速度平均;这篇把它落成可算的局部光滑度。
前人解法停在边界:ReFlow、DMD 这类事后蒸馏绕过中间积分;OT-CFM 改噪声与数据配对,从端点减少交叉。中间轨迹很少被管。港科大这篇改用网络学习视角:交叉点把目标速度场的局部 Lipschitz 常数顶得极高。这个常数衡量近处两点速度能差多少。L 大会同时带来两件事。速度场出现高频分量,网络受频谱偏置(spectral bias)拖累,低频好学、高频难拟合。Euler 单步截断误差上界随 L 放大,少步时数值误差被放大。文中的交叉在高维里指轨迹靠近但目标速度分叉,精确相交几乎不会发生。
CoFlow 把对比学习引进 Flow Matching:mini-batch 里另一条轨迹当负样本,训练时把正样本轨迹从旁边推开,压低局部 Lipschitz。
物理图像来自 Doob 的 h 变换。条件桥 SDE 加一项漂移把粒子吸向指定终点;CoFlow 把这项换成排斥,在正向漂移里减去 b(xt, t, xrt)。直接积分在训练时算不起,于是改成对随机插值(stochastic interpolant)做闭式修正,按时间直接写出 xt,不必模拟 SDE。标准直线 xt=(1-t)x0+t x1,默认变成 x̂t = xt - λ t(1-t)(xrt - xt),目标速度解析求导,网络仍做 MSE。β(t)=t(1-t) 让修正在 t=0 和 t=1 为零,端点分布不变,映射保持无偏。训练仍是 simulation-free,推理和标准 FM 一样,没有额外开销。
状态残差用同一时刻两条轨迹的相对位置来推,直接对准「两点很近、速度差很大」这个 Lipschitz 定义。端点残差方差更低,速度残差更接近 DeltaFM,消融里后两者都不如状态残差。设计空间其余两块是强度 λ 和时间日程 β(t)。负样本可随机、按端点最近邻、或挑 Lipschitz 最大的。默认 λ=0.2、状态残差、随机采样。
同期 DeltaFM 也用负样本,但惩罚速度相似度,不改中间轨迹。这篇证明 DeltaFM 的最优场等于标准 FM 最优场的一次仿射变换,于是推理时可以做 velocity centering(VC):用训练集 VAE 潜空间均值中心化速度,不必重训,并能叠在 CoFlow 上。
二维高斯到双月牙:轨迹更直,平均局部 Lipschitz 相对标准 FM 降 32.1%;5 到 50 步 Euler 相对截断误差分别少 30.4%、25.8%、24.0%、23.5%、23.1%。
主实验是类别条件 ImageNet 256×256,SiT 加预训练 SD-VAE,400K step,batch 256,默认 20 步 Euler-Maruyama、50K 张、无 CFG。
| 设置 | FID↓ | sFID↓ | IS↑ |
| SiT-B/2 FM | 61.43 | 35.18 | 27.46 |
| SiT-B/2 CoFlow | 52.79 | 21.71 | 35.00 |
| SiT-B/2 FM+REPA | 47.64 | 34.33 | 40.75 |
| SiT-B/2 CoFlow+REPA | 37.76 | 20.23 | 52.92 |
| SiT-XL/2 FM | 38.50 | 29.27 | 50.14 |
| SiT-XL/2 CoFlow | 29.65 | 17.41 | 64.12 |
| SiT-XL/2 FM+REPA | 35.35 | 27.98 | 63.13 |
| SiT-XL/2 CoFlow+REPA | 27.78 | 17.88 | 80.52 |
sFID 降得更狠:SiT-XL/2 从 29.27 降到 17.41。IS 从 50.14 升到 64.12。加 REPA 之后增益还在,排斥和表示对齐不抢同一条增益。
NFE 曲线上,低步数优势大,250 步时两边 FID 接近。CoFlow 赚的是少步效率。
OT-CFM 再加 CoFlow,FID 从 69.90 降到 63.92,sFID 从 38.87 降到 25.96。SiT-B/2+REPA 上 CoFlow+VC 把 FID 从 37.76 降到 27.74、sFID 到 8.68,三项都超过单独训的 DeltaFM(FID 32.32)。NFE=50 时给标准 FM 加 VC 已能对齐 DeltaFM:SiT-B/2 为 27.64 / 20.40 / 19.97,SiT-XL/2 为 11.40 / 7.29 / 7.38。
SiT-S/2 消融:随机噪声当负信号几乎无效(FID 86.99→86.49)。状态残差最好(79.55),端点残差 92.24、速度残差 122.19,后两个差过基线。三种采样都有效,Lipschitz 采样 FID 最低 78.12,随机 79.55 作为默认。λ=0.05/0.2/0.5/1.0 对应 85.66/79.55/75.06/87.43。0.5 最好,1.0 比标准 FM 还差。
少步这条线已经被蒸馏和改耦合占满。CoFlow 改的是训练轨迹中间段,落地是闭式插值,算力不涨,对已有 SiT / FM 训练是 drop-in 正则。它和 REPA、OT-CFM、DeltaFM/VC 能叠。
这是渐进改进。设定仍是多步 ODE,没有进入 MeanFlow、Shortcut 的一步生成。ImageNet 20 步无 CFG 的 FID 还在 27 到 52,离可上线的高清生成还远。少步崩有一部分来自速度场局部太陡,对比排斥是把陡度拧下去的零开销办法。
作者写明:只做了 ImageNet 256 类别条件和 SiT,其他数据、更高分辨率、其他生成任务没评。排斥日程写死,负样本按端点选、不随 t 变,为的是保住闭式速度目标。
主表几乎全是 20 步无 CFG,没有和 ReFlow、DMD、MeanFlow 放在同一协议下比。OT-CFM 单开 FID 69.90,差过标准 FM 的 61.43,叠加基线偏弱。主实验 λ 固定为 0.2,SiT-S/2 上 0.5 更好,主表未必吃满超参。λ=1.0 就伤,换骨干要重扫。SiT-XL/2+REPA 上 Recall 从 0.55 降到 0.53,论文没有讨论。二维测到的 Lipschitz 与截断误差下降,没有在 ImageNet 潜空间复测。高维里局部 Lipschitz 爆炸有多普遍,目前还是动机。无偏设定把修正钉在两端为零,有偏边界(CFG 那种)留作未来工作。