从 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∗=lndPdQT^*=\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−lnEQeT)=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−lnEQeT.\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)=EPlndPdQ.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−lnEQeT.\mathcal{B}(T)=\mathbb{E}_PT-\ln\mathbb{E}_Qe\^T.B(T)=EPT−lnEQeT.
5.3 写成三项
Δ(T)=EPlndPdQ⏟①−EPT⏟②+lnEQeT⏟③(常数).\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 前两项合并进一个期望
EPlndPdQ−EPT=EPlndPdQ−T=EPlndP/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.
(用了 lna−lnb=ln(a/b)\ln a-\ln b=\ln(a/b)lna−lnb=ln(a/b) 与 T=lneTT=\ln e^TT=lneT。)
5.5 把常数项也吸进期望
lnEQeT\ln\mathbb{E}_Qe\^TlnEQeT 与样本 xxx 无关,是确定性常数,而 EP1=1\mathbb{E}_P1=1EP1=1,所以
lnEQeT=EPlnEQ\[eT].\ln\mathbb{E}_Qe\^T=\mathbb{E}_P\left\\ln\\mathbb{E}_Q\[e\^T\right].lnEQeT=EPlnEQ\[eT].
于是
Δ(T)=EPlndP/dQeT+EPlnEQ\[eT]=EPlndP/dQeT+lnEQ\[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 合并对数
lndP/dQeT+lnEQeT=ln(dP/dQeT⋅EQeT)=lndP/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)=EPlndP/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)=EPlndPdQT.\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−lnEQeT.\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=lndPdQ+const.T=\ln\frac{dP}{dQ}+\text{const}.T=lndQdP+const.
5.12 常数自由度:为什么多个常数无妨
若 T→T+cT\to T+cT→T+c:
EPT+c−lnEQeT+c=EPT+c−ln(ecEQeT)=EPT+c−c−lnEQeT.\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∗=lndPdQT^*=\ln\dfrac{dP}{dQ}T∗=lndQdP。
5.13 验证:代入最优 T∗T^*T∗ 真能取到 KL
B(T∗)=EPlndPdQ−lnEQdPdQ=DKL(P∥Q)−ln1=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)=ln3T(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∗=lndPdQT^*=\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)=supTEpxy\[T⏟联合项−logEpx⊗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−logEpx⊗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∗=lndPdQT^*=\ln\frac{dP}{dQ}T∗=lndQdP,代入 MI 的 P,QP,QP,Q:
T∗(x,y)=lnp(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)=lnp(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∗=Epxylnp(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 具体构造(三步)
- 得到 x1,...,xnx_1,\dots,x_nx1,...,xn 与 y1,...,yny_1,\dots,y_ny1,...,yn;
- 均匀随机取一个置换 π\piπ(把 1..n1..n1..n 随机打乱);
- 用打乱后的配对估边缘项:
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′)⏟logM^ 边缘项,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^−logM^\hat I=\hat J-\log\hat MI^=J^−logM^;
- 训练要梯度 :∇θI^=∇J^−∇(logM^)\nabla_\theta\hat I=\nabla\hat J-\nabla(\log\hat M)∇θI^=∇J^−∇(logM^)。
机制一在值 上,机制二在梯度上,EMA 治两个。
2.2 机制一:Jensen 缺口(值层面)
一句话 :log\loglog 是凹函数,log\loglog 一个"样本均值"会系统性低估 log\loglog 真期望。
推导(二阶泰勒):
logM^≈logM+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):
ElogM\^≈logM−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^),所以 logM^\log\hat MlogM^ 低估 logM\log MlogM。
后果 :I^=J^−logM^\hat I=\hat J-\log\hat MI^=J^−logM^,低估的 logM^\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= 期望的比值"。
展开梯度:
∇θ(−logM^)=−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\^("比值的期望") |
① 真值 = 微积分算出来的梯度:
∇θ(−logEpxpyeTθ)=−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^ 被抬高 → logM^\log\hat MlogM^ 抬高 → −logM^-\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。