从 DV 表示到 MI 下界,再到“置换技巧“(含“指数倾斜“完整推导)

从 DV 表示到 MI 下界,再到"置换技巧"(含"指数倾斜"完整推导)

本文 = 两条线的合体:

① 地基 :DV 表示是怎么来的------由 TTT 定义的"指数倾斜"分布 QTQ_TQT,以及"下界与真实 KL 做差"的完整证明;

② 落地:把 DV 表示代入 MI,再用"置换技巧"变成可计算的经验估计器(MINE / InfoAtlas 都这么用)。


0. 一张总路线图

复制代码
[地基] DV 表示 + 指数倾斜 Q_T
   D_KL(P||Q) = sup_T [ E_P[T] − log E_Q[e^T] ]
        │  代入 P=p_xy, Q=p_x⊗p_y
        ▼
[半抽象] MI 的 DV 下界
   I(X;Y) = sup_T [ E_pxy[T] − log E_pxpy[e^T] ]
        │  用 n 个样本做经验平均;边缘项缺"独立样本"
        ▼
[落地] 置换技巧 + 经验估计器
   Î = (1/n)Σ T(x_i,y_i) − log( (1/n)Σ e^{T(x_i,y_π(i))} )
        ▼
   MINE 训练用它 / InfoAtlas 一次前向用它

下面 = "地基"(§1--§2)+ "落地"(§3--§8)。


第一部分:地基------DV 表示与"指数倾斜"分布 QTQ_TQT

框架:我们要的是一个数 DKL(P∥Q)D_{KL}(P\|Q)DKL(P∥Q);QQQ 是钉死的基准 (原料);被优化的是 TTT(配方);QTQ_TQT 是 TTT 的产物 (成品);TTT 调到对数密度比时 QT=PQ_T=PQT=P。

1.1 定义:从固定的 QQQ 和可调的 TTT,"调配"出 QTQ_TQT

第一步:取基准分布 QQQ(固定) 。MI 场景里 Q=px⊗pyQ=p_x\otimes p_yQ=px⊗py(把 x,yx,yx,y 当独立)。

第二步:取打分函数 TTT(可调) 。任意满足 EQeT<∞\mathbb{E}_Qe\^T<\inftyEQeT<∞ 的函数。

第三步:按 eTe^TeT 给 QQQ 重新加权:

  dQT=eTEQeT dQ  \boxed{\;dQ_T=\frac{e^{T}}{\mathbb{E}_Qe\^{T}}\,dQ\;}dQT=EQeTeTdQ

读法:对 QQQ 每一点乘权重 eTe^{T}eT,再归一化 。QQQ 全程不动,TTT 是唯一自变量,QTQ_TQT 随 TTT 走。

1.2 合法性检查:它凭什么是概率分布

① 非负 :eT(x)>0e^{T(x)}>0eT(x)>0,且 EQeT=∫eTdQ>0\mathbb{E}_Qe\^T=\int e^T dQ>0EQeT=∫eTdQ>0。

② 归一 :

∫dQT=1EQeT∫eTdQ=EQeTEQeT=1.\int dQ_T=\frac{1}{\mathbb{E}_Qe\^T}\int e^T dQ=\frac{\mathbb{E}_Qe\^T}{\mathbb{E}_Qe\^T}=1.∫dQT=EQeT1∫eTdQ=EQeTEQeT=1.

③ 前提 :EQeT<∞\mathbb{E}_Qe\^T<\inftyEQeT<∞,否则归一化常数发散、QTQ_TQT 退化。

1.3 它相对 QQQ 的似然比

dQTdQ=eTEQeT.\frac{dQ_T}{dQ}=\frac{e^{T}}{\mathbb{E}_Qe\^{T}}.dQdQT=EQeTeT.

这就是"TTT 指示倾斜方向"的严格形式 :T(x)T(x)T(x) 越大,xxx 处密度越被抬高。

1.4 关键性质:TTT 调到对数密度比时,QTQ_TQT 恰好变成 PPP

取 T∗=ln⁡dPdQT^*=\ln\dfrac{dP}{dQ}T∗=lndQdP。则 eT∗=dPdQe^{T^*}=\dfrac{dP}{dQ}eT∗=dQdP,归一化常数

EQeT∗=∫dPdQdQ=∫dP=1,\mathbb{E}_Qe\^{T\^\*}=\int\frac{dP}{dQ}dQ=\int dP=1,EQeT∗=∫dQdPdQ=∫dP=1,

所以 dQT∗=dP/dQ1dQ=dPdQ_{T^*}=\dfrac{dP/dQ}{1}dQ=dPdQT∗=1dP/dQdQ=dP,即

QT∗=P.\boxed{Q_{T^*}=P.}QT∗=P.

这是推导的"锚点":最优 TTT 就是让成品 QTQ_TQT 最接近 PPP 的那个 TTT。

1.5 详推:把下界与真实 KL 做差

要证 :

DKL(P∥Q)−(EPT−ln⁡EQeT)=DKL(P∥QT) ≥ 0.D_{KL}(P\|Q)-\Big(\mathbb{E}_PT-\ln\mathbb{E}Qe\^T\Big)=D{KL}(P\|Q_T)\ \ge\ 0.DKL(P∥Q)−(EPT−lnEQeT)=DKL(P∥QT) ≥ 0.

先声明两个前提(否则中间等式不成立):

  • 绝对连续 :P≪QP\ll QP≪Q 且 P≪QTP\ll Q_TP≪QT,保证密度比 dP/dQdP/dQdP/dQ、dP/dQTdP/dQ_TdP/dQT 存在;
  • EQeT<∞\mathbb{E}_Qe\^T<\inftyEQeT<∞,保证 QTQ_TQT 合法。

记这个"差"为

Δ(T):=DKL(P∥Q)−B(T),B(T):=EPT−ln⁡EQeT.\Delta(T):=D_{KL}(P\|Q)-\mathcal{B}(T),\qquad \mathcal{B}(T):=\mathbb{E}_PT-\ln\mathbb{E}_Qe\^T.Δ(T):=DKL(P∥Q)−B(T),B(T):=EPT−lnEQeT.

