从 KSG 到 InfoAtlas:互信息估计完整学习册
这份学习册把一路走来的内容串成一条线:
MI 是什么、为什么难估 → KSG 怎么估 → DV/MINE 怎么用变分下界估 → InfoAtlas 怎么把"优化"换成"推理" 。
每一部分都保留核心公式 + 直觉 + 与你已学内容的对照。
目录
- [第 0 部分:导读与地图](#第 0 部分:导读与地图)
- [第 1 部分:地基------MI 是什么,为什么难估](#第 1 部分:地基——MI 是什么,为什么难估)
- [第 2 部分:KSG------从样本估 MI 的标准答案](#第 2 部分:KSG——从样本估 MI 的标准答案)
- [第 3 部分:DV / MINE------变分下界这条路](#第 3 部分:DV / MINE——变分下界这条路)
- [第 4 部分:InfoAtlas------把优化换成推理](#第 4 部分:InfoAtlas——把优化换成推理)
- [第 5 部分:总览与串联](#第 5 部分:总览与串联)
- [第 6 部分:自测题](#第 6 部分:自测题)
第 0 部分:导读与地图
三条主线,同一个目标------估计互信息 I ( X ; Y ) I(X;Y) I(X;Y):
| 主线 | 代表方法 | 核心思想 | 与 InfoAtlas 的关系 |
|---|---|---|---|
| 几何计数 | KSG / KDE | 用近邻距离数出依赖 | InfoAtlas 结果表里的非参数基线 |
| 变分下界 | MINE / DV | 训一个 critic 逼近对数密度比 | InfoAtlas 的发动机 |
| 基础模型 | InfoAtlas | 预训练超网络,一次前向出 critic | 把 MINE 的"训练"换成"推理" |
一句话总纲:KSG 教你"要估什么、有多难";MINE 教你"用什么发动机";InfoAtlas 把发动机"预训练化"。
第 1 部分:地基------MI 是什么,为什么难估
1.1 信息论三件套
- 离散熵: H ( X ) = − ∑ x p ( x ) ln p ( x ) H(X)=-\sum_x p(x)\ln p(x) H(X)=−∑xp(x)lnp(x)
- 微分熵 (连续): h ( X ) = − ∫ p ( x ) ln p ( x ) d x h(X)=-\int p(x)\ln p(x)\,dx h(X)=−∫p(x)lnp(x)dx
- 联合熵 H ( X , Y ) H(X,Y) H(X,Y)、条件熵 H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) H(X|Y)=H(X,Y)-H(Y) H(X∣Y)=H(X,Y)−H(Y)
1.2 MI 的两个等价定义
I ( X ; Y ) = H ( X ) + H ( Y ) − H ( X , Y ) I(X;Y)=H(X)+H(Y)-H(X,Y) I(X;Y)=H(X)+H(Y)−H(X,Y)
I ( X ; Y ) = D K L ( p ( x , y ) ∥ p ( x ) p ( y ) ) = ∬ p ( x , y ) ln p ( x , y ) p ( x ) p ( y ) d x d y I(X;Y)=D_{KL}\big(p(x,y)\,\|\,p(x)p(y)\big)=\iint p(x,y)\ln\frac{p(x,y)}{p(x)p(y)}\,dx\,dy I(X;Y)=DKL(p(x,y)∥p(x)p(y))=∬p(x,y)lnp(x)p(y)p(x,y)dxdy
关键性质 : I = 0 ⟺ X ⊥ ⊥ Y I=0\ \Longleftrightarrow\ X\perp\!\!\!\perp Y I=0 ⟺ X⊥⊥Y。
1.3 为什么难估
要算 I I I,得知道密度 p ( x , y ) p(x,y) p(x,y) 和 p ( x ) p ( y ) p(x)p(y) p(x)p(y)。但:
- 高维密度估不准(KDE 在 InfoAtlas 表里估 1.59、真值 0.59);
- 从有限样本估熵本身就有偏差;
- 所以两条路绕开密度:KSG 用几何,MINE 用变分。
第 2 部分:KSG------从样本估 MI 的标准答案
2.1 KL 熵估计器
单变量微分熵的 Kozachenko--Leonenko 估计:
H ^ ( X ) = − ψ ( k ) + ψ ( N ) + ln c d x + d x N ∑ i = 1 N ln ( ϵ i / 2 ) \hat H(X)=-\psi(k)+\psi(N)+\ln c_{d_x}+\frac{d_x}{N}\sum_{i=1}^N\ln(\epsilon_i/2) H^(X)=−ψ(k)+ψ(N)+lncdx+Ndxi=1∑Nln(ϵi/2)
其中 ψ \psi ψ 是 digamma, ϵ i \epsilon_i ϵi 是 x i x_i xi 到第 k k k 近邻距离的两倍。
来源(母式) : ln p ( x i ) ≈ ψ ( k ) − ψ ( N ) − ln V i \ln p(x_i)\approx\psi(k)-\psi(N)-\ln V_i lnp(xi)≈ψ(k)−ψ(N)−lnVi,即"对数密度 = digamma 秩修正 − 对数体积"。
2.2 朴素 MI 的问题
I = H ( X ) + H ( Y ) − H ( X , Y ) I=H(X)+H(Y)-H(X,Y) I=H(X)+H(Y)−H(X,Y) 分别用 KL 估三次再相减:
- 三个熵各自独立做 kNN 搜索,尺度/体积常数对不齐;
- 偏差项互相叠加、消不掉。
2.3 KSG 的同一邻域
对每个点 i i i,只在联合空间 找第 k k k 近邻,用这同一个超立方体同时估三个熵:
- 联合项:体积 ϵ i d \epsilon_i^{d} ϵid,含 k k k 个点;
- X 条带:体积 ϵ i d x \epsilon_i^{d_x} ϵidx,含 n x ( i ) n_x(i) nx(i) 个点;
- Y 条带:体积 ϵ i d y \epsilon_i^{d_y} ϵidy,含 n y ( i ) n_y(i) ny(i) 个点。
对数比值里:
ln p ( x i , y i ) p ( x i ) p ( y i ) = ψ ( k ) + ψ ( N ) − ψ ( n x ) − ψ ( n y ) + ( − d + d x + d y ) ln ϵ i ⏟ = 0 \ln\frac{p(x_i,y_i)}{p(x_i)p(y_i)}=\psi(k)+\psi(N)-\psi(n_x)-\psi(n_y)\quad+\underbrace{(-d+d_x+d_y)\ln\epsilon_i}_{=0} lnp(xi)p(yi)p(xi,yi)=ψ(k)+ψ(N)−ψ(nx)−ψ(ny)+=0 (−d+dx+dy)lnϵi
2.4 偏差抵消(两层修正)
| 修正 | 作用 |
|---|---|
| digamma 修正 ( ln → ψ \ln\to\psi ln→ψ) | 扣掉 ln k N \ln\frac{k}{N} lnNk 的有限样本偏差 |
| 体积球 → 超立方体(max-norm) | 让体积常数与尺度 ϵ i \epsilon_i ϵi 精确对消( c d x c d y / c d = 1 c_{d_x}c_{d_y}/c_d=1 cdxcdy/cd=1) |
2.5 最终公式
I ^ ( 1 ) = ψ ( k ) − 1 N ∑ i = 1 N ψ ( n x ( i ) + 1 ) + ψ ( n y ( i ) + 1 ) + ψ ( N ) \hat I^{(1)}=\psi(k)-\frac1N\sum_{i=1}^N\Big\\psi(n_x(i)+1)+\\psi(n_y(i)+1)\\Big+\psi(N) I^(1)=ψ(k)−N1i=1∑Nψ(nx(i)+1)+ψ(ny(i)+1)+ψ(N)
一句话 :用"同一把尺子"量分子分母,让尺子长度 ϵ i \epsilon_i ϵi 在比值里自动消失,只剩"数点"。
第 3 部分:DV / MINE------变分下界这条路
3.1 KL 的 DV 变分表示
D K L ( P ∥ Q ) = sup T E P \[ T − log E Q e T ] \boxed{D_{KL}(P\|Q)=\sup_T\Big\\mathbb{E}_P\[T-\log\mathbb{E}_Qe\^T\Big]} DKL(P∥Q)=TsupEP\[T−logEQeT]
最优 T ∗ = ln d P d Q T^*=\ln\dfrac{dP}{dQ} T∗=lndQdP(对数密度比)。
3.2 指数倾斜分布 Q T Q_T QT
d Q T = e T E Q e T d Q dQ_T=\frac{e^T}{\mathbb{E}_Qe\^T}\,dQ dQT=EQeTeTdQ
- Q Q Q 固定(原料)、 T T T 可调(配方)、 Q T Q_T QT 是产物(成品);
- 当 T = T ∗ = ln d P d Q T=T^*=\ln\frac{dP}{dQ} T=T∗=lndQdP 时, Q T ∗ = P Q_{T^*}=P QT∗=P(成品复刻目标)。
3.3 "下界差多少 = D K L ( P ∥ Q T ) D_{KL}(P\|Q_T) DKL(P∥QT)"
D K L ( P ∥ Q ) − ( E P T − ln E Q e T ) = D K L ( P ∥ Q T ) ≥ 0 \boxed{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
含义 :下界越紧 ⟺ 成品 Q T Q_T QT 越像目标 P P P;由 KL 非负性一步锁死最优 T T T。
3.4 应用到 MI
代入 P = p x y P=p_{xy} P=pxy、 Q = p x ⊗ p y Q=p_x\otimes p_y Q=px⊗py:
I ( X ; Y ) = sup T E p x y \[ T ⏟ 联合项 − log E p x ⊗ p y e T ⏟ 边缘项 ] 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]
最优 critic T ∗ ( x , y ) = ln p ( x , y ) p ( x ) p ( y ) = P M I ( 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)。
3.5 置换技巧:从联合样本造"独立样本"
取均匀随机置换 π \pi π,配对 ( x i , y π ( i ) ) (x_i,y_{\pi(i)}) (xi,yπ(i)):
E π 1 n ∑ i f ( x i , y π ( i ) ) = 1 n 2 ∑ i , j f ( x i , y j ) = E p ^ x ⊗ p ^ y f \mathbb{E}\pi\Big\\frac1n\\sum_i f(x_i,y_{\\pi(i)})\\Big=\frac1{n^2}\sum{i,j}f(x_i,y_j)=\mathbb{E}_{\hat p_x\otimes\hat p_y}f Eπn1i∑f(xi,yπ(i))=n21i,j∑f(xi,yj)=Ep^x⊗p^yf
前提 : π \pi π 与数据独立。结果:对经验边缘乘积无偏。
3.6 完整经验估计器(MINE / InfoAtlas 共用)
I ^ θ = 1 n ∑ i = 1 n T θ ( x i , y i ) − log ( 1 n ∑ i = 1 n e T θ ( x i , 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)))
3.7 四个坑 + EMA
| 坑 | 偏差方向 | 缓解 |
|---|---|---|
| 1 批内 vs 全数据 | 看情形 | 推理用全数据 |
| 2 同批复用(Jensen + 比值偏) | I ^ \hat I I^ 抬高 | EMA、LOO |
| 3 固定点 π ( i ) = i \pi(i)=i π(i)=i | I ^ \hat I I^ 压低 | 无固定点置换 |
| 4 粗边缘 | 重尾估偏 | 大 batch、切片 |
EMA : E t = β E t − 1 + ( 1 − β ) M ^ t \mathcal{E}t=\beta\mathcal{E}{t-1}+(1-\beta)\hat M_t Et=βEt−1+(1−β)M^t,治"机制一(方差→Jensen 缺口)"和"机制二(分母跨批→比值偏)"。
为什么"期望的比值"才是真值 :真值 = 微积分给的梯度 μ A / μ B \mu_A/\mu_B μA/μB("期望的比值"),不是估计量的均值 E A \^ / B \^ \mathbb{E}\\hat A/\\hat B EA\^/B\^("比值的期望");估计量相合但有偏。
3.8 DV vs NWJ vs InfoNCE
| 下界 | 公式 | 紧度 | 方差 |
|---|---|---|---|
| DV | E T − log E e T \mathbb{E}T-\log\mathbb{E}e\^T ET−logEeT | 最紧 | 高 |
| NWJ | E T − E e T − 1 \mathbb{E}T-\mathbb{E}e\^{T-1} ET−EeT−1 | 中 | 中 |
| InfoNCE | 对比形式 | 松 log K \log K logK | 低 |
第 4 部分:InfoAtlas------把"优化"换成"推理"
4.1 问题
MINE 准但每数据集要从零训 critic( O ( T ) \mathcal{O}(T) O(T)),太慢。InfoAtlas 要"预训练一次、一次前向出 MI"。
4.2 核心:超网络 θ ∗ = H ( D ) \theta^*=\mathcal{H}(\mathcal{D}) θ∗=H(D)
- H \mathcal{H} H 输入数据集,输出 critic 的全部参数;
- 拿到 θ \theta θ 后代入 DV 公式一步算 MI;
- 把" arg sup θ \arg\sup_\theta argsupθ"换成" H ( D ) \mathcal{H}(\mathcal{D}) H(D)"。
4.3 双通道架构(对应 DV 两项)
- joint path :处理原配对 ( x i , y i ) (x_i,y_i) (xi,yi) → 联合项;
- marginal path:处理打乱配对 → 边缘项;
- 融合 h f u s e d = C r o s s A t t n ( h m a r g i n a l , h j o i n t , h j o i n t ) \mathbf{h}{fused}=\mathrm{CrossAttn}(\mathbf{h}{marginal},\mathbf{h}{joint},\mathbf{h}{joint}) hfused=CrossAttn(hmarginal,hjoint,hjoint),MLP 生成 θ \theta θ;
- attention 天然置换不变(匹配 MI 与顺序无关)。
4.4 噪声填充(保 MI 的维度补齐)
d < D d<D d<D 时补独立高斯噪声: I ( X ; N x ; Y ; N y ) = I ( X ; Y ) I(X;N_x;Y;N_y)=I(X;Y) I(X;Nx;Y;Ny)=I(X;Y)(Prop A.3)。
对比零填充:零填充塌缩到低维子空间、制造人工结构;噪声填充满秩、不携带信息。
4.5 切片 MI(高维降维)
k k k-sliced MI:随机正交投影 P i , P i ′ ∈ R k × d P_i,P'_i\in\mathbb{R}^{k\times d} Pi,Pi′∈Rk×d(Stiefel 流形),投到 k k k 维后平均:
S I ^ k = 1 S ∑ i = 1 S I ^ ( P i x , P i ′ y ) \hat{SI}k=\frac1S\sum{i=1}^S\hat I(P_i\mathbf{x},P'_i\mathbf{y}) SI^k=S1i=1∑SI^(Pix,Pi′y)
- 代价:切片 MI ≠ 完整 MI(可能漏特定方向依赖);
- 收益: O ( S T ) → O ( 1 ) \mathcal{O}(ST)\to\mathcal{O}(1) O(ST)→O(1)(S 片打包进一个 batch)。
4.6 copula 混合 + flow 预训练
- copula:Sklar 定理,把"依赖"与"边缘"解耦;
- 依赖多样性 : K = 60 K=60 K=60 个 copula 混合(Gaussian + Student-t,后者补尾部依赖);
- 边缘多样性:随机可逆 flow + softrank;
- 训练目标: min H E D − I \^ H ( D ) \min_\mathcal{H}\mathbb{E}_{\mathcal{D}}-\\hat I_{\\mathcal{H}(\\mathcal{D})} minHED−I\^H(D)。
4.7 实验
| 实验 | 回答 |
|---|---|
| BMI 基准(8 任务) | 精度:0.60 对齐 MINE;耗时 0.09s(约 300×) |
| 独立性检验 Type I/II/III | MI 当统计量; d = 128 d=128 d=128 时 KSG 塌、InfoAtlas 撑住 |
| CLIP 512D | 高维零样本 |
| PointOdyssey | 视频分割,秒级 |
| ManiSkill2 | MI 奖励塑形(可微性落地),94.2% vs No-MI 66% |
| 消融 | k = 5 , S = 25 k=5,S=25 k=5,S=25 优于 k = 1 , S = 128 k=1,S=128 k=1,S=128 |
4.8 局限
- 受预训练分布限制(离散/新结构差,需 vine copula);
- 切片 ≠ 完整 MI;
- 参数 ∣ Θ ∣ |\Theta| ∣Θ∣ 随 D D D 膨胀(可试低秩)。
4.9 两个 Proposition
- A.3:噪声填充保 MI(已证)。
- A.1(一致性) :预训练目标最优点 = "数据集 ↦ 最优 critic"映射。逻辑链:
- 单数据集: I ^ θ ≤ I ^ emp \hat I_\theta\le\hat I_{\text{emp}} I^θ≤I^emp,等号 ⟺ 最优 critic;
- 取期望:整体上界;
- 目标必须取到上界 ⟹ H ∗ ( D ) = T p ^ D ∗ \mathcal{H}^*(\mathcal{D})=T^*{\hat p\mathcal{D}} H∗(D)=Tp^D∗;
- n → ∞ n\to\infty n→∞ 时经验最优 → 真值最优。
第 5 部分:总览与串联
5.1 三条主线的能力对照
| 能力 | KSG | MINE | InfoAtlas |
|---|---|---|---|
| 低维精度 | 好 | 好 | 好 |
| 高维 | 差(维度灾难) | 中 | 好(切片) |
| 可微(当目标) | ❌ | ✅ | ✅ |
| 单次速度 | 快(0.13s) | 慢(25.9s) | 快(0.09s) |
| 零样本 | 无(每份现算) | 无(每份重训) | ✅ 预训练一次 |
| 理论保证 | 偏差抵消 | 下界一致性 | Prop A.1 |
5.2 为什么 InfoAtlas 能"高维 + 快 + 准"
- 高维:切片 MI 把大问题切成多个可处理的小问题;
- 快:超网络一次前向替代逐数据集训练;
- 准:DV 下界 + 双通道 critic,精度对齐 MINE;
- 泛化:copula + flow 预训练覆盖广。
5.3 关键概念速查
| 概念 | 一句话 |
|---|---|
| MI | D K L ( p x y ∣ p x p y ) D_{KL}(p_{xy}|p_xp_y) DKL(pxy∣pxpy), = 0 =0 =0 即独立 |
| KSG | 同邻域数点,偏差抵消 |
| DV / MINE | 变分下界 + critic |
| 指数倾斜 Q T Q_T QT | 按 e T e^T eT 重加权, T ∗ T^* T∗ 时 Q T = P Q_T=P QT=P |
| 置换技巧 | 打乱 y y y 造独立配对 |
| 超网络 | 输出另一个网络权重的网络 |
| copula | 剥离边缘后的纯依赖 |
| 切片 MI | 随机投影到低维再平均 |
第 6 部分:自测题
KSG
- MI 的两个等价定义?
- KSG 的母式 ln p ≈ ψ ( k ) − ψ ( N ) − ln V \ln p\approx\psi(k)-\psi(N)-\ln V lnp≈ψ(k)−ψ(N)−lnV 从哪来?
- 为什么用 max-norm 而不是欧氏球?
DV / MINE
- DV 表示怎么来的?最优 T ∗ T^* T∗ 是什么?
- 为什么下界差 = D K L ( P ∥ Q T ) D_{KL}(P\|Q_T) DKL(P∥QT)?
- 置换技巧为什么给出"独立配对"?
- 四个坑分别是什么、EMA 治哪两个?
InfoAtlas
- θ = H ( D ) \theta=\mathcal{H}(\mathcal{D}) θ=H(D) 怎么替代逐数据集训练?
- 双通道为什么对应对 DV 的两项?
- 噪声填充为什么保 MI、零填充为什么不保?
- 切片 MI 的收益与代价?
- Prop A.1 的一致性逻辑链?
结语 :KSG 是"几何标准答案",MINE 是"变分发动机",InfoAtlas 是"把发动机装进基础模型"。三者不是替代关系,而是同一个问题在不同约束下的不同解法。