Diff2Flow通过数学上的对齐转换,能直接将已训练好的扩散模型转化为流匹配模型。
Diff2Flow兼顾扩散模型的高质量生成与流匹配模型的快速推理优势。
这里尝试梳理Diff2Flow的将扩散模型转化为流匹配模型的对齐过程。
这是将扩散模型转化为流匹配模型的第一步。
1 扩散模型
扩散模型定义了一个离散的前向加噪过程(),形式化如下。
其中是预定义的噪声调度,满足方差保持(VP)条件:
。
基于该符号体系,加噪样本即插值可写为:
模型通过训练网络来预测噪声,损失函数为:
另一种v-parameterization-预测参数化定义为:
v-parameterization参考链接如下所示
https://arxiv.org/abs/2202.00512
2 流匹配模型
流匹配定义在连续时间上,采用线性插值路径:
模型训练网络来预测速度场,其目标是与真实路径方向一致:
流匹配模型采样时通过解常微分方程ODE实现,具体可采用MidPoint欧拉法等。
2 Diff2Flow对齐
这里探索如何将扩散模型和流匹配模型对齐。
2.1 时间步缩放
扩散模型采用离散的时间步,t={1, 2, ..., T},而流匹配使用连续时间步
所以对齐扩散模型和流匹配模型,首先需要重新缩放时间步,建立映射s = g(t)。
具体可以采用
线性映射
或等价地
这使得流匹配模型的连续时间步与扩散模型的离散步建立起初步的对应。
在降连续时间步映射到离散时间步,需要采用线性插值等策略,后文会进一步探索。
2.2 关键值对齐
这里假设为真实样本值,
为随机噪声,
对于扩散模型,从到
的扩展过程中,在于时间步t,x的值可以表示为
对于流匹配模型,在从转化到
的过程中,在时间t,在[0, 1]空间对应值为s,则此时x位置可以表示为。
为使两者在概率分布上对齐,需要建立如下对应关系。
1)对应扩散噪声即
(标准高斯)
2)对应干净数据
因此,对于扩散模型,
可以将时刻t对应的扩散模型时间步tDM扩散后x的值改写为
依据扩散模型方差调度规则,显然有。
对于流匹配模型,
可以将时刻t对应的时间tF,x插值后的位置表示如下
2.3 可逆映射
如何将扩散模型的值映射到流匹配模型的连续时间步,并确保映射过程可逆。
1)正变换
首先设计移动轨迹中,在t时刻时的位置x_DM的转化函数。
这个转化函数从形式上看相当于x_tdm的缩放版本。
它将扩散模型空间的值x_tdm映射到流匹配模型空间,并且整个转化过程可逆。
转化后由于和
相当于流匹配空间的值
和
,对应系统满足和为1的约束。
因此,对于时间步t,也可以建立如下的可逆映射关系。
2)函数逆变换
由于扩散时间步是离散的,所以在做逆变换时,需要考虑插值方法。
比如,FM空间,在扩散空间中,逆变换后语气最近的分别为tDM1和tDM2。
所以,对于FM空间,在DM空间需要采用插值的方法确定。
此时,f_t是可逆。
对于流匹配的位置值x_FM,在扩散过程中对应值计算如下
3)参数求逆
进一步,采用类似的插值思路计算
1)可以先找到tDM1和tDM2对应的alpha和simga,
2)采用二分插值的方法
过程与根据FM空间计算DM空间
的过程类似。
在逆算过程中,除了x在扩散过程中值的确定外,包括最近线性插值,还包括扩散过程中alpha和simga参数的确定,这两个参数是扩散方差调度的核心参数,与时间步密切相关。
reference
Flow Matching的训练和推理过程探索
https://blog.csdn.net/liliang199/article/details/156769922
Diff2Flow: Training Flow Matching Models via Diffusion Model Alignment
https://arxiv.org/abs/2506.02221
Progressive distillation for fast sampling of diffusion models