news 2026/6/18 0:43:32

Flow Matching for Generative Models-从generalized的角度来理解diffusion模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flow Matching for Generative Models-从generalized的角度来理解diffusion模型

生成模型中,一般存在一个源分布(例如高斯分布,但可以是任何分布)source distribution p(x)
目的是找到某种映射Map ,把源分布映射到未知分布q(x),数据分布(一般来说是更复杂的分布)

从概率的角度是,我们从原分布(或者说是噪声分布)提取一个样本x0~p, 然后把这个推到Map上,进而得到一个样本的数据分布U(x) qU(x)~qU(x)q

实际情况我们无法获得数据分布,但是能得到一些样本数据(训练集)

一个通用的选择是Flows

这是一个Map,输入时间(time)和位置(location),在一个点上能参数速度矢量

从时间0到时间1进行转换,一般是常微分方程,这个转换过程一般是积分过程。
时间1 的形状是我们所需要的。

时间t在[0,1]之间时,就是一个动态的概率图

这个是概率密度可视化(从原分布到数据分布 during the time ),这里存在一个问题是 速度和概率的耦合问题。

耦合我们需要使用 生成流的基本方程(也叫做连续方程,这是个偏微分方程),这是一种量化了概率在一个固定点的变化。 我们确定了空间中的一个点,这个点的概率变化是电流的发散。也就是概率✖速度(量化了进出(incoming and going )概率的通量flux)。


这个方程促进了很多方程,包括flow matching。

我们训练生成模型,一个重要的方法是 速度场的表示。但是需要计算loss,需要是可微分的,以及trackable。

(1)一个方法是:使用标准的散度来比较:输出和数据集的经验分布。


上图的公式中描述路径的对数概率变化,但是需要使用仿真simulation xt,导致了拓展性问题大数据

(2)Flow Matching

因为p1 很难训练,我们采用归一化流的思想,进行转换:比较速度,而不是比较概率。

要做到这个转换,需要增加一些监督(没有免费的午餐),我们想着耦合:概率路径和速度场共同求解连续性方程,进而回归向量场。


可以看做一个新的divergence,在p1和q1 之间的

我们想到了这个监督,可以在训练过程中计算梯度的无偏估计。这就是我们提出的流匹配监督。也就是说我们想出一个概率路径,从源噪声开始,基于数据分布和耦合,达到这一个目标速度场。

我们采用了构造边缘分布 p_t(x),这是常用的。看公式我们需要进行积分。这个是p(x|x1)条件概率路径,q(x1)是数据,使其满足边界条件。
我们常说边缘分布合法,说的是在0~1之间的概率p_t(x)是一个有效的概率密度函数(不能是负数、积分质量=1(100%)、连续可微分(平滑的向量场))。
要满足边界条件是说在t=0和t=1时候,能够精准定义原分布和数据分布。

p(x|x1)条件概率路径是代表我们知道x1的情况下x在空间中的分布。

pt(x)=∫pt(x∣x1)q(x1)dx1 p_t(x) = \int p_t(x|x_1) q(x_1) dx_1pt(x)=pt(xx1)q(x1)dx1
对 x1 进行积分(Integration),pt(x∣x1)q(x1)p_t(x|x_1) q(x_1)pt(xx1)q(x1)是联合概率密度,粒子在x,对应点是x1的联合密度。对x1全空间进行积分,实现边缘化(marginalization)
如果对x进行积分,结果就是1了。

在概率论中,如果你知道联合分布 P(A,B),你想求 A 的边缘分布,你需要把 B “积掉”(积分掉)。

在标准的流匹配设定中,我们希望从一个源分布ppp流转到目标分布qqq。我们定义了一个随时间变化的概率密度函数pt(x)p_t(x)pt(x)

对于这个条件概率路径,什么是充分条件?可以使得上面的边界概率路径很好的满足边界条件?
什么样的条件概率路径设计,能保证在t=0t=0t=0时收敛到源分布ppp,在t=1t=1t=1时收敛到目标分布qqq
边界条件是:

  • p0(x)=p(x)p_0(x) = p(x)p0(x)=p(x)
  • p1(x)=q(x)p_1(x) = q(x)p1(x)=q(x)

