离散图扩散模型中的转移公式推导

问题

原文Digress项目源码中直接给出了这一段(类似)

python 复制代码
    # 二值边的 t 步边际混合(对应 docstring 里的 Q_bar_t):
    # - clean=1 的边,以概率 alpha_bar_t 保持原值;否则以概率 (1-alpha_bar_t) 按边际采样
    # - clean=0 的边,只能来自"按边际采样"的那部分
    p_keep = alpha_bar_t + (1.0 - alpha_bar_t) * p_e
    p_flip = (1.0 - alpha_bar_t) * p_e

在理解上就是已有边就有两种转移状态(保持原状或者变成空边),但是空边只有一种转移状态(变成实边)。空边:为什么?这不公平!!!

开庭

为什么这里是这种情况呢?其实源自后续要求的目标是 P(Et=1)P(E_t =1)P(Et=1) 的概率分布是边际分布,请听我细细道来:

首先整体上设置的转移矩阵形式是这样的,这里假定边类别只有两种 也就是在有边、无边的状态间转移,nnn是节点个数:
Qt=aIn×n+(1−a)MM=1−pepe⋮⋮1−pepen×2 Q_t = aI_{n \times n} + (1-a)M \qquad M = \begin{bmatrix} 1-p_e & p_e \\ \vdots & \vdots \\ 1-p_e & p_e \end{bmatrix}_{n \times 2} Qt=aIn×n+(1−a)MM= 1−pe⋮1−pepe⋮pe n×2

以上噪声强度也就是变化的概率,即以 aaa 的概率保持不变,1−a1-a1−a 的概率按边际分布采样; pep_epe 是期望最后数据集层面的实边密度(实边的密度,比如实边占了60%,那么这里就是0.6),令mmm是期望的边际概率密度向量 P(Et=0),P(Et=1)=1−pe,peP(E_t=0),P(E_t=1)=1-p_e,p_eP(Et=0),P(Et=1)=1−pe,pe,我们想让整体的边状态都符合期望也就是最终每条边的概率分布都是 mmm,所以确定了 MMM 的样子。

那么把上面的公式拆开:

1.原本为实边:

P(Et=1∣E0=1)=a+(1−a)pe P(E_t=1|E_0=1)=a+(1-a)p_e P(Et=1∣E0=1)=a+(1−a)pe

让最后的状态为实边的一种情况是保持不变的话就是概率 aaa,另一种情况如果变了的话还想让状态是实边就需要:变化的概率乘以最终实边的概率也就是 (1−a)∗pe(1-a)*p_e(1−a)∗pe,两者之和既是 P(Et=1∣E0=1)P(E_t=1|E_0=1)P(Et=1∣E0=1)

为了对称这里也可以得到实边最后变成空边的概率,但是这个没用,因为后面要的是实边的分布(但是也可以反向对应)
P(Et=0∣E0=1)=(1−a)(1−pe) P(E_t=0|E_0=1)=(1-a)(1-p_e) P(Et=0∣E0=1)=(1−a)(1−pe)

2.原本为空边

P(Et=1∣E0=0)=(1−a)pe P(E_t=1|E_0=0)=(1-a)p_e P(Et=1∣E0=0)=(1−a)pe

这里如果要让状态是实边那么,对原本是空的边只存在一种方法也就是按照边际分布采样并且选择实边(1−a)pe(1-a)p_e(1−a)pe

为了对称这里也可以得到空边保持不变的概率(后续不会用到,道理同上)
P(Et=0∣E0=0)=a+(1−a)(1−pe) P(E_t=0|E_0=0)=a+(1-a)(1-p_e) P(Et=0∣E0=0)=a+(1−a)(1−pe)

以上其实就足以回答为什么代码中要那样设置了。但是下面我们再推一步,验证这样可以符合我们的转移要求。

3.全概率公式

现在问题就变简单了,验证一下,我要求 P(Et=1)P(E_t=1)P(Et=1),全概率公式展开:
qt=P(Et=1)=P(E0=1)P(Et=1∣E0=1)+P(E0=0)P(Et=1∣E0=0)=q0a+(1−a)pe+(1−q0)(1−a)pe=aq0+(1−a)peq_t=P(E_t=1)=P(E_0=1)P(E_t=1|E_0=1)+P(E_0=0)P(E_t=1|E_0=0)=q_0a+(1-a)p_e+(1-q_0)(1-a)p_e=aq_0+(1-a)p_eqt=P(Et=1)=P(E0=1)P(Et=1∣E0=1)+P(E0=0)P(Et=1∣E0=0)=q0a+(1−a)pe+(1−q0)(1−a)pe=aq0+(1−a)pe

可以看到最后qt=aq0+(1−a)peq_t=aq_0+(1-a)p_eqt=aq0+(1−a)pe,这个时候就满足我们的需求了,因为:
a=1qt=q0完全保持原有边密度a=1\qquad q_t=q_0 完全保持原有边密度a=1qt=q0完全保持原有边密度a=0qt=pe完全是噪声分布(给定的边际分布)a=0\qquad q_t=p_e完全是噪声分布(给定的边际分布)a=0qt=pe完全是噪声分布(给定的边际分布)0<a<1qt=aq0+(1−a)pe0<a<1\qquad q_t=aq_0+(1-a)p_e0<a<1qt=aq0+(1−a)pe

也就是边密度是原始边密度和噪声边密度的凸组合,逐步向 pep_epe 靠拢。这个状态的实现和前面 QtQ_tQt 转移公式的形式相呼应。

注意这里Digress为了保证噪声偏得不是太远这里设定上是 q0=peq_0=p_eq0=pe 的也就是边密度全程是保持不变的,这确实意味着在边密度层面上"不用转换",但是:

  • 边的具体分布仍然会被扰动(因为噪声过程会随机翻转边)
  • 只是总体边密度不变

这里降低难度方便模型训练。

相关推荐
selia10783 分钟前
AI手撕代码笔记
人工智能·笔记·深度学习
树獭哥12 分钟前
量化金融入门:从数据规则到随机游走与凯利公式
人工智能·算法·金融·量化金融
联盟分享专家12 分钟前
2026独立站引流推广:低成本获取网站精准流量的7个渠道
人工智能
G智爱AI19 分钟前
2026工作汇报PPT AI工具实测|主流省时办公工具横向对比
人工智能·powerpoint
迪康coolmu19 分钟前
当大模型遇上终端安全—AI驱动的智能运维实践
运维·人工智能·安全
财迅通Ai20 分钟前
科源制药携手腾讯云推进AI办公迭代升级
人工智能·云计算·腾讯云·科源制药
DS随心转APP26 分钟前
实测 AI 导出鸭实操效果,依托 AI 直接生成 word 功能横向比对五类导出办法,梳理办公文档转换最优路径
人工智能·ai·word·deepseek·ai导出鸭
前沿在线34 分钟前
2026 WRC世界机器人大会| 黑芝麻智能展台亮点
人工智能·ai·大模型
QYRdata41 分钟前
28.7%年复合增速锚定AI模型安全赛道,2026-2032年行业步入高速扩容新阶段
人工智能·安全
皮卡丘不断更42 分钟前
Vibe Coding 做完原型后:给网页项目加上任务、验证和人工确认
人工智能·软件工程