5.1 用 KL 定义展开第一项

DKL(P∥Q)=EPln⁡dPdQ.D_{KL}(P\|Q)=\mathbb{E}_P\left\\ln\\frac{dP}{dQ}\\right.DKL(P∥Q)=EPlndQdP.

(dP/dQdP/dQdP/dQ 是 Radon--Nikodym 导数,有密度时就是 p/qp/qp/q。)

5.2 下界项

B(T)=EPT−ln⁡EQeT.\mathcal{B}(T)=\mathbb{E}_PT-\ln\mathbb{E}_Qe\^T.B(T)=EPT−lnEQeT.

5.3 写成三项

Δ(T)=EPln⁡dPdQ⏟①−EPT⏟②+ln⁡EQeT⏟③(常数).\Delta(T)=\underbrace{\mathbb{E}P\left\\ln\\frac{dP}{dQ}\\right}{\text{①}}-\underbrace{\mathbb{E}PT}{\text{②}}+\underbrace{\ln\mathbb{E}Qe\^T}{\text{③(常数)}}.Δ(T)=① EPlndQdP−② EPT+③(常数) lnEQeT.

5.4 前两项合并进一个期望

EPln⁡dPdQ−EPT=EPln⁡dPdQ−T=EPln⁡dP/dQeT.\mathbb{E}_P\left\\ln\\frac{dP}{dQ}\\right-\mathbb{E}_PT=\mathbb{E}_P\left\\ln\\frac{dP}{dQ}-T\\right=\mathbb{E}_P\left\\ln\\frac{dP/dQ}{e\^T}\\right.EPlndQdP−EPT=EPlndQdP−T=EPlneTdP/dQ.

(用了 ln⁡a−ln⁡b=ln⁡(a/b)\ln a-\ln b=\ln(a/b)lna−lnb=ln(a/b) 与 T=ln⁡eTT=\ln e^TT=lneT。)

5.5 把常数项也吸进期望

ln⁡EQeT\ln\mathbb{E}_Qe\^TlnEQeT 与样本 xxx 无关,是确定性常数,而 EP1=1\mathbb{E}_P1=1EP1=1,所以

ln⁡EQeT=EPln⁡EQ\[eT].\ln\mathbb{E}_Qe\^T=\mathbb{E}_P\left\\ln\\mathbb{E}_Q\[e\^T\right].lnEQeT=EPlnEQ\[eT].

于是

Δ(T)=EPln⁡dP/dQeT+EPln⁡EQ\[eT]=EPln⁡dP/dQeT+ln⁡EQ\[eT].\Delta(T)=\mathbb{E}_P\left\\ln\\frac{dP/dQ}{e\^T}\\right+\mathbb{E}_P\left\\ln\\mathbb{E}_Q\[e\^T\right]=\mathbb{E}_P\left\\ln\\frac{dP/dQ}{e\^T}+\\ln\\mathbb{E}_Q\[e\^T\right].Δ(T)=EPlneTdP/dQ+EPlnEQ\[eT]=EPlneTdP/dQ+lnEQ\[eT].

5.6 合并对数

ln⁡dP/dQeT+ln⁡EQeT=ln⁡(dP/dQeT⋅EQeT)=ln⁡dP/dQeT/EQeT.\ln\frac{dP/dQ}{e^T}+\ln\mathbb{E}_Qe\^T=\ln\left(\frac{dP/dQ}{e^T}\cdot\mathbb{E}_Qe\^T\right)=\ln\frac{dP/dQ}{e^T/\mathbb{E}_Qe\^T}.lneTdP/dQ+lnEQeT=ln(eTdP/dQ⋅EQeT)=lneT/EQeTdP/dQ.

5.7 认出分母就是 QTQ_TQT 的似然比

由定义 dQTdQ=eTEQeT\dfrac{dQ_T}{dQ}=\dfrac{e^T}{\mathbb{E}_Qe\^T}dQdQT=EQeTeT,所以

Δ(T)=EPln⁡dP/dQdQT/dQ.\Delta(T)=\mathbb{E}_P\left\\ln\\frac{dP/dQ}{dQ_T/dQ}\\right.Δ(T)=EPlndQT/dQdP/dQ.

5.8 用 Radon--Nikodym 链式法则化简

若 P≪QT≪QP\ll Q_T\ll QP≪QT≪Q,则

dPdQ=dPdQT⋅dQTdQ⟹dP/dQdQT/dQ=dPdQT.\frac{dP}{dQ}=\frac{dP}{dQ_T}\cdot\frac{dQ_T}{dQ}\quad\Longrightarrow\quad\frac{dP/dQ}{dQ_T/dQ}=\frac{dP}{dQ_T}.dQdP=dQTdP⋅dQdQT⟹dQT/dQdP/dQ=dQTdP.

(等价于 a/bc/b=ac\dfrac{a/b}{c/b}=\dfrac{a}{c}c/ba/b=ca。)所以

Δ(T)=EPln⁡dPdQT.\Delta(T)=\mathbb{E}_P\left\\ln\\frac{dP}{dQ_T}\\right.Δ(T)=EPlndQTdP.

5.9 认出这就是 DKL(P∥QT)D_{KL}(P\|Q_T)DKL(P∥QT)

Δ(T)=DKL(P∥QT).\Delta(T)=D_{KL}(P\|Q_T).Δ(T)=DKL(P∥QT).

5.10 用 KL 非负性(Gibbs 不等式)

DKL(P∥QT)≥0D_{KL}(P\|Q_T)\ge 0DKL(P∥QT)≥0,等号 iff P=QTP=Q_TP=QT。所以

Δ(T)≥0 ⟹ DKL(P∥Q)≥EPT−ln⁡EQeT.\Delta(T)\ge 0\ \Longrightarrow\ \boxed{D_{KL}(P\|Q)\ge\mathbb{E}_PT-\ln\mathbb{E}_Qe\^T}.Δ(T)≥0 ⟹ DKL(P∥Q)≥EPT−lnEQeT.

