生成模型会不会只会背训练数据?
我一直觉得,讨论生成模型的“记忆”不能只看输出像不像某一张训练图片。更关键的问题是:模型学习到的运动方向,究竟把样本带向训练点本身,还是学会了训练点之间那片可以继续生成的空间?Flow Matching 的分析给了我一个很清晰的坐标系:先看样本张成的子空间,再把速度场拆成子空间内和正交两个部分。
一,离散样本为什么会形成一条可计算的路径
设训练样本矩阵为 `Y`,它们的线性组合构成 `range(Y)`。从高斯先验出发,Flow Matching 用一个随时间变化的速度场把噪声搬到目标分布。对离散目标和高斯先验,最优速度可以写成“指向每个数据点的方向”的 softmax 加权和:离某个点更近时,该点的权重会变大;样本稀疏时,路径会暂时像是在追逐某个具体样本。
这个表达式让我重新理解“记忆”:模型确实会把生成轨迹拉回训练样本张成的范围,但这不等于每次都复制一个训练样本。真正决定泛化的,是速度场能否在这些点之间组织出平滑、可继续探索的流动。
二,把速度场拆成两部分
我会把学习到的速度写成两项:
```text
速度 = 子空间内的运动 + 垂直于子空间的运动
```
OSDNet 的分解带来一个很有用的直觉。正交分量通常会随着时间衰减,把轨迹拉回训练样本的线性子空间;子空间内的分量则负责在样本之间插值、改变局部密度,并保留多样性。模型逼近得越好,生成样本到真实样本集合的期望距离上界越低,但它仍然可能落在训练点之间,而不是落在某个点上。
三,什么时候看起来像“背答案”
当样本彼此分离、局部密度很低时,softmax 权重会集中到一个点,轨迹自然更像记忆。若数据存在层级结构,路径会先在粗粒度簇之间移动,再在簇内细化。于是“记忆—泛化”并不是开关,而是由样本间距、噪声尺度和速度场逼近误差共同决定的连续状态。
四,我不会把子空间一致当成流形恢复
这套分析的边界也很明确:它以离散目标、高斯先验和特定的最优传输路径为基础;`range(Y)` 是线性空间,不等于真实数据的非线性流形。生成结果落在样本子空间,只能说明它没有偏离已观测结构,不能证明模型恢复了完整的真实分布。图像、分子或文本的高阶约束,仍需要独立的质量与覆盖度评估。
五,我的判断
我更愿意用“在样本空间里学会走路”来描述 Flow Matching。好的模型不是摆脱所有训练样本,而是在它们撑起的空间里找到稳定方向,同时让正交误差尽快消失。评估生成模型时,我会同时检查最近邻距离、子空间投影、样本间多样性和分布外覆盖,而不是只问它有没有复现某个样本。
参考资料:Gao, W., Li, M. How do flow matching models memorize and generalize in sample data subspaces.npj Artif. Intell.(2026).