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} abla_z f^{-1}| = q(z_0) |mathrm{det} abla 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} abla_{z_{k-1}} f_k|. ]

也就是说, 只要我们能计算出Jacobian行列式, 那么后验分布的近似能力就大大提高了.

此时ELBO的负数形式为:

[egin{array}{ll} mathcal{F}(x) &= mathbb{E}_{q_{phi}(z|x)}[ln q_{phi}(z|x) - ln p_{ heta}(x,z)] \ &= mathbb{E}_{q_{0}(z_0)}[ln q_{K}(z_K) - ln p_{ heta}(x,z_K)] \ &= mathbb{E}_{q_0(z_0)}[ln q_0(z_0)] - mathbb{E}_{q_0(z_0)}[sum_{k=1}^Kln |mathrm{det} abla_{z_{k-1}} f_k|] \ & + mathbb{E}_{q_0(z_0)} [ln p_{ heta}(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} abla_z f| = |1 + u^T psi(z)|. ]

[f(z) = z + eta cdot h(alpha, gamma)(z-z_0), \ gamma = |z - z_0|, h(alpha, gamma) = 1/ (alpha + gamma). ]

此时

[|mathrm{det} abla_z f| = [1 + eta h(alpha, gamma)]^{d-1}[1+eta h(alpha, gamma) + eta h'(alpha, gamma) gamma]. ]

其中(d)(z)的维度.

代码

非官方代码

原文地址:https://www.cnblogs.com/MTandHJ/p/14583607.html