5.11 取等条件 → 最优 TTT

等号 ⟺ P=QTP=Q_TP=QT ⟺ dPdQ=eTEQeT\dfrac{dP}{dQ}=\dfrac{e^T}{\mathbb{E}_Qe\^T}dQdP=EQeTeT ⟺

T=ln⁡dPdQ+const.T=\ln\frac{dP}{dQ}+\text{const}.T=lndQdP+const.

5.12 常数自由度:为什么多个常数无妨

若 T→T+cT\to T+cT→T+c:

EPT+c−ln⁡EQeT+c=EPT+c−ln⁡(ecEQeT)=EPT+c−c−ln⁡EQeT.\mathbb{E}_PT+c-\ln\mathbb{E}_Qe\^{T+c}=\mathbb{E}_PT+c-\ln\left(e^c\mathbb{E}_Qe\^T\right)=\mathbb{E}_PT+c-c-\ln\mathbb{E}_Qe\^T.EPT+c−lnEQeT+c=EPT+c−ln(ecEQeT)=EPT+c−c−lnEQeT.

常数 ccc 抵消,B(T)\mathcal{B}(T)B(T) 不变。所以最优解可写 T∗=ln⁡dPdQT^*=\ln\dfrac{dP}{dQ}T∗=lndQdP。

5.13 验证:代入最优 T∗T^*T∗ 真能取到 KL

B(T∗)=EPln⁡dPdQ−ln⁡EQdPdQ=DKL(P∥Q)−ln⁡1=DKL(P∥Q).\mathcal{B}(T^*)=\mathbb{E}P\left\\ln\\frac{dP}{dQ}\\right-\ln\mathbb{E}Q\left\\frac{dP}{dQ}\\right=D{KL}(P\|Q)-\ln 1=D{KL}(P\|Q).B(T∗)=EPlndQdP−lnEQdQdP=DKL(P∥Q)−ln1=DKL(P∥Q).

吻合 ✓。

1.6 两个例子(把"倾斜"具象化)

例 1:离散两点------看"配方"怎么搬质量

QQQ 在 {a,b}\{a,b\}{a,b} 上均匀,T(a)=0, T(b)=ln⁡3T(a)=0,\ T(b)=\ln 3T(a)=0, T(b)=ln3。

EQeT=12⋅1+12⋅3=2,QT(a)=12⋅14=14,QT(b)=12⋅34=34.\mathbb{E}_Qe\^T=\tfrac12\cdot1+\tfrac12\cdot3=2,\qquad Q_T(a)=\tfrac12\cdot\tfrac14=\tfrac14,\quad Q_T(b)=\tfrac12\cdot\tfrac34=\tfrac34.EQeT=21⋅1+21⋅3=2,QT(a)=21⋅41=41,QT(b)=21⋅43=43.

成品 QT=(14,34)Q_T=(\tfrac14,\tfrac34)QT=(41,43):质量从 TTT 小的地方搬向 TTT 大的地方。

例 2:高斯平移------配方就是平移均值

Q=N(0,1)Q=\mathcal{N}(0,1)Q=N(0,1),T(x)=μxT(x)=\mu xT(x)=μx。

dQTdQ=eμxeμ2/2=eμx−μ2/2 ⟹ QT=N(μ,1).\frac{dQ_T}{dQ}=\frac{e^{\mu x}}{e^{\mu^2/2}}=e^{\mu x-\mu^2/2}\ \Longrightarrow\ Q_T=\mathcal{N}(\mu,1).dQdQT=eμ2/2eμx=eμx−μ2/2 ⟹ QT=N(μ,1).

配方 T=μxT=\mu xT=μx 的效果就是把均值从 0 平移到 μ\muμ。

1.7 这一部分的定位(收尾表)

问题 回答
目标 一个数 DKL(P∣Q)D_{KL}(P|Q)DKL(P∣Q);PPP 是给定参考
谁被优化 TTT(配方),QQQ 固定
QTQ_TQT 是什么 QQQ 在 TTT 下的成品:dQT=eTEQeTdQdQ_T=\frac{e^T}{\mathbb{E}_Qe\^T}dQdQT=EQeTeTdQ
最漂亮点 T∗=ln⁡dPdQT^*=\ln\frac{dP}{dQ}T∗=lndQdP 时 QT∗=PQ_{T^*}=PQT∗=P
本段结论 DKL(P∣Q)−B(T)=DKL(P∣QT)≥0D_{KL}(P|Q)-\mathcal{B}(T)=D_{KL}(P|Q_T)\ge0DKL(P∣Q)−B(T)=DKL(P∣QT)≥0,即"下界差多少 = 成品与目标差多少"

第二部分:落地------从 MI 到置换技巧

2. 把 DV 表示应用到 MI(推导不变,只代入)

2.1 代入哪两个分布

MI 的 KL 定义:

I(X;Y)=DKL(pxy ∥ px⊗py).I(X;Y)=D_{KL}(p_{xy}\,\|\,p_x\otimes p_y).I(X;Y)=DKL(pxy∥px⊗py).

对照 DV:P=pxyP=p_{xy}P=pxy(真实联合,给定)、Q=px⊗pyQ=p_x\otimes p_yQ=px⊗py(边缘乘积 = 独立分布)。

2.2 得到 MI 的 DV 下界

  I(X;Y)=sup⁡TEpxy\[T⏟联合项−log⁡Epx⊗pyeT⏟边缘项]  \boxed{\;I(X;Y)=\sup_{T}\Big\\underbrace{\\mathbb{E}_{p_{xy}}\[T}{\text{联合项}}-\log\underbrace{\mathbb{E}{p_x\otimes p_y}e\^{T}}_{\text{边缘项}}\Big]\;}I(X;Y)=Tsup联合项 Epxy\[T−log边缘项 Epx⊗pyeT]

对任意 TTT,括号里的值都是 I(X;Y)I(X;Y)I(X;Y) 的下界 :

