Variational Inference with Normalizing Flow
Rezende D., Mohamed S. Variational Inference with Normalizing Flow. ICML, 2015.
概
VAE的先验分布很重要, 但是后验分布也很重要, 我们常常假设\(q_{\phi}(z|x)\)满足一个高斯分布, 这就大大限制了近似后验分布的逼近的准确性.
这番假设实在是过于强烈了.
本文提出的 normalizing flows的方法可以提高\(q_{\phi}\)的逼近能力.
主要内容
首先, 假设我们得到了\(q_{0}(z_0|x)\)(通过重采样得到\(z\)), 此时我们通过一个可逆函数\(f\), 得到
\[z_1 = f(z_0),
\]
则\(z_1\)的分布满足:
\[q(z_1) = q(z_0) |\mathrm{det} \nabla_z f^{-1}| = q(z_0) |\mathrm{det} \nabla f|^{-1}.
\]
以此类推可得:
\[z_K = f_K \circ \cdots \circ f_2 \circ f_1(z_0), \\
\ln q_K(z_K) = \ln q_0(z_0) - \sum_{k=1}^K \ln |\mathrm{det} \nabla_{z_{k-1}} f_k|.
\]
也就是说, 只要我们能计算出Jacobian行列式, 那么后验分布的近似能力就大大提高了.
此时ELBO的负数形式为:
\[\begin{array}{ll}
\mathcal{F}(x)
&= \mathbb{E}_{q_{\phi}(z|x)}[\ln q_{\phi}(z|x) - \ln p_{\theta}(x,z)] \\
&= \mathbb{E}_{q_{0}(z_0)}[\ln q_{K}(z_K) - \ln p_{\theta}(x,z_K)] \\
&= \mathbb{E}_{q_0(z_0)}[\ln q_0(z_0)] - \mathbb{E}_{q_0(z_0)}[\sum_{k=1}^K\ln |\mathrm{det} \nabla_{z_{k-1}} f_k|] \\
& + \mathbb{E}_{q_0(z_0)} [\ln p_{\theta}(x,z_K)].
\end{array}
\]
注:因为最后一项和\(q_K\)无关, 可以由采样直接近似.
一些合适的可逆变换
\[f(z) = z + u h(w^Tz + b),
\]
其中\(h\)是一个非线性的激活函数. 则
\[\psi(z) = h'(w^Tz+b)w \\
|\mathrm{det} \nabla_z f| = |1 + u^T \psi(z)|.
\]
\[f(z) = z + \beta \cdot h(\alpha, \gamma)(z-z_0), \\
\gamma = |z - z_0|, h(\alpha, \gamma) = 1/ (\alpha + \gamma).
\]
此时
\[|\mathrm{det} \nabla_z f| = [1 + \beta h(\alpha, \gamma)]^{d-1}[1+\beta h(\alpha, \gamma) + \beta h'(\alpha, \gamma) \gamma].
\]
其中\(d\)是\(z\)的维度.