• On Variational Bounds of Mutual Information


    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) = \mathbb{E}_{p(x, y)} [\log \frac{p(x, y)}{p(x) p(y)}]. \]

    这篇文章就是总结, 在什么条件下, 我们可以估计它或它的上下界.

    注意到:

    \[I(X; Y) = \mathbb{E}_{p(x)p(y|x)} [\log \frac{p(y|x)}{p(y)}], \]

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

    Normalized upper and lower bounds

    upper

    • 已知: \(p(y|x)\);

    • 策略: 用变分逼近 \(q(y)\) 替代 \(p(y)\) 可得:

      \[\begin{array}{ll} I(X; Y) &= \mathbb{E}_{p(x, y)} [\log \frac{p(y|x)}{p(y)}] \\ &= \mathbb{E}_{p(x, y)} [\log \frac{p(y|x) q(y)}{q(y) p(y)}] \\ &= \mathbb{E}_{p(x, y)} [\log \frac{p(y|x)}{q(y)}] - \text{KL}(p(y)\|q(y)) \\ &\le \mathbb{E}_{p(x)} [\text{KL}(p(y|x) \| q(y))] \triangleq R. \end{array} \]

    • 紧性: \(q(y) = p(y)\) 时等号成立;

    • 倘若 \(p(y|x) = p(y|x; \theta), q(y) = q(y;\varphi)\), 且 \(\exist \varphi, q(y; \varphi) = p(y; \theta)\), 则

      \[\min_{\theta, \varphi} R \]

      会最小化 \(X, Y\) 的互信息, 同时获得副产品 \(q(y; \varphi^*) \rightarrow p(y;\theta^*)\).

    lower

    • 已知: \(H(X)\)|无;

    • 策略: 用变分逼近 \(q(x|y)\) 替代 \(p(x|y)\) 可得:

      \[\begin{array}{ll} I(X; Y) &= \mathbb{E}_{p(x, y)} [\log \frac{p(x|y)}{p(x)}] \\ &= \mathbb{E}_{p(x, y)} [\log \frac{p(x|y) q(x|y)}{q(x|y) p(x)}] \\ &= \mathbb{E}_{p(x, y)} [\log \frac{q(x|y)}{p(x)}] + \mathbb{E}_{p(y)}[\text{KL}(p(x|y) \| q(x|y))] \\ &\ge \mathbb{E}_{p(x, y)} [\log \frac{q(x|y)}{p(x)}] \\ &= \mathbb{E}_{p(x, y)} [\log q(x|y)] + H(X) \triangleq I_{\text{BA}}. \\ \end{array} \]

    • 紧性: \(q(x|y) = p(x|y)\) 时等号成立;

    • 注意 \(p(x)\) 未知的情况下 \(H(X)\) 往往是无法求解的, 但是在大多数时候, \(X\) 往往以数据的角色存在, 此时可以简单地将 \(H(X)\) 看成一个常数. 此时比较和约束 \(I(X, Y)\) 便都是可行的了.

    • 举一个 AutoEncoder 的例子:

      1. 有数据 \(X\), 我们希望构建一个映射 \(Z = f(X; \theta)\), 使得隐变量 \(Z\) 能够在具备低维的特点时, 能够囊括尽可能多的 \(X\) 的信息, 我们希望:

        \[\max_{\theta} \: I(X, Z(\theta)), \]

        此时 \(p(z|x; \theta) = \delta(z - f(x; \theta))\);
      2. 因为 \(H(X)\) 是和 \(\theta\) 无关的变量, 所以我们可以优化:

        \[\max_{\theta, \varphi} \mathbb{E}_{p(x)} [\log q(x|z=f(x; \theta); \varphi)], \]

        其中 \(q(x|z; \varphi)\) 是我们用来近似 \(p(x|z)\) 的.

    Unnormalized lower bounds

    unormalized 是指, variational family 限定于下面这种形式:

    \[q(x|y) = \frac{p(x)}{Z(y)} e^{f(x, y)}, \: Z(y) := \mathbb{E}_{p(x)} [e^{f(x, y)}]. \]

    注: \(f(x, y)\) 通常称为 energy function, 和一般的模型不同, 这里用 \(p(x)\) re-scale 过, 它的作用可以在下面看到.

    注: 如果构造 \(f(x, y)\) 的方式能够保证 \(Z(y) \equiv 1\), 则此时 \(f(x, y)\) 称为是 self-normalized 的.

    BA -> UBA

    • 已知: \(\mathbb{E}_{p(y)}[\log Z(y)]\);

    • 策略: 用变分逼近 \(q(x|y)\) 替代 \(p(x|y)\) 可得:

      \[\begin{array}{ll} I(X; Y) &\ge \mathbb{E}_{p(x, y)} [\log q(x|y)] + H(X) \triangleq I_{\text{BA}} \\ &= \mathbb{E}_{p(x, y)} [ f(x, y)] - \mathbb{E}_{p(y)} [\log Z(y)] \triangleq I_{\text{UBA}} \: \leftarrow q(x|y) = \frac{p(x)}{Z(y)} e^{f(x, y)}. \\ \end{array} \]

    • 紧性: \(q(x|y) = p(x|y)\) 时等号成立, 即 \(f^*(x, y) = \log p(y|x) + c(y)\), 其中 \(c(y)\) 可以是任意的仅关于 \(y\) 的函数即可. 自然可以推导出, 此时:

      \[Z^*(y) = p(y)e^{c(y)}, \]

      还可以得到:

      \[f^*(x, y) = \log \frac{p(y|x)}{p(y)} + \log Z^*(y). \]

    • 注意此时 \(\mathbb{E}_{p(y)} [\log Z(y)]\) 本身往往也是不好求解的.

    • 倘若能求解, 我们可以通过

      \[\mathop{\text{argmax}} \limits_{f} \: I_{\text{UBA}}(f) \]

      估计 \(I(X; Y)\).

    UBA -> DV

    • 已知: \(\mathbb{E}_{p(y)}[Z(y)]\);

    • 策略: 用变分逼近 \(q(x|y)\) 替代 \(p(x|y)\) 可得:

      \[\begin{array}{ll} I(X; Y) &\ge \mathbb{E}_{p(x, y)} [\log f(x, y)] - \mathbb{E}_{p(y)} [\log Z(y)] \triangleq I_{\text{UBA}} \\ &\ge \mathbb{E}_{p(x, y)} [\log f(x, y)] - \log \mathbb{E}_{p(y)} [Z(y)] \triangleq I_{\text{DV}} \: \leftarrow \text{ Jensen's inequality} \\ \end{array} \]

    • 紧性: \(f(x, y) = \log p(y|x) + c(y)\).

    • 注意此时 \(\mathbb{E}_{p(y)} [Z(y)]\) 本身也是不好求解的.

    UBA -> TUBA

    • 已知: 无;

    • 策略: 用变分逼近 \(q(x|y)\) 替代 \(p(x|y)\) 可得:

      \[\begin{array}{ll} I(X; Y) &\ge \mathbb{E}_{p(x, y)} [\log f(x, y)] - \mathbb{E}_{p(y)} [\log Z(y)] \triangleq I_{\text{UBA}}\\ &\ge \mathbb{E}_{p(x, y)} [f(x, y)] - \mathbb{E}_{p(y)} [\frac{\mathbb{E}_{p(x)}[e^{f(x, y)}]}{a(y)} + \log (a(y)) - 1] \triangleq I_{\text{TUBA}}\\ \end{array} \]

      其中不等式用到了:
      $$
      \log x \le \frac{x}{a} + \log a - 1.
      $$

    • 紧性: \(f(x, y) = \log p(y|x) + c(y), a(y) = Z(y)\).

    • 倘若能求解, 我们可以通过

      \[\mathop{\text{argmax}} \limits_{f, a} \: I_{\text{UBA}}(f, a) \]

      估计 \(I(X; Y)\).


    问: 为什么 \(I_{\text{UBA}}\) 是可解的而 \(I_{\text{BA}}, I_{\text{DV}}\) 往往是不可解的呢? 似乎我们可以用 \(z(y) \approx \frac{1}{n}\sum_{x_i} e^{f(x_i, y)}\) 来近似代替 \(Z(y)\) ?

    猜想: 回答这个问题, 应该就是解释
    $$
    \log \mathbb{E}[f(x)], \mathbb{E}[f(x)]
    $$
    在估计上的区别. 个人感觉倘若你能采样足够多的点, 直接先估计 \(\mathbb{E}[f(x)]\) 然后带入 \(\log\) 应该是 ok 的. 但是现在机器学习里的情形是采用 mini-batch 的方式, 那么假设
    $$
    \bar{f}(B_k) = \frac{1}{n} \sum_{x \in B_k} f(x),
    $$
    其中 \(n\) 为 batchsize. 则多个 mini-batch 下来,
    $$
    \bar{f}(B_1, B_2, \ldots, B_K) = \frac{1}{K}\sum_k \frac{1}{n} \sum_{x \in B_k} f(x) = \frac{1}{N} \sum_{x} f(x),
    $$
    为整体的一个平均没问题. 但是对于 \(\log\) 而言为:
    $$
    \frac{1}{K} \sum_k \log \bar{f}(B_k) \not = \log \frac{1}{N} \sum_x f(x).
    $$


    TUBA -> NWJ

    • 假设: \(a(y)\) 为常数 \(e\) (\(\log e = 1\)\(e\));

    • 策略:

      \[\begin{array}{ll} I(X; Y) &\ge \mathbb{E}_{p(x, y)} [f(x, y)] - e^{-1} \mathbb{E}_{p(y)} [Z(y)] \triangleq I_{\text{NWJ}}. \\ \end{array} \]

    • 紧性: 除非 \(Z(y) = a(y) = e\) 满足, 即此时 \(f\) 是 self-normalize 的

      \[\mathbb{E}_{p(x)} [e^{f(x, y)}] = 1 \rightarrow f(x, y) = 1 + \log \frac{p(x|y)}{p(x)}. \]

    • 这个被用在了 \(f\)-GANKL, MINE-\(f\).

    • 也有用 \(e^{f(x, y)}\) 的滑动平均 (EMA) 替代 \(a(y)\) 的, 此时不必要求 \(f\) 是 self-normalized 的.

    Multi-sample unnormalized lower bounds

    作者认为, 上面所推导出来的界由于 \(\log\) 的存在, 会导致 high-variance, 所以作者希望提出更稳定一点的界. (但是, 我看网上说是 \(\log\) 反而有稳定方差的作用 ? 不同的情况 ? 这里我大概理解是有误的)

    注: 通篇来看, \(\log Z(y)\) 不稳定的原因, 大抵是它是无界的, 而后面所提出的方法, 能够保证 \(\log Z(y) \le \log K\), 从而更加稳定.

    • 目的: 估计 \(I(X_1; Y)\), 对应分布为 \(p(x_1)p(y|x_1)\);

    • 同时观察到另外的 \(K-1\) 个额外的样本 \(x_{2:K} \sim r^{K-1}(x_{2:K})\), 注意这些样本允许来自不同的分布, 但是我们假设 \(X_{2:K} \perp \!\!\! \perp (X_1, Y)\);

    • 此时我们有:

      \[I(X_1; Y) = I(X_1, X_{2:K}; Y). \]

    • 我们可以通过上面所推导的界来估计, 此外过程中所得的副产品也是相同的, 比如在 \(I_{\text{NWJ}}\)中:

      \[f^*(x_{1:K}, y) = 1 + \log \frac{p(y|x_{1:K})}{p(y)} = 1 + \log \frac{p(y|x_1)}{p(y)}; \]

    • 但是, 我们也可用通过使得这些副产品和 \(x_{2:K}\) 相关来帮助获得更稳定的估计, 比如令

      \[f(x_{1:K}, y) = 1 + \log \frac{e^{f(x_1, y)}}{\gamma(y;x_{1:K})}, \]

      且假设

      \[r^{K-1}(x_{2:K}) = \prod_{j=2}^K p(x_j), \]

      时有 (\(I_{\text{NWJ}}\))

      \[\begin{array}{ll} I(X_1; Y) &\ge 1 + \mathbb{E}_{p(x_{1:K})p(y|x_1)} [\log \frac{e^{f(x_1, y)}}{\gamma(y;x_{1:K})}] - \mathbb{E}_{p(x_{1:K})p(y)} [\frac{e^{f(x_1, y)}}{\gamma(y;x_{1:K})}] \\ \end{array} \]

    • 注意到 (因为此时相当于 \((x, y)\) 都是独立采样的 !):

      \[\tag{I. 1} \mathbb{E}_{p(x_{1:K})p(y)} [\frac{e^{f(x_i, y)}}{\gamma(y;x_{1:K})}] =\mathbb{E}_{p(x_{1:K})p(y)} [\frac{e^{f(x_j, y)}}{\gamma(y;x_{1:K})}], \]

      \[\gamma(y;x_{1:K}) := m(y;x_{1:K}) = \frac{1}{K} \sum_k e^{f(x_k, y)}, \]

      \[\tag{I. 2} \sum_i^K \mathbb{E}_{p(x_{1:K})p(y)} [\frac{e^{f(x_i, y)}}{\frac{1}{K}\sum_k e^{f(x_k, y)}}] = K. \]

      结合 (I.1) (I.2) 可知:

      \[\mathbb{E}_{p(x_{1:K})p(y)} [\frac{e^{f(x_1, y)}}{\gamma(y;x_{1:K})}] = 1. \]

    • 故当

      \[\gamma(y;x_{1:K}) := m(y;x_{1:K}) = \frac{1}{K} \sum_k e^{f(x_k, y)}, \]

      时有

      \[\tag{I} I(X_1; Y) \ge \mathbb{E}_{p(x_{1:K})p(y|x_1)} [\log \frac{e^{f(x_1, y)}}{\frac{1}{K} \sum_k e^{f(x_k, y)}}]. \]

    • 为了方便, 我们令 \(I(X_1; Y_1)\) 记为 \(I(X_1; Y)\), 倘若 \((X_i, Y_i)\)\((X_1, Y_1)\) 采自同一个分布 \(p(x, y)\), 则有:

      \[I(X_i; Y_i) = I(X_j; Y_j) = I(X_1; Y), \]

      它们的平均也是 \(I(X; Y)\), 故

      \[\tag{II} I(X; Y) \ge \mathbb{E} [ \frac{1}{K} \sum_{i=1}^K \log \frac{e^{f(x_i, y_i)}}{\frac{1}{K} \sum_k^K e^{f(x_k, y_i)}}] \triangleq I_{\text{NCE}}, \]

      此即为 InfoNCE.


    注: (I) 是不需要 \((X_i, Y_i)\) 采样自同一分布的, 而 (II) 是要求这一点的. 不过我感觉 (I) 也很有对比的 feel, 或者是噪声对比估计的 feel.

    注: \(I_{\text{NCE}} \le \log K\) 通常是不紧的, 且因为 \(\log (Z(y)) \le \log K\), 故方差有保障.


    Nonlinearly interpolated lower bounds

    \(I_{\text{NCE}}\) 虽然 low-variance, 但是它不是紧的, 即 high-bias, 相反的, \(I_{\text{NWJ}}\) 是 low-bias, high-variance, 所以这里就将二者进行一个结合.

    \[I_{\alpha} \triangleq 1 + \mathbb{E}_{p(x_{1:K})p(y|x_1)} [\log \frac{e^{f(x_1, y)}}{\alpha m(y;x_{1:K}) + (1 - \alpha) q(y)}] - \mathbb{E}_{p(x_{1:K})p(y)} [\frac{e^{f(x_1, y)}}{\alpha m(y;x_{1:K}) + (1 - \alpha) q(y)}] \le \log \frac{K}{\alpha}. \\ \]

    此时我们可以通过调节 \(\alpha\) 来 trade-off bias 和 variance.

    且可以注意到 \(I_{\text{NWJ}}, I_{\text{BCE}}\) 分别对应 \(\alpha = 0, 1\).

  • 相关阅读:
    【UNR #1】火车管理
    NOIP2018保卫王国
    [SCOI2015]国旗计划[Wf2014]Surveillance
    [TJOI2015]线性代数(最小割)
    [AH2017/HNOI2017]礼物(FFT)
    BZOJ5093图的价值(斯特林数)
    [NOI2018]你的名字(后缀自动机+线段树)
    [SDOI2015]序列统计(多项式快速幂)
    [NOI2014]购票(斜率优化+线段树)
    [CQOI2017]小Q的表格(数论+分块)
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/16558561.html
Copyright © 2020-2023  润新知