I(X;Y) ≥ EpxyT−log⁡Epx⊗pyeT.I(X;Y)\ \ge\ \mathbb{E}{p{xy}}T-\log\mathbb{E}_{p_x\otimes p_y}e\^{T}.I(X;Y) ≥ EpxyT−logEpx⊗pyeT.

2.3 最优 critic 是什么

由 QT∗=PQ_{T^*}=PQT∗=P,T∗=ln⁡dPdQT^*=\ln\frac{dP}{dQ}T∗=lndQdP,代入 MI 的 P,QP,QP,Q:

T∗(x,y)=ln⁡p(x,y)p(x) p(y)=PMI(x;y).T^*(x,y)=\ln\frac{p(x,y)}{p(x)\,p(y)}=\mathrm{PMI}(x;y).T∗(x,y)=lnp(x)p(y)p(x,y)=PMI(x;y).

点互信息(PMI)------critic 学的就是它。

2.4 T∗T^*T∗ 是"逐点说明书",III 是"总代价"

校准一:T∗T^*T∗ 不是一个"倾斜程度(标量)",而是一个逐点函数。

T∗T^*T∗ 不是数字,是定义在每一对 (x,y)(x,y)(x,y) 上的函数:

T∗(x,y)=ln⁡p(x,y)p(x)p(y)=PMI(x,y)T^*(x,y)=\ln\frac{p(x,y)}{p(x)p(y)}=\mathrm{PMI}(x,y)T∗(x,y)=lnp(x)p(y)p(x,y)=PMI(x,y)

它告诉你每个点该被抬高多少:

  • T∗(x,y)>0T^*(x,y)>0T∗(x,y)>0:(x,y)(x,y)(x,y) 比"独立"时更常出现 → 正相关;
  • T∗(x,y)<0T^*(x,y)<0T∗(x,y)<0:比独立时更少见 → 负相关;
  • 逐点拼起来,才是"整片空间怎么倾斜"。

所以准确说:T∗T^*T∗ 是"倾斜的方向 + 逐点幅度",不是"一个倾斜程度"。

校准二:真正表达"强度"的,是 T∗T^*T∗ 的期望。

"强度"是一个数,所以要对 T∗T^*T∗ 取期望(在联合分布下):

EpxyT∗=Epxyln⁡p(x,y)p(x)p(y)=I(X;Y)\boxed{\mathbb{E}{p{xy}}T\^\*=\mathbb{E}{p{xy}}\Big\\ln\\frac{p(x,y)}{p(x)p(y)}\\Big=I(X;Y)}EpxyT∗=Epxylnp(x)p(y)p(x,y)=I(X;Y)

  • T∗T^*T∗:逐点的依赖方向/幅度(函数);
  • I(X;Y)I(X;Y)I(X;Y):整体的依赖强度(标量)= "T∗T^*T∗ 的平均值"。

一句话:T∗T^*T∗ 是倾斜的说明书,III 是倾斜的总代价。

术语提醒 :MI 量的是依赖程度 ,方向是反的------I(X;Y)=0I(X;Y)=0I(X;Y)=0 ⟺ 独立;III 越大 ⟺ 依赖越强。

完整画面:

复制代码
Q = p_x⊗p_y(独立,基准)
      │  按 e^{T*} 倾斜
      ▼
T* = ln[p(x,y)/(p(x)p(y))]  ← 逐点函数:每个点抬多少(可正可负)= PMI
      │
      ▼
Q_{T*} = p_xy(真实联合,目标)  ← 倾斜到最优,恰好复刻目标
      │  取期望 E_pxy[·]
      ▼
I(X;Y) = E_pxy[T*]            ← 一个标量:整体"倾斜的总代价" = 依赖强度

一个更"富"的视角 :正因为 T∗T^*T∗ 是函数而不是标量,它比一个数字更有信息量:

  • 单个数字 III:只告诉你"有多依赖";
  • 函数 T∗(x,y)T^*(x,y)T∗(x,y):还告诉你"在哪里依赖"(哪片区域正相关、哪片负相关)。

这就是为什么 InfoAtlas 的 critic 学到的不只是"一个 MI 值",而是一张"逐点依赖地图"------下游(奖励塑形、可控生成)才能直接用它。

3. 缺口:为什么我们"算不出"这个下界

3.1 我们手里有什么

只有 nnn 个联合样本 (xi,yi)∼pxy(x_i,y_i)\sim p_{xy}(xi,yi)∼pxy。

3.2 我们要什么

  • 联合项 EpxyT\mathbb{E}{p{xy}}TEpxyT:好估,直接对联合样本求平均;
  • 边缘项 Epx⊗pyeT\mathbb{E}_{p_x\otimes p_y}e\^TEpx⊗pyeT:难估 ,要求 x,yx,yx,y 独立地抽。

3.3 为什么不能"先估密度再采样"

先估 p^x,p^y\hat p_x,\hat p_yp^x,p^y 再采样 = 回到密度估计老路:高维估不准,正是 KSG 想绕开、KDE 栽跟头的地方(InfoAtlas 表里 KDE 估 1.59、真值 0.59)。

3.4 为什么也不能"随便错位配对"

把 yyy 整体挪一位配成 (xi,yi+1)(x_i,y_{i+1})(xi,yi+1):顺序一不随机(按时间/按 yyy 排序)独立性就崩;且固定错位不是无偏的,只用了样本集里的一种配对。

4. 置换技巧:从联合样本里"造出"独立样本

4.1 一句话

取均匀随机置换 π\piπ,把 yyy 按 π\piπ 打乱后重新配对 (xi,yπ(i))(x_i,y_{\pi(i)})(xi,yπ(i))。

4.2 具体构造(三步)

  1. 得到 x1,...,xnx_1,\dots,x_nx1,...,xn 与 y1,...,yny_1,\dots,y_ny1,...,yn;
  2. 均匀随机取一个置换 π\piπ(把 1..n1..n1..n 随机打乱);
  3. 用打乱后的配对估边缘项:
    E^eT:=1n∑i=1neTθ(xi, yπ(i))\hat{\mathbb{E}}e\^T:=\frac1n\sum_{i=1}^n e^{T_\theta(x_i,\,y_{\pi(i)})}E^eT:=n1i=1∑neTθ(xi,yπ(i))