图片中是两条路径,分别是边缘路径和条件路径。

在边缘路径中
紫色图是概率密度图,是时刻t,数据点x的概率分布p(x)。
存在无数个x1,每个x1在时刻t都撑起来一个属于自己的条件概率分布p(x|x1)。通过积分得到无条件的全局边缘分布p(x)。
醉着时间变化p(x) 变成了一个复制的分布。

右侧白色网络是全局速度矢量场。每个箭头都是每一个点的方向。积分代表是所有轨迹的加权平均。
ut(x∣x1)u_t(x|x_1)ut(xx1)条件速度,是如果x知道自己是x1,那么x应该在走哪个轨迹
pt(x∣x1)q(x1)pt(x)\frac{p_t(x|x_1)q(x_1)}{p_t(x)}pt(x)pt(xx1)q(x1)代表的是在x的情况下,是x1的概率。(贝叶斯公式)

虽然x是无数个,实际计算模拟时候,会采样N个x0,最后生成N个具体的x1。

在条件路径中,
紫色图是条件概率密度图(这里的分布不再是混合的,而是围绕着 x1​ 展开的),右侧白色网络是条件速度矢量场。
当我们锁定目标x1时,
概率密度图就是条件密度p(x|x1),是一个高斯分布,均值x1靠拢,方差收缩。
右侧条件速度场就是u(x|x1),

在数学上,如果我们将xtx_txt定义为从x0x_0x0x1x_1x1的线性插值:
xt=(1−t)x0+tx1x_t = (1-t)x_0 + t x_1xt=(1t)x0+tx1
xt=Ψt(x0∣x1)=σtx0+αtx1x_t = \Psi_t(x_0 | x_1) = \sigma_t x_0 + \alpha_t x_1xt=Ψt(x0x1)=σtx0+αtx1
x0∼p⇒xt∝p(x−αtx1σt)x_0 \sim p \Rightarrow x_t \propto p\left(\frac{x-\alpha_t x_1}{\sigma_t}\right)x0pxtp(σtxαtx1)

  • 这里定义了一个直线的流(Linear Interpolation)。
  • xtx_txtx0x_0x0(噪声)和x1x_1x1(目标)的线性组合。
  • x0∼px_0 \sim px0p:表示x0x_0x0是服从某个分布ppp(通常是高斯噪声)的。

FM 是一个全局的期望最小。
CFM 是一个微观的期望,在q(x1)真实数据分布中采样的点,p(x|x1)是锁定x1时候的条件密度,u(x|x1) 是锁定x1时候的每一个点 x 都有一个指向 x1​ 的目标速度

条件流匹配的核心是不去要求一个模糊的全局平均值,而是强制模型去拟合特定的微观路径。

两个等价,因为
v(x) 是神经网络预测的“无条件”速度,它的输入只有当前位置 x 和时间t。

但是神经网络vtv_tvt的输入: 只有当前位置的坐标xtx_txt和时间ttt。它的输入列表里没有x1x_1x1

  • 它的处境: 当你把一个具体的数值xtx_txt喂给网络时,作为“上帝”的你知道这个xtx_txt是从锁定的x1x_1x1路径上采出来的。但是网络自己完全不知道这个xtx_txt的“前世今生”(它不知道终点去哪)。
  • 它的输出: 因此,vt(xt)v_t(x_t)vt(xt)只能根据当前这个孤立的坐标,输出该位置在整个大盘(全局)中的平均速度。

u(x|x1)是在时间t,锁定x1的x的速度。

第二个公式其实是第一个公式的等价蒙特卡洛采样形式。它把两个量放在一起做减法:

  • x˙t\dot{x}_tx˙t(真值标签): 它是真正锁定x1x_1x1的瞬时速度(由蓝框中的条件速度公式计算得出)。
  • vt(xt)v_t(x_t)vt(xt)(网络预测): 它是网络在不知道终点的情况下,仅仅根据当前位置xtx_txt盲猜的速度。

