Flow Models
本文中我们将简要介绍一般生成模型的范式,并详细的介绍流模型的框架和训练目标的构建。
生成模型的框架
先前我们简单的介绍过 GAN 和 VAE ,但是当时我其实没有正式的形式化生成模型的框架。我们知道,生成模型其实与先前的分类或者回归模型在很大程度上是不同的,因为我们没有一个直接的评判模型输出优劣的指标。这样的好处是,因为我们不需要对数据做标注,所以可以方便进行大规模的训练;而坏处则是我们需要特别的设计生成模型的框架和训练方法。这里我们先简单谈谈生成模型的一般框架。
具体的,我们的核心是将生成视作采样。假设我们的生成目标是某个数据空间中的点,其服从某个数据分布
,那么我们的目标就可以看作是在 中采样。另一方面,我们也可以用生成结果服从 的似然来作为衡量其优劣的指标,而训练数据则是 上的若干次独立采样的结果。然而主要的问题是我们其实不知道 是什么样的,所以我们希望建立框架来近似 ,使得可以从中采样。 假设我们手头有一个简单的初始分布
,从中采样得到 。我们希望找到某一分布 ,使得我们可以对 采样得到 ,满足 。这样,我们就间接的解决了采样的问题,这就是生成模型的一般建模。
流模型的框架
- 在流体力学和常微分方程的理论基础上,我们可以比较方便的构建流模型的理论框架。具体的,假定数据空间为
,我们希望通过某个映射 将随机变量 映射到 ,而这一过程是通过 ODE 实现的。流模型的动机是将概率的变化视作空间中概率流的流动,也就是将概率密度视作流体密度,这样所有的流体力学结果就都可以应用于描述概率的 ODE 了。对于初始的 ,考虑由 ODE : 诱导出的映射 ,我们期待有 成立,这样我们只需对 采样,再使用数值方法模拟该 ODE ,就可以近似的对 采样。因此主要的问题是如何得到概率流的速度场 ,我们会将其作为带有参数 的神经网络 ,从而逼近采样结果。
训练目标的构造
- 现在我们希望找·到训练目标
的显式表达,从而推导损失函数。为此,我们要从条件和边缘化两个层面关注两个核心量:概率路径和描述流体速度的向量场。
Conditional Situations
- 不妨先想想随着流的变化概率密度分布族
应该满足什么。我们希望 ,其中前者是好办的,但是我们完全不知道后者应该是怎样的。既然如此,我们考虑从单点入手。定义隐随机变量 ,以及狄拉克分布 ,使得: 这实际上是一个离散的分布,但仍然兼容测度论的框架。假定我们先对 采样,然后得到了一族分布 ,称作条件概率路径,使得: 顾名思义,我们期待 描述了从 开始,最后得到 的概率流的密度分布,其对应的速度场 称作条件速度场。对于特定的 ,我们可以方便的得到 的解析解,一个具体的例子是 Gaussian Conditional Probability Path ,其被 Denoising Diffusion Models 使用。现在考虑两个单调可微的函数 ,使得 且 ,定义: 这是一个均值为 ,方差为 的高斯分布。容易看出,其将 平滑的转化为了 ,而后者基本就是 。1现在考虑 ,其满足: 我们断言条件场: 就是符合要求的,并且其解对应的流为 。当 时,验证: 并且: 做重参数化 即得: 注意该场在 时是无定义的,不过实践上似乎并不需要严格的 ,只需确保充分大的概率集中到 附近即可。
Marginal Situations
- 现在我们希望对条件分布做边缘化从而得到目标的边缘分布。更确切的说,从单点入手,我们可以方便的构造条件概率密度和条件速度场,其指导了条件概率流。将边缘概率流视作条件概率流按照
体积分数叠加的混合流体,其密度服从: 称其为边缘概率路径,容易看出其满足 。参照我们在第一节中的讨论,服从该密度分布的混合概率流的速度场满足: 而该形式是可以逼近的,这就是 的训练目标。特别的,上式也可以写作: 这就是按照 处关于 的后验概率对条件速度场加权,是符合直观的。
流模型的训练
基于以上推导的训练目标,可以构造出直接的损失函数:
这被形象的称作 flow matching loss ,记作 。然而其中的 一项只具备积分形式,而这是很难计算的。类似的,可以定义 conditional flow matching loss ,记作 : 我们期待 和 是相同的,因为边缘场就是条件场的期望。而这一点基本是有保障的。- 【定理 1. Conditional Flow Matching Loss】存在常数
,使得对于任意 有:
证明:考虑:
注意到最后一项为一与 无关的常量。对于第二项: 从而:则由以上定理,优化
完全等价于优化 ,而后者是容易做到的。具体的,我们只需对 取样,并从数据集中抽取 ,然后按照: 计算得到 ,就可以方便的对 取样了。到这里,我们就得到了流模型的完整训练框架。- 【定理 1. Conditional Flow Matching Loss】存在常数
在 Denoising Diffusion Models 中,其 conditional flow matching loss 为:
做重参数化 ,得到: 此处考虑代入最简单的 ,得到: 其被称作 Gaussian Conditional Optimal Transport Probability Path2 ,很多现代的模型都采用了这种简单而有效的方法,例如 Stable Diffusion 3 和 Meta's Movie Gen Video 。
- 标题: Flow Models
- 作者: RPChe_
- 创建于 : 2025-08-12 00:00:00
- 更新于 : 2025-08-29 21:55:25
- 链接: https://rpche-6626.github.io/2025/08/12/DF/flow/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。