三样本小例子:

复制代码
原始联合配对: (x1,y1), (x2,y2), (x3,y3)
置换 π = [3,1,2](1→3, 2→1, 3→2)
打乱后配对:   (x1,y3), (x2,y1), (x3,y2)

4.3 为什么它给出"独立配对"(严谨版)

前提 :π\piπ 与数据独立地抽取。

命题 :对固定的数据,对任意 fff,

Eπ ⁣1n∑i=1nf(xi, yπ(i))=1n2∑i=1n∑j=1nf(xi,yj)=Ep^x⊗p^yf.\mathbb{E}{\pi}\!\left\\frac1n\\sum_{i=1}\^n f(x_i,\\,y_{\\pi(i)})\\right=\frac1{n^2}\sum{i=1}^n\sum_{j=1}^n f(x_i,y_j)=\mathbb{E}_{\hat p_x\otimes\hat p_y}f.Eπn1i=1∑nf(xi,yπ(i))=n21i=1∑nj=1∑nf(xi,yj)=Ep^x⊗p^yf.

证明 :固定 iii,π\piπ 均匀随机 ⟹ π(i)\pi(i)π(i) 在 {1,...,n}\{1,\dots,n\}{1,...,n} 上均匀 ⟹

Eπf(xi,yπ(i))=1n∑j=1nf(xi,yj),\mathbb{E}{\pi}f(x_i,y_{\\pi(i)})=\frac1n\sum{j=1}^n f(x_i,y_j),Eπf(xi,yπ(i))=n1j=1∑nf(xi,yj),

对 iii 取平均即得。∎

直觉 :yπ(i)y_{\pi(i)}yπ(i) 不再是"和 xix_ixi 原来那对"绑定的 yyy,而是数据里"随便一个 yyy";π\piπ 与数据独立,保证这种"随便"不带偏好。

注意 :上式对经验边缘乘积 p^x⊗p^y\hat p_x\otimes\hat p_yp^x⊗p^y 无偏;n→∞n\to\inftyn→∞ 时相合。

4.4 它比"独立有放回抽样"更好

置换是无放回 的(π\piπ 双射,每个 yjy_jyj 恰用一次,平衡匹配),期望一样但方差更低。

5. 完整的经验估计器(MINE / InfoAtlas 的公式)

  I^θ=1n∑i=1nTθ(xi,yi)  −  log⁡(1n∑i=1neTθ(xi, yπ(i)))  \boxed{\;\hat I_\theta=\frac1n\sum_{i=1}^n T_\theta(x_i,y_i)\;-\;\log\Big(\frac1n\sum_{i=1}^n e^{T_\theta(x_i,\,y_{\pi(i)})}\Big)\;}I^θ=n1i=1∑nTθ(xi,yi)−log(n1i=1∑neTθ(xi,yπ(i)))

  • 第一项:联合项 ,原始配对 (xi,yi)(x_i,y_i)(xi,yi);
  • 第二项:边缘项 ,置换配对 (xi,yπ(i))(x_i,y_{\pi(i)})(xi,yπ(i));
  • 对 θ\thetaθ 梯度上升,逼近 I(X;Y)I(X;Y)I(X;Y) 的下界。

MINE 用它训练;InfoAtlas 逐字沿用(只是把逐数据集训练换成超网络推理)。

6. 为什么 InfoAtlas 原样沿用这个技巧

  • joint path ↔ 原始配对 ↔ 联合项;
  • marginal path ↔ 打乱配对 ↔ 边缘项 。
    InfoAtlas 项目页原话:"a marginal path shuffles the pairing to model independence。" ------ 就是这里的置换技巧。

7. 置换技巧的四个坑(详解版)

置换技巧的四个坑(详解版)

这是 DV表示到MI与置换技巧_完整版.md 中 §7 的详细展开版,可单独阅读。

共同前提 :置换估计量 M^π:=1n∑i=1neT(xi,yπ(i))\hat M_\pi:=\frac1n\sum_{i=1}^n e^{T(x_i,y_{\pi(i)})}M^π:=n1∑i=1neT(xi,yπ(i)),对固定的数据、随机的置换 取期望时,无偏地估计 Ep^x⊗p^yeT\mathbb{E}_{\hat p_x\otimes\hat p_y}e\^TEp^x⊗p^yeT。

四个坑,全是"从 M^π\hat M_\piM^π 走到真实 Epx⊗pyeT\mathbb{E}_{p_x\otimes p_y}e\^TEpx⊗pyeT"这段路上的裂缝。


坑 1:批内置换 vs 全数据置换

现象:同样是打乱,在哪一层打乱,结果差一截。

机制:

  • 在一个批 (BBB 个点)里打乱 → 经验边缘是 p^xB,p^yB\hat p_x^{B},\hat p_y^{B}p^xB,p^yB,只用了 BBB 个点;
  • 在全数据 (nnn 个点)里打乱 → 经验边缘是 p^xn,p^yn\hat p_x^{n},\hat p_y^{n}p^xn,p^yn,用了 nnn 个点。

量级 :经验分布逼近真实分布的误差约 O(1/B)O(1/\sqrt{B})O(1/B ),所以"目标"本身就带 O(1/B)O(1/\sqrt{B})O(1/B ) 的偏差。

后果:

  • 训练时(必须小批做梯度)只能用批内置换,每步边际估计都有"粗边缘"偏差;
  • 最终估计应换全数据/大 batch 做置换。

缓解:训练接受批内置换(靠 EMA 平滑);最终估计用全数据或大 batch。

与 InfoAtlas 的关系 :它推理时是"一次前向",可对完整数据集 做置换 → 这条坑在推理 阶段较轻;但预训练用小批,同样存在。


坑 2:同批复用 → 偏(为什么 MINE 要 EMA)

