Flow Matching(流匹配)和DDPM(去噪扩散概率模型),
好比是画画,DDPM属于一步步的擦除,一点点的改画;而流匹配更像直接上元素构建一张图画。
DDPM的逻辑是把数据一步步加噪,变成纯噪声,然后训练模型反过来预测每一步加的噪声,最后一步步去噪生成数据,问题是中间步骤要是学错了,最后生成的就可能不符合要求,干的多有可能错的多。
流匹配的思路不一样,直接学向量场,即数据的流动方向。以真实图片和高斯噪声(噪声分布)划分为两个池子,流匹配属于中间的管道,属于精准插管从B池流向A池(让数据点沿规律流动),也就是说,模型只要学会了从B到A这个方向,等同坐上直通车,速度直达,不用像DDPM那种漫长的一步步。
流匹配和DDPM两者相比的优势
训练变简单了,目标精准
DDPM需要处理不同时间步的噪声分布,每个时间步的模型输出可能还得调整,而流匹配直接优化个统一的向量场,目标单一且精准,工作高效起来了。
采样更快了,连续流动
DDPM生成一张图可能需要50 - 100步迭代,流匹配有时候只需要几步甚至一步就能搞定,连续流动的优势就出现了,不用分步近似,工作时间变少了~
质量更稳定,误差变少
离散步骤多了,误差容易累积,每一步去噪稍微不准,最后结果就歪了;流匹配是连续的,流动路径更平滑,误差少,是不是避免了干多错多的内耗问题?
灵活性高,全程可调
想调整生成速度,直接改流动的步长,不用再来一次训练,DDPM改步数可能就得微调,试错的时间增加了。
连续时间采样对比离散时间步采样,孰优?
首先,离散时间好比网速不好看4K电影,缓冲一下跳一帧,每一步的状态需要清楚的;连续时间就好比刷短视频,流畅的画面丝滑的过渡,从从容容地刷完。
然而采样的问题在于,离散采样,步数少没有细节,步数多又慢又累。连续就不分帧,数据直


262

被折叠的 条评论
为什么被折叠?