损失函数干了什么?
它在用“真正锁定的速度x˙t\dot{x}_tx˙t”作为标准答案,去惩罚和修正那个“不知道终点、只凭位置瞎猜的vt(xt)v_t(x_t)vt(xt)”。通过海量不同路径的xtx_txt冲刷训练,最终逼迫vt(xt)v_t(x_t)vt(xt)自动学会输出全大盘的平均速度。


这张幻灯片比较了两种不同的从噪声到数据样本的路径选择方式:

  • Diffusion (VP - Variance Preserving) - 传统的扩散模型
  • Cond-OT - 条件最优传输

传统的扩散过程 (Diffusion):

  • 在 t 时刻,给定最终样本 x₁,中间状态 p_t(x|x₁) 服从正态分布 N(tx₁, (1-t)²I)
  • 这意味着在扩散过程中,每一步都添加了随机噪声
  • 路径是概率性的 - 每次采样可能产生不同的中间路径

Cond-OT 的选择:

  • Ψ_t(x₀|x₁) = (1-t)x₀ + tx₁
  • 这是一个确定性的线性插值路径
  • 给定起点 x₀ 和终点 x₁,路径是唯一确定的
  • 没有随机噪声,路径是直线的

  • 这表明 Cond-OT 在高维稀疏数据中是动力学最优的
  • 条件:n/d^{1/2} → 0,样本数 n 相对于维度d(1/2)d^{(1/2)}d(1/2)趋于0,即高维稀疏数据






参考

https://www.youtube.com/watch?v=5ZSwYogAxYg

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 0:41:52

AI vs AI:工业级对抗系统构建与鲁棒性实战指南

1. 这不是科幻,是正在发生的AI内战现场你有没有注意到,最近讨论AI威胁时,语气悄悄变了?以前大家担心的是“AI会不会取代人类”,现在更常听到的疑问是:“这个AI,能不能防住另一个AI?”…

作者头像 李华
网站建设 2026/6/18 0:36:49

抖音批量下载终极指南:5分钟学会无水印视频下载

抖音批量下载终极指南:5分钟学会无水印视频下载 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…

作者头像 李华
网站建设 2026/6/18 0:31:40

adb shell cmd wifi:解锁Android Wi-Fi系统服务的自动化与调试指南

1. 认识adb shell cmd wifi:Android Wi-Fi控制的终极钥匙 第一次接触adb shell cmd wifi命令时,我正被一个自动化测试项目折磨得焦头烂额。当时需要批量验证50台设备的Wi-Fi热点功能,手动操作到第三台就差点崩溃。直到发现这个藏在Android系统…

作者头像 李华
网站建设 2026/6/18 0:29:44

构建高效量化交易策略:101个Alpha因子的完整实战指南

构建高效量化交易策略:101个Alpha因子的完整实战指南 【免费下载链接】machine-learning-for-trading Code for Machine Learning for Algorithmic Trading, 2nd edition. 项目地址: https://gitcode.com/GitHub_Trending/ma/machine-learning-for-trading 在…

作者头像 李华
网站建设 2026/6/18 0:26:08

如何用Mi-Create在5分钟内打造你的专属小米手表表盘?

如何用Mi-Create在5分钟内打造你的专属小米手表表盘? 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 你是否曾经想过,每天抬起手腕看到…

作者头像 李华
网站建设 2026/6/18 0:13:37

Loop Engineering火了,一文带你入门!

最近 谷歌资深工程师Addy Osmani 发布了一篇关于 Loop Engineering 的文章,这个词很快在国外 AI 圈刷爆了。 中文可以理解为 循环工程。 这个词看起来有点技术,其实讨论的事情并不复杂。 大家平常使用 Codex、Claude Code 更多是在完成单次任务&#…

作者头像 李华