1440 words
7 minutes
All-about-conditional-distribution

总是阶段性地遗忘这一朴素,智慧,大道至简的思想,所以专门写下来方便以后直接回看自己的思路:

思路概览#

目标#

我们要得到一个真实的分布, 这个分布可能是数据集的分布(cv domain),也可能是某个动作的分布(robotics domain)。

方法:#

所有非gan系生成模型的算法:flow matching, ddpm, ae, vae, vq-vae, eq-vae…

问题:#

我们永远没有办法获得理想中的完全真实的分布

补救方案:#

我们要拟合真实分布,但是他存在于真实空间,高维,孤立,(存在于低维流形上),无法得到具体表达式,并进行似然估计。

1.引入联合分布#

既然直接求解不行,我们借助条件分布联合分布的关系。

引入隐变量空间

其中, 就是我们完全可以随心所欲定义的(其实肯定是标准高斯)任何简单分布。 ,则是我们构建的(Denoising Kernel if model is diffusion, Decoder if model is VAE, (a trajectory parameterized by t(time)) if model is flow and we would learn its 切向量, Generator if model is gan)

2. 通过积分得到边缘分布#

其实就是全概率公式,只不过是因为是连续的,所以没有办法得到某一个点的概率(空间中单个点的概率永远是 0),所以采用积分的方法。 于是,边缘分布(宏观流向)其实就是所有条件分布(微观路径)的加权平均

VAE 的这个过程其实是一步走的,但是 Score matching 另辟蹊径,他不学习概率本身是多少,而是学习预测概率变化的趋势(梯度)。真实的概率分布是一座山的高度,Score function 就是山上每个位置的坡度方向和倾斜程度。当你顺着所有地方的坡度方向往上走,最终就能找到山顶。 关于 score function #todo

3. 框架:三种路径的逻辑收敛#

非GAN系模型的核心区别,其实就在于如何处理这个积分以及如何定义

变分推断路径(VAE)#

具体可见 vae

迭代投影路径(Diffusion / Flow Matching)#

逻辑 :将单一的 拆解成无数微小的条件概率步

扩散#

前向加噪过程看作一个马尔可夫链。前向每一时间 步,加预定义好的噪声。

逆向去噪生成过程,根据贝叶斯公式, 这个逆向条件概率可以解析算。

训练时#

直接从 采样出最终时间步 的噪声 ,以及添加这个噪声之后的图像 ,然后 接收这两个参数,预测出一个噪声 ,与真值做 MSE。 XSUOYk

推理时#

迭代投影

  1. 从高斯分布中采样一个纯噪声
  2. 循环迭代
    1. 模型预测出噪声
    2. 中减去预测出的噪声,得到 的均值
    3. 注入随机性:为了最终能拟合出一个分布,每一步按照比例加回一点随机噪声(除了最后一步)
      1. x0IGZK 权重应该是
Flow Matching#

Flow 的逻辑更像捏橡皮泥,扩散是拆楼建楼,Flow 的是流形空间的平滑扭曲

核心逻辑#

变量代换定理:假如有一个简单分布 比如高斯,通过一个双射可逆函数 变换到 ,那么 的概率密度是可以计算的。

通俗理解:如果你把一块橡皮筋(概率质量)从 z 拉伸到 x,某一点的密度会变稀疏或浓缩,而这个拉伸倍率就是雅可比行列式的模。 这就像是在一个由模型定义的河流中漂流,模型给出了河流每一处的流向和流速,你顺流而下,终点必然是真实数据流形。

具体操作#

现代 flow 框架,不在纠结于找复杂的解析函数 ,而是定义一个速度场

  1. 构造轨迹:
    1. 直接插值定义从噪声 到 数据 的直线路径,或者其他任何平滑路径。
  2. 求速度场 1. 对时间 求导, 这一点的速度就是
  3. 模型训练:
    1. 。假设数据是 1 维的,那么可以把速度场看作一个平面直角坐标系,模型预测在这个时刻应该以什么矢量(方向、速度)移动,才能在 的时候到达真实数据。
  4. 生成阶段(ODE)
    1. 出发
    2. 操作:调用一个 ODE 求解器(如欧拉法( 用的就是)或者 runge-kutta)
    3. 逻辑流:
Diffusion vs Flow-matching#
维度扩散模型 (Diffusion)流匹配 (Flow Matching)
数学底色统计推断、贝叶斯定理连续介质力学、微分几何
生成机制逐步去噪(从混乱中寻找秩序)概率搬运(将质量从 A 移动到 B)
确定性具有随机性(每步都在采样)高度确定(给定起点,轨迹唯一)
效率慢(需要极多步迭代)快(轨迹平直,少量步数即可精确积分)
  1. DDPM 在逆向生成的时候,数学上是弯曲且有随机性的,但是 FM (基于最优传输)几乎就是直线。
    1. 后果就是只需要 5 步就能得到精确结果,对机器人实时控制至关重要。
  2. 确定性 ODE 映射,产生的动作序列,是会更加丝滑的
Energy Based Model#

#坑 https://gemini.google.com/share/a37889f577d4

#坑 人家已经写过了,先看看人家的再写自己的吧

概率视角下的生成模型 - Hammour Yue 的文章 - 知乎

All-about-conditional-distribution
https://ny-wakeup.github.io/myblog/posts/All-about-conditional-distribution/
Author
Nwaky
Published at
2026-03-04
License
CC BY-NC-SA 4.0