最深层、最需要讲的坑。拆成三块:机制一(值层面的 Jensen 缺口)+ 机制二(梯度层面的比值偏)+ EMA(同时治两者)。

2.1 先站好位置:值 vs 梯度

DV 估计量(样本版):

I^=1n∑iT(xi,yi)⏟J^ 联合项  −  log⁡(1n∑jeTj′)⏟log⁡M^ 边缘项,Tj′=T(xj,yπ(j))\hat I=\underbrace{\frac1n\sum_i T(x_i,y_i)}{\hat J\ \text{联合项}}\;-\;\underbrace{\log\Big(\frac1n\sum_j e^{T_j'}\Big)}{\log\hat M\ \text{边缘项}},\qquad T_j'=T(x_j,y_{\pi(j)})I^=J^ 联合项 n1i∑T(xi,yi)−logM^ 边缘项 log(n1j∑eTj′),Tj′=T(xj,yπ(j))

  • 值 :I^=J^−log⁡M^\hat I=\hat J-\log\hat MI^=J^−logM^;
  • 训练要梯度 :∇θI^=∇J^−∇(log⁡M^)\nabla_\theta\hat I=\nabla\hat J-\nabla(\log\hat M)∇θI^=∇J^−∇(logM^)。

机制一在值 上,机制二在梯度上,EMA 治两个。

2.2 机制一:Jensen 缺口(值层面)

一句话 :log⁡\loglog 是凹函数,log⁡\loglog 一个"样本均值"会系统性低估 log⁡\loglog 真期望。

推导(二阶泰勒):

log⁡M^≈log⁡M+M^−MM−(M^−M)22M2\log\hat M\approx\log M+\frac{\hat M-M}{M}-\frac{(\hat M-M)^2}{2M^2}logM^≈logM+MM^−M−2M2(M^−M)2

取期望(EM\^−M=0\mathbb{E}\\hat M-M=0EM\^−M=0):

Elog⁡M\^≈log⁡M−Var(M^)2M2\boxed{\mathbb{E}\\log\\hat M\approx\log M-\frac{\mathrm{Var}(\hat M)}{2M^2}}ElogM\^≈logM−2M2Var(M^)

括号里是恒为负 的 Var(M^)2M2\dfrac{\mathrm{Var}(\hat M)}{2M^2}2M2Var(M^),所以 log⁡M^\log\hat MlogM^ 低估 log⁡M\log MlogM。

后果 :I^=J^−log⁡M^\hat I=\hat J-\log\hat MI^=J^−logM^,低估的 log⁡M^\log\hat MlogM^ 被减掉 → I^\hat II^ 被系统性地抬高。

量级 :Var(M^)∼O(1/n)\mathrm{Var}(\hat M)\sim O(1/n)Var(M^)∼O(1/n),所以缺口 ∼O(1/n)\sim O(1/n)∼O(1/n),批越小越狠。

本质 :凹函数插值偏(plug-in bias) ------"先平均再取 log" ≠\ne= "先取 log 再平均"。

2.3 机制二:比值偏(梯度层面)

一句话 :梯度里有一个"自归一化比值",分子分母共用同一批样本 ,所以"比值的期望 ≠\ne= 期望的比值"。

展开梯度:

∇θ(−log⁡M^)=−1n∑jeTj′∇Tj′1n∑jeTj′=−A^B^⏟真分数\nabla_\theta(-\log\hat M)=-\frac{\frac1n\sum_j e^{T_j'}\nabla T_j'}{\frac1n\sum_j e^{T_j'}}=-\underbrace{\frac{\hat A}{\hat B}}_{\text{真分数}}∇θ(−logM^)=−n1∑jeTj′n1∑jeTj′∇Tj′=−真分数 B^A^

其中 A^=1n∑jeTj′∇Tj′\hat A=\frac1n\sum_j e^{T_j'}\nabla T_j'A^=n1∑jeTj′∇Tj′,B^=1n∑jeTj′\hat B=\frac1n\sum_j e^{T_j'}B^=n1∑jeTj′,两者都用当前批的同一组 jjj。

为什么必偏:

E ⁣A\^B\^  ≠  EA\^EB\^\mathbb{E}\!\left\\frac{\\hat A}{\\hat B}\\right\;\ne\;\frac{\mathbb{E}\\hat A}{\mathbb{E}\\hat B}EB\^A\^=EB\^EA\^

因为 A^,B^\hat A,\hat BA^,B^ 同涨同落 :权重大时一起大,权重小时一起小。减法 里能抵消,除法里抵消不掉 → 比值被系统性带偏(一般偏低)。

量级 :也是 O(1/n)O(1/n)O(1/n)。

两样本数值例子 (∇Tj′=wj\nabla T_j'=w_j∇Tj′=wj,比值即 ∑wj2∑wj\frac{\sum w_j^2}{\sum w_j}∑wj∑wj2,w∈{1,3}w\in\{1,3\}w∈{1,3} 各半):

样本 比值
(1,1) 1
(1,3) 2.5
(3,1) 2.5
(3,3) 3

平均比值 =2.25=2.25=2.25,而"真比值" =Ew2Ew=2.5=\dfrac{\mathbb{E}w\^2}{\mathbb{E}w}=2.5=EwEw2=2.5。2.25≠2.52.25\ne 2.52.25=2.5------共享样本造成的偏,看得见。

本质 :也是插值偏,只不过被插值的对象是梯度里的比值,不是值里的 log。

关键澄清:为什么"期望的比值"才是真值?

很多人会卡在"比值的期望"和"期望的比值"到底哪个是真值。关键是把三个角色分开:

角色 是什么 在这里
真值 我们本来要算的梯度(由微积分给出) μAμB=EeT∇TEeT\dfrac{\mu_A}{\mu_B}=\dfrac{\mathbb{E}e\^T\\nabla T}{\mathbb{E}e\^T}μBμA=EeTEeT∇T("期望的比值")
估计量 用样本近似它 A^B^=1n∑eT∇T1n∑eT\dfrac{\hat A}{\hat B}=\dfrac{\frac1n\sum e^{T}\nabla T}{\frac1n\sum e^{T}}B^A^=n1∑eTn1∑eT∇T
估计量的均值 这个"仪器"的平均行为 EA\^/B\^\mathbb{E}\\hat A/\\hat BEA\^/B\^("比值的期望")

① 真值 = 微积分算出来的梯度:

∇θ(−log⁡EpxpyeTθ)=−EpxpyeTθ∇θTθEpxpyeTθ=−μAμB\nabla_\theta\big(-\log\mathbb{E}{p_xp_y}e\^{T_\\theta}\big)=-\frac{\mathbb{E}{p_xp_y}e\^{T_\\theta}\\nabla_\\theta T_\\theta}{\mathbb{E}_{p_xp_y}e\^{T_\\theta}}=-\frac{\mu_A}{\mu_B}∇θ(−logEpxpyeTθ)=−EpxpyeTθEpxpyeTθ∇θTθ=−μBμA

它恰恰是"期望的比值"------来源是微积分,不是任何估计量的均值。

② 估计量的均值 ≠\ne= 真值 :因为"真值"不是"估计量的均值";反过来,"无偏"才是指"估计量的均值 = 真值" 。这里的估计量有偏 ,所以 EA\^/B\^≠μA/μB\mathbb{E}\\hat A/\\hat B\ne\mu_A/\mu_BEA\^/B\^=μA/μB------这就是"比值偏"。

温度计类比 :想测真实温度(真值 20°C),拿一个偏了的温度计,读数平均 19.5°C。真值仍是 20°C(物理定义),不是"读数的平均 19.5°C"。同理:真值 = μA/μB\mu_A/\mu_BμA/μB(微积分),不是 EA\^/B\^\mathbb{E}\\hat A/\\hat BEA\^/B\^(偏了的仪器)。

③ 真值是"极限",不是"均值" :当 n→∞n\to\inftyn→∞,A^/B^→μA/μB\hat A/\hat B\to\mu_A/\mu_BA^/B^→μA/μB(大数定律 + 连续映射)。所以"期望的比值"是极限、是真值 ;"比值的期望"连极限都不是。("相合"与"无偏"是两件事------这里相合但有偏。)

一句话 :真值由"要算什么"定义(微积分),不由"仪器平均读什么"定义;估计量可以有偏,它只会收敛到真值,而它的均值不等于真值。

2.4 两者的关系

机制一 机制二
出问题的地方 值 I^\hat II^ 梯度 ∇I^\nabla\hat I∇I^
非线性来源 log⁡(⋅)\log(\cdot)log(⋅)(凹) 比值 A^/B^\hat A/\hat BA^/B^
偏差方向 I^\hat II^ 抬高 一般压低(视相关而定)
量级 O(1/n)O(1/n)O(1/n) O(1/n)O(1/n)O(1/n)
共同点 都是"对样本均值做非线性变换"的插值偏 同左

2.5 EMA:为什么同时治两个

EMA 把分母从"当前批 的 M^t\hat M_tM^t"换成"跨批长程平均 Et\mathcal{E}_tEt":

Et=β Et−1+(1−β) M^t,β≈0.999\mathcal{E}t=\beta\,\mathcal{E}{t-1}+(1-\beta)\,\hat M_t,\qquad\beta\approx0.999Et=βEt−1+(1−β)M^t,β≈0.999

治机制一 :Et\mathcal{E}_tEt 是很多批的加权平均,Var(Et)\mathrm{Var}(\mathcal{E}_t)Var(Et) 远小于 Var(M^t)\mathrm{Var}(\hat M_t)Var(M^t) → Jensen 缺口 Var2M2\dfrac{\mathrm{Var}}{2M^2}2M2Var 被大幅削小 → 值层面的抬偏变小。

治机制二 :分母换成 Et\mathcal{E}_tEt 后,它主要来自过去批次 (当前批只占 1−β≈10−31-\beta\approx10^{-3}1−β≈10−3),与当前批的 A^t\hat A_tA^t 近似独立 → 比值退化成"A^t\hat A_tA^t 除以近似常数" → 比值偏消失 (EA\^t/Et≈EA\^t/EEt\mathbb{E}\\hat A_t/\\mathcal{E}_t\approx\mathbb{E}\\hat A_t/\mathbb{E}\\mathcal{E}_tEA\^t/Et≈EA\^t/EEt)。

trade-off :β\betaβ 太接近 1 → 分母滞后 (critic 一直在变,真分母非平稳,EMA 追不上);太小 → 平滑不够。MINE 取 β≈0.999\beta\approx0.999β≈0.999 折中。

2.6 一张收尾图

复制代码
值:   Î = Ĵ − log M̂        ── 机制一(log 凹性)→ 值抬高 O(1/n)
              ↓ 求梯度
梯度: ∇Î 含 −Â/B̂          ── 机制二(比值,共享样本)→ 梯度有偏 O(1/n)
              ↓
EMA:  M̂ₜ → 𝓔ₜ = β𝓔ₜ₋₁+(1−β)M̂ₜ
      ├ 方差↓ → Jensen 缺口↓(治机制一)
      └ 分母≈跨批 → 比值退化为除常数(治机制二)

一句话:机制一是"值"的插值偏(log 凹),机制二是"梯度"的比值偏(共享样本);EMA 用跨批平滑的分母,既压小了 log 的方差(治一),又让分母近似独立于当前批(治二)。


坑 3:固定点 π(i)=i\pi(i)=iπ(i)=i 的泄漏

现象 :随机置换若出现 π(i)=i\pi(i)=iπ(i)=i,那一个"边缘配对"其实是原始联合配对。

机制 :边缘项本该用"独立配对",但 π(i)=i\pi(i)=iπ(i)=i 时 (xi,yπ(i))=(xi,yi)(x_i,y_{\pi(i)})=(x_i,y_i)(xi,yπ(i))=(xi,yi) 是联合配对------把"有关联"的点混进了"独立"的求和。

方向 :联合配对处 TTT 通常更大(critic 学的是 PMI,联合处 PMI 高),所以 M^\hat MM^ 被抬高 → log⁡M^\log\hat MlogM^ 抬高 → −log⁡M^-\log\hat M−logM^ 低估 → I^\hat II^ 被压低(低估)。

量级 :对单个 iii,P(π(i)=i)=1/n\mathbb{P}(\pi(i)=i)=1/nP(π(i)=i)=1/n;固定点占比的期望是 1/n1/n1/n。泄漏是 O(1/n)O(1/n)O(1/n) 级,一般可忽略;但小批 (如 n=32n=32n=32)时约 3%3\%3%,不宜完全无视。

缓解 :用无固定点置换 (derangement);或接受 O(1/n)O(1/n)O(1/n)、保证批足够大。

与 InfoAtlas 的关系 :推理用全数据时 1/n1/n1/n 极小;预训练小批时略有影响。


坑 4:有限批的"粗边缘"

现象 :小批把 px⊗pyp_x\otimes p_ypx⊗py 估成一个"少数几个点的均匀分布"。

机制 :置换的真实目标是 Ep^x⊗p^yeT\mathbb{E}_{\hat p_x\otimes\hat p_y}e\^TEp^x⊗p^yeT,而 p^x,p^y\hat p_x,\hat p_yp^x,p^y 是把质量均匀 摊在批内 BBB 个点上的离散分布。当 BBB 小、维度高、eTe^TeT 在尾部很重时,"离散均匀"对连续分布重尾部分刻画很差。

后果:

  • eTe^TeT(指数)对重尾极敏感,远尾期望估不准 → 边缘项偏差;
  • 高维时尤其严重(BBB 个点在 ddd 维里极其稀疏)。

和坑 1 的分工 :坑 1 是"在哪一层打乱 "(实现选择);坑 4 是"小批让目标本身都偏了"(认知:你估的不是真边缘,而是离散近似)。

缓解:增大 batch;InfoAtlas 用**切片(sliced MI)**把高维降到低维,间接缓解"高维稀疏"那一半;但根本上有限批就是有限信息。


四个坑速查表

坑 现象 偏差方向 量级 缓解
1 批内 vs 全数据 在哪层打乱 看情形 O(1/B)O(1/\sqrt B)O(1/B ) 推理用全数据
2 同批复用 log Jensen + 比值偏 I^\hat II^ 抬高 O(1/B)O(1/B)O(1/B) EMA、LOO
3 固定点泄漏 π(i)=i\pi(i)=iπ(i)=i I^\hat II^ 压低 O(1/n)O(1/n)O(1/n) 无固定点置换
4 粗边缘 小批离散化 重尾估偏 高维更重 大 batch、切片

一句话

置换把"没有独立样本"变成"可以造出独立配对",但造出来的只是"批内经验边缘的独立配对 "------四个坑,全是"经验边缘 ≠\ne= 真边缘"以及"同批共用 + log + 固定点"留下的裂缝。EMA、LOO、大 batch、切片,都是往这些裂缝里填东西。


8. 小结

复制代码
[地基] DV 表示 + 指数倾斜 Q_T
   D_KL(P||Q) = sup_T [ E_P[T] − log E_Q[e^T] ]
   (Q_T = 按 e^T 倾斜 Q;T*=ln(dP/dQ) 时 Q_T=P)
        │ 代入 P=p_xy, Q=p_x⊗p_y
        ▼
[半抽象] I = sup_T [ E_pxy[T] − log E_pxpy[e^T] ]
        │ 边缘项缺"独立样本"
        ▼ 置换技巧 π
   (x_i, y_π(i)) ~ p̂_x ⊗ p̂_y
        ▼
[落地] Î = (1/n)Σ T(x_i,y_i) − log( (1/n)Σ e^{T(x_i,y_π(i))} )
        ▼
   MINE 训练 / InfoAtlas 一次前向

一句话:

  • 地基 :DV 表示告诉你 KL 可以写成"联合期望 − log 边缘期望 ",其背后是"指数倾斜 QTQ_TQT"------TTT 调到对数密度比时成品复刻目标 PPP;
  • 落地 :MI 的下界里"边缘项缺独立样本",置换技巧 用随机打乱 yyy 造出独立配对,于是下界变成可计算的 I^\hat II^;
  • 交接 :MINE 用 I^\hat II^ 训练 critic,InfoAtlas 把"训练"换成"超网络推理",公式与置换完全不变。

附:一句话记住"为什么是置换"

因为我们只有联合样本 ,而 π\piπ 与数据独立,所以"打乱后的配对"在期望意义下 就是"独立配对"------置换不是敷衍,而是在经验分布意义下精确地造出 (xi,yπ(i))∼p^x⊗p^y(x_i,y_{\pi(i)})\sim\hat p_x\otimes\hat p_y(xi,yπ(i))∼p^x⊗p^y。

相关推荐
ACP广源盛139246256734 小时前
PCIe Gen3 交换芯片选型笔记:中小通道扩展方案 IX7012@ACP 评估
笔记·硬件架构·硬件工程·pcie·国产芯片
职豚求职小程序刷题4 小时前
国投证券笔试测评题型揭秘
笔记
Nuanyt4 小时前
LeetCode Hot100 刷题笔记 · 普通数组专题
java·笔记·算法·leetcode
职豚求职小程序6 小时前
蒙牛27秋招|数智化未来星测评重点整理✅
笔记
沪上企服通6 小时前
从票据到凭证的数据血缘:代账系统的 traceability 与可审计回放设计笔记
笔记
春弦_6 小时前
LeetCode Hot 100 刷题笔记
笔记·leetcode·哈希算法
叼烟扛炮6 小时前
Linux 学习笔记(四):文件检索与管道重定向
linux·笔记·学习
愤怒火龙果8 小时前
蓝队笔记整理04 安全设备、内网处置与云上防护
笔记·网络安全
果壳science9 小时前
张祥前最新研究成果登上SCI期刊!
笔记·嵌入式硬件·算法·硬件工程·几何学