跳转到内容

输入关键词开始搜索

    离散扩散模型(CTMC)

    概念更新 2026-07-13置信度 high#概念#扩散模型#生成模型#深度#进阶

    把流/扩散模型从连续空间 Rd\mathbb{R}^d 搬到离散状态空间(文本、DNA)的方法:用连续时间马尔可夫链(CTMC)替代 ODE/SDE、用速率矩阵 QtQ_t 替代向量场。训练退化为逐位置分类(交叉熵),掩码扩散语言模型(MDLM)是其代表。

    文本、DNA 等数据天然是离散状态空间 S=VdS=\mathcal{V}^dV\mathcal{V} 为词表,dd 为序列长度)中的元素,无法用 SDE 建模——离散空间不存在布朗运动。离散扩散模型改用连续时间马尔可夫链(Continuous-Time Markov Chain, CTMC)作为“离散版 SDE”:状态之间以一定速率随机跳变,逐步把噪声分布搬运成数据分布。

    它把 流匹配 的整套逻辑平移到离散设定,因此也叫离散流匹配(Discrete Flow Matching)

    1. 用扩散原理造语言模型:证明“迭代去噪生成”不是连续数据的专利——离散扩散能生成文本序列,是自回归 LM 之外的另一条生成范式(如 LLaDA、掩码扩散 LM)。
    2. 并行/双向生成:与自回归逐 token 从左到右不同,离散扩散可并行更新所有位置、双向利用上下文,采样步数与序列长度解耦。
    3. 框架统一之美:连续(ODE/SDE)与离散(CTMC)共享同一“条件路径→边缘化 trick→simulation-free 训练”结构,只是把向量场换成速率矩阵、连续性方程换成 Kolmogorov 前向方程。

    CTMC 由速率矩阵 Qt(yx)Q_t(y\mid x) 描述:从状态 xx 跳到 yy 的瞬时速率,满足

    Qt(yx)0 (yx),Qt(xx)=yxQt(yx)Q_t(y\mid x)\geq 0\ (y\neq x),\qquad Q_t(x\mid x)=-\sum_{y\neq x}Q_t(y\mid x)

    即对角非正、非对角非负、每列(行)和为零。转移概率的无穷小演化由 ddhpt+ht(yx)h=0=Qt(yx)\frac{d}{dh}p_{t+h\mid t}(y\mid x)\big|_{h=0}=Q_t(y\mid x) 决定;对任意速率矩阵存在唯一 CTMC(存在唯一性定理)。模拟用 Euler 式一步:Xt+h(1y=x+hQt(yx))yX_{t+h}\sim(\mathbb{1}_{y=x}+hQ_t(y\mid x))_y

    状态空间大小 S=Vd|S|=V^d 指数爆炸,整列速率 {Qt(yx)}yS\{Q_t(y\mid x)\}_{y\in S} 无法存储。故几乎所有离散扩散模型都用因子化速率矩阵:只允许单 token 跳变Qt(yx)=0Q_t(y\mid x)=0x,yx,y 相差超过一个位置)。输出形状降为 d×Vd\times V,随维度线性增长,可用一个序列到序列的 Transformer 输出。

    1. 条件概率路径:因子化混合路径(逐 token 独立加噪)。以调度器 κt\kappa_tκ0=0,κ1=1\kappa_0=0,\kappa_1=1)定义 pt(xz)=j=1d[(1κt)pinit(j)(xj)+κtδzj(xj)]p_t(x\mid z)=\prod_{j=1}^d\big[(1-\kappa_t)p_{\text{init}}^{(j)}(x_j)+\kappa_t\,\delta_{z_j}(x_j)\big] 等价采样:掩码 mjBernoulli(κt)m_j\sim\text{Bernoulli}(\kappa_t)xj=mjzj+(1mj)ξjx_j=m_j z_j+(1-m_j)\xi_j。它不搬运概率质量(离散空间没有方向),而是“淡出噪声、淡入数据”。
    2. 条件速率矩阵:可解析写出(只允许跳向目标 token zjz_j)。
    3. 离散 marginalization trick(离散版 Theorem 9):边缘速率矩阵 Qt(yx)=zQtz(yx)p1t(zx)Q_t(y\mid x)=\sum_z Q_t^z(y\mid x)p_{1\mid t}(z\mid x),用 Kolmogorov 前向方程(离散版连续性方程)证明其生成边缘路径。
    4. 重参数化为去噪概率网络:边缘速率矩阵本质是逐位置分类器 p1tθ(zj=vix)p_{1\mid t}^\theta(z_j=v_i\mid x)(给定含噪序列 xx,预测第 jj 位干净 token 的分布)。训练损失退化为逐位置交叉熵LDFM(θ)=Ezpdata,t,xpt(z)[j=1dlogp1tθ(zjx)]\mathcal{L}_{\text{DFM}}(\theta)=\mathbb{E}_{z\sim p_{\text{data}},\,t,\,x\sim p_t(\cdot\mid z)}\Big[\sum_{j=1}^d-\log p_{1\mid t}^\theta(z_j\mid x)\Big]

    惊人的简洁性:正如连续流匹配退化为回归,离散流匹配/离散扩散退化为分类训练——只需训练“每个位置猜原 token”的网络(Algorithm 8)。采样时用因子化的并行 Euler 步逐步去噪。

    把词表扩展一个特殊 token [MASK]V={v1,,vV,[MASK]}\mathcal{V}=\{v_1,\dots,v_V,\texttt{[MASK]}\}),初始点设为全掩码序列 pinit=δ[MASK]dp_{\text{init}}=\delta_{[\texttt{MASK}]^d}。生成过程即从全 [MASK] 出发,逐步把位置“解掩码”填入真实 token(如 [MASK][MASK][MASK]… → The cat sat on the mat .)。这是当前 SOTA 离散扩散语言模型的主流配方。

    维度 连续流/扩散(ODE/SDE) 离散扩散(CTMC)
    状态空间 Rd\mathbb{R}^d Vd\mathcal{V}^d(离散)
    动力学 向量场 utu_t 速率矩阵 QtQ_t
    生成方程 连续性 / Fokker-Planck Kolmogorov 前向方程
    加噪本质 搬运概率质量(有方向) 淡入淡出(无方向,“teleport”)
    训练目标 回归(MSE) 分类(交叉熵)
    典型应用 图像/视频/音频 语言模型(MDLM)、DNA

    自回归语言模型的区别:AR 逐 token 从左到右、单向;离散扩散并行更新、双向、可迭代 refine。

    • 2021: Austin et al.(D3PM)提出离散状态空间扩散。
    • 2022–2023: Campbell et al. 用 CTMC 形式化连续时间离散扩散;SEDD(score entropy)等推进。
    • 2024: 掩码扩散语言模型(MDLM)、离散流匹配(Discrete Flow Matching)成为主线。
    • 2025–: LLaDA 等大规模扩散语言模型验证其可与自回归 LM 竞争(本页据 MIT 6.S184 第 7 章整理)。
    • 「离散扩散就是把连续扩散离散化」:不是。离散空间没有 SDE/布朗运动,用的是 CTMC + 速率矩阵这套独立但结构平行的数学。
    • 「加噪也是在搬运数据」:连续扩散搬运概率质量、有方向;离散混合路径只是概率地“淡出原 token、淡入噪声/掩码”,无方向。
    • 「训练很复杂」:恰相反——因子化后训练就是逐位置交叉熵分类,比连续情形还直观。