Deep Variational Information Bottleneck
概
本文介绍了 Information Bottleneck 理论如何用在一般的特征建模上.
本文内容
-
假设我们拥有数据 \(X\) 和目标 \(Y\), 我们希望通过 \(p(\bm{z}| \bm{x}; \theta)\) 来建模隐变量 \(Z\). 自然地, 我们会希望 \(Z\) 和我们的目标 \(Y\) 之间有一个紧密的联系, 换言之它们之间的互信息足够大
\[\tag{1} I(Z, Y;\theta) = \int dz dy \: p(\bm{z}, \bm{y}|\theta) \log \frac{p(\bm{z, y}|\theta)}{p(\bm{z}|\theta)p(\bm{y}|\theta)}. \] -
但是, 仅仅应用 (1) 通常会导致一个平凡解, 即 \(Z = X\). 而我们通常所希望的 \(Z\) 能够将 \(X\) 中与 \(Y\) 无关的部分的杂质去掉, 换言之我们还需要添加约束
\[\tag{2} I(X, Z) \le I_c \]以保证 \(Z\) 不会直接复制 \(X\).
-
(1), (2) 可以转换为一个共同的优化问题:
\[\max_{\theta} \: I(Z, Y; \theta) - \beta I(Z, X; \theta). \] -
我们首先假设
\[\tag{3} p(X, Y, Z) = p(Z|X, Y)p(Y|X) p(X) = p(Z|X)p(Y|X)p(Z), \]即 \(Y \leftrightarrow X \leftrightarrow Z\).
-
让我们来计算 \(I(Z, Y), I(X, Z)\), 注意到
\[I(Z, Y) =\int dz dy \: p(\bm{z}, \bm{y}) \log \frac{p(\bm{z, y})}{p(\bm{z})p(\bm{y})} =\int dz dy \: p(\bm{z}, \bm{y}) \log \frac{p(\bm{y}|\bm{z})}{p(\bm{y})}, \]由于无法知晓 \(p(\bm{y}|\bm{z})\), 我们可以采用 [here] 中的方式, 用 \(q(\bm{y}|\bm{z}; \theta)\) 来变分近似, 得到
\[I(Z, Y) \ge \int dy dz p(\bm{z}, \bm{y}) \log q(\bm{y}|\bm{z}) + H(Y) \ge \int dy dz p(\bm{z}, \bm{y}) \log q(\bm{y}|\bm{z}). \] -
对于 \(I(X, Z)\), 通过 \(r(\bm{z})\) 来近似 \(p(\bm{z})\) 可以得到如下的一个上界 (参考 [here]):
\[I(X, Z) \le \int dxdz \: p(\bm{x}, \bm{z}) \log \frac{p(\bm{z}|\bm{x})}{r(\bm{z})}. \] -
凭借假设 (3), 可得
\[\begin{array}{ll} I(Z, Y) - \beta I(X, Z) &\ge \int dx dy dz \: p(\bm{z}) p(\bm{y|x}) p(\bm{z|x}) \log q(\bm{y}|\bm{z}; \theta) \\ &\quad - \beta \int dx dz \: p(\bm{x}) p(\bm{z}|\bm{x}) \log \frac{p(\bm{z|x})}{r(\bm{z})}\\ &=: L. \end{array} \] -
用经验分布 \(\frac{1}{N}\sum_{n=1}^N \delta_{x_n}(\bm{x}) \delta_{y_n}(\bm{y})\) 来近似 \(p(x, y)\), \(p(\bm{z}|\bm{x})\) 用 encoder 近似, 记为 \(p(\bm{z|x}; \phi)\), 可得
\[L \approx \frac{1}{N} \sum_{n=1}^N [\int dz \: p(z|x_n; \phi) \log q(\bm{y}_n |\bm{z}; \theta) - \beta p(\bm{z}|\bm{x}_n; \phi)\log \frac{p(\bm{z}|\bm{x}_n; \phi)}{r(\bm{z})}]. \]