Poole B., Ozair S., van den Oord A., Alemi A. A. and Tucker G. On variational bounds of mutual information. In International Conference on Machine Learning (ICML), 2019.
概
在机器学习中, 我们常常需要求解两个变量 X,Y 间的一个互信息
I(X;Y)=Ep(x,y)[logp(x,y)p(x)p(y)].
这篇文章就是总结, 在什么条件下, 我们可以估计它或它的上下界.

注意到:
I(X;Y)=Ep(x)p(y|x)[logp(y|x)p(y)],
故倘若 p(y|x),p(y)是知道的, 就可以直接估计了, 下面的一些 bounds 就是在某些不知道的情况下所推导出来的结果. 此外, 照我的理解, 虽然我们可能不知道 p(y|x),p(y) 的密度函数, 但应当假设能够从 p(x,y) 中进行采样, 即存在观测数据, 否则下面的 Ep(x,y)[⋅] 就都没法估计了.

Normalized upper and lower bounds
upper
-
已知: p(y|x);
-
策略: 用变分逼近 q(y) 替代 p(y) 可得:
I(X;Y)=Ep(x,y)[logp(y|x)p(y)]=Ep(x,y)[logp(y|x)q(y)q(y)p(y)]=Ep(x,y)[logp(y|x)q(y)]−KL(p(y)∥q(y))≤Ep(x)[KL(p(y|x)∥q(y))]≜R.
-
紧性: q(y)=p(y) 时等号成立;
-
倘若 p(y|x)=p(y|x;θ),q(y)=q(y;φ), 且 ∃φ,q(y;φ)=p(y;θ), 则
minθ,φR
会最小化 X,Y 的互信息, 同时获得副产品 q(y;φ∗)→p(y;θ∗).
lower
-
已知: H(X)|无;
-
策略: 用变分逼近 q(x|y) 替代 p(x|y) 可得:
I(X;Y)=Ep(x,y)[logp(x|y)p(x)]=Ep(x,y)[logp(x|y)q(x|y)q(x|y)p(x)]=Ep(x,y)[logq(x|y)p(x)]+Ep(y)[KL(p(x|y)∥q(x|y))]≥Ep(x,y)[logq(x|y)p(x)]=Ep(x,y)[logq(x|y)]+H(X)≜IBA.
-
紧性: q(x|y)=p(x|y) 时等号成立;
-
注意 p(x) 未知的情况下 H(X) 往往是无法求解的, 但是在大多数时候, X 往往以数据的角色存在, 此时可以简单地将 H(X) 看成一个常数. 此时比较和约束 I(X,Y) 便都是可行的了.
-
举一个 AutoEncoder 的例子:
- 有数据 X, 我们希望构建一个映射 Z=f(X;θ), 使得隐变量 Z 能够在具备低维的特点时, 能够囊括尽可能多的 X 的信息, 我们希望:
maxθI(X,Z(θ)),
此时 p(z|x;θ)=δ(z−f(x;θ));
- 因为 H(X) 是和 θ 无关的变量, 所以我们可以优化:
maxθ,φEp(x)[logq(x|z=f(x;θ);φ)],
其中 q(x|z;φ) 是我们用来近似 p(x|z) 的.
Unnormalized lower bounds
unormalized 是指, variational family 限定于下面这种形式:
q(x|y)=p(x)Z(y)ef(x,y),Z(y):=Ep(x)[ef(x,y)].
注: f(x,y) 通常称为 energy function, 和一般的模型不同, 这里用 p(x) re-scale 过, 它的作用可以在下面看到.
注: 如果构造 f(x,y) 的方式能够保证 Z(y)≡1, 则此时 f(x,y) 称为是 self-normalized 的.
BA -> UBA
-
已知: Ep(y)[logZ(y)];
-
策略: 用变分逼近 q(x|y) 替代 p(x|y) 可得:
I(X;Y)≥Ep(x,y)[logq(x|y)]+H(X)≜IBA=Ep(x,y)[f(x,y)]−Ep(y)[logZ(y)]≜IUBA←q(x|y)=p(x)Z(y)ef(x,y).
-
紧性: q(x|y)=p(x|y) 时等号成立, 即 f∗(x,y)=logp(y|x)+c(y), 其中 c(y) 可以是任意的仅关于 y 的函数即可. 自然可以推导出, 此时:
Z∗(y)=p(y)ec(y),
还可以得到:
f∗(x,y)=logp(y|x)p(y)+logZ∗(y).
-
注意此时 Ep(y)[logZ(y)] 本身往往也是不好求解的.
-
倘若能求解, 我们可以通过
argmaxfIUBA(f)
来估计 I(X;Y).
UBA -> DV
-
已知: Ep(y)[Z(y)];
-
策略: 用变分逼近 q(x|y) 替代 p(x|y) 可得:
I(X;Y)≥Ep(x,y)[logf(x,y)]−Ep(y)[logZ(y)]≜IUBA≥Ep(x,y)[logf(x,y)]−logEp(y)[Z(y)]≜IDV← Jensen's inequality
-
紧性: f(x,y)=logp(y|x)+c(y).
-
注意此时 Ep(y)[Z(y)] 本身也是不好求解的.
UBA -> TUBA
-
已知: 无;
-
策略: 用变分逼近 q(x|y) 替代 p(x|y) 可得:
I(X;Y)≥Ep(x,y)[logf(x,y)]−Ep(y)[logZ(y)]≜IUBA≥Ep(x,y)[f(x,y)]−Ep(y)[Ep(x)[ef(x,y)]a(y)+log(a(y))−1]≜ITUBA
其中不等式用到了:
logx≤xa+loga−1.
-
紧性: f(x,y)=logp(y|x)+c(y),a(y)=Z(y).
-
倘若能求解, 我们可以通过
argmaxf,aIUBA(f,a)
来估计 I(X;Y).
问: 为什么 IUBA 是可解的而 IBA,IDV 往往是不可解的呢? 似乎我们可以用 z(y)≈1n∑xief(xi,y) 来近似代替 Z(y) ?
猜想: 回答这个问题, 应该就是解释
logE[f(x)],E[f(x)]
在估计上的区别. 个人感觉倘若你能采样足够多的点, 直接先估计 E[f(x)] 然后带入 log 应该是 ok 的. 但是现在机器学习里的情形是采用 mini-batch 的方式, 那么假设
¯f(Bk)=1n∑x∈Bkf(x),
其中 n 为 batchsize. 则多个 mini-batch 下来,
¯f(B1,B2,…,BK)=1K∑k1n∑x∈Bkf(x)=1N∑xf(x),
为整体的一个平均没问题. 但是对于 log 而言为:
1K∑klog¯f(Bk)≠log1N∑xf(x).
TUBA -> NWJ
-
假设: a(y) 为常数 e (loge=1 的 e);
-
策略:
I(X;Y)≥Ep(x,y)[f(x,y)]−e−1Ep(y)[Z(y)]≜INWJ.
-
紧性: 除非 Z(y)=a(y)=e 满足, 即此时 f 是 self-normalize 的
Ep(x)[ef(x,y)]=1→f(x,y)=1+logp(x|y)p(x).
-
这个被用在了 f-GANKL, MINE-f.
-
也有用 ef(x,y) 的滑动平均 (EMA) 替代 a(y) 的, 此时不必要求 f 是 self-normalized 的.
Multi-sample unnormalized lower bounds
作者认为, 上面所推导出来的界由于 log 的存在, 会导致 high-variance, 所以作者希望提出更稳定一点的界. (但是, 我看网上说是 log 反而有稳定方差的作用 ? 不同的情况 ? 这里我大概理解是有误的)
注: 通篇来看, logZ(y) 不稳定的原因, 大抵是它是无界的, 而后面所提出的方法, 能够保证 logZ(y)≤logK, 从而更加稳定.
-
目的: 估计 I(X1;Y), 对应分布为 p(x1)p(y|x1);
-
同时观察到另外的 K−1 个额外的样本 x2:K∼rK−1(x2:K), 注意这些样本允许来自不同的分布, 但是我们假设 X2:K⊥⊥(X1,Y);
-
此时我们有:
I(X1;Y)=I(X1,X2:K;Y).
-
我们可以通过上面所推导的界来估计, 此外过程中所得的副产品也是相同的, 比如在 INWJ中:
f∗(x1:K,y)=1+logp(y|x1:K)p(y)=1+logp(y|x1)p(y);
-
但是, 我们也可用通过使得这些副产品和 x2:K 相关来帮助获得更稳定的估计, 比如令
f(x1:K,y)=1+logef(x1,y)γ(y;x1:K),
且假设
rK−1(x2:K)=K∏j=2p(xj),
时有 (INWJ)
I(X1;Y)≥1+Ep(x1:K)p(y|x1)[logef(x1,y)γ(y;x1:K)]−Ep(x1:K)p(y)[ef(x1,y)γ(y;x1:K)]
-
注意到 (因为此时相当于 (x,y) 都是独立采样的 !):
Ep(x1:K)p(y)[ef(xi,y)γ(y;x1:K)]=Ep(x1:K)p(y)[ef(xj,y)γ(y;x1:K)],(I. 1)
当
γ(y;x1:K):=m(y;x1:K)=1K∑kef(xk,y),
有
K∑iEp(x1:K)p(y)[ef(xi,y)1K∑kef(xk,y)]=K.(I. 2)
结合 (I.1) (I.2) 可知:
Ep(x1:K)p(y)[ef(x1,y)γ(y;x1:K)]=1.
-
故当
γ(y;x1:K):=m(y;x1:K)=1K∑kef(xk,y),
时有
I(X1;Y)≥Ep(x1:K)p(y|x1)[logef(x1,y)1K∑kef(xk,y)].(I)
-
为了方便, 我们令 I(X1;Y1) 记为 I(X1;Y), 倘若 (Xi,Yi) 和 (X1,Y1) 采自同一个分布 p(x,y), 则有:
I(Xi;Yi)=I(Xj;Yj)=I(X1;Y),
它们的平均也是 I(X;Y), 故
I(X;Y)≥E[1KK∑i=1logef(xi,yi)1K∑Kkef(xk,yi)]≜INCE,(II)
此即为 InfoNCE.
注: (I) 是不需要 (Xi,Yi) 采样自同一分布的, 而 (II) 是要求这一点的. 不过我感觉 (I) 也很有对比的 feel, 或者是噪声对比估计的 feel.
注: INCE≤logK 通常是不紧的, 且因为 log(Z(y))≤logK, 故方差有保障.
Nonlinearly interpolated lower bounds
INCE 虽然 low-variance, 但是它不是紧的, 即 high-bias, 相反的, INWJ 是 low-bias, high-variance, 所以这里就将二者进行一个结合.
Iα≜1+Ep(x1:K)p(y|x1)[logef(x1,y)αm(y;x1:K)+(1−α)q(y)]−Ep(x1:K)p(y)[ef(x1,y)αm(y;x1:K)+(1−α)q(y)]≤logKα.
此时我们可以通过调节 α 来 trade-off bias 和 variance.
且可以注意到 INWJ,IBCE 分别对应 α=0,1.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~