AVB提出了一个更加灵活的inference模型,具体如下图所示。
首先回归下VAE,其目标函数为ELBO log p θ ( x ) ≥ − K L ( q ϕ ( z ∣ x ) , p ( z ) ) + E q ϕ ( z ∣ x ) log p θ ( x ∣ z ) \begin{aligned} \log p_{\theta}(x) \geq-\mathrm{KL}\left(q_{\phi}(z | x), p(z)\right) & +\mathrm{E}_{q_{\phi}(z | x)} \log p_{\theta}(x | z) \end{aligned} logpθ(x)≥−KL(qϕ(z∣x),p(z))+Eqϕ(z∣x)logpθ(x∣z)如果存在一个 ϕ \phi ϕ使得 q ϕ ( z ∣ x ) = p θ ( z ∣ x ) q_{\phi}(z | x)=p_{\theta}(z | x) qϕ(z∣x)=pθ(z∣x),那么 log p θ ( x ) = max ϕ − K L ( q ϕ ( z ∣ x ) , p ( z ) ) + E q ϕ ( z ∣ x ) log p θ ( x ∣ z ) \begin{aligned} \log p_{\theta}(x)=\max _{\phi}-\mathrm{KL}( & q_{\phi}(z | x), p(z) ) +\mathrm{E}_{q_{\phi}(z | x)} \log p_{\theta}(x | z) \end{aligned} logpθ(x)=ϕmax−KL(qϕ(z∣x),p(z))+Eqϕ(z∣x)logpθ(x∣z)但是一般来说这是不可能的。我们优化的目标一般是 E p D ( x ) log p θ ( x ) \mathrm{E}_{p_{\mathcal{D}}(x)} \log p_{\theta}(x) EpD(x)logpθ(x),但是上式是难于直接运算的,往往转化为 max θ max ϕ E p D ( x ) [ − K L ( q ϕ ( z ∣ x ) , p ( z ) ) + E q ϕ ( z ∣ x ) log p θ ( x ∣ z ) ] \begin{array}{r}{\max _{\theta} \max _{\phi} \mathrm{E}_{p_{\mathcal{D}}(x)}\left[-\mathrm{KL}\left(q_{\phi}(z | x), p(z)\right)\right.} {+\mathrm{E}_{q_{\phi}(z | x)} \log p_{\theta}(x | z) ]}\end{array} maxθmaxϕEpD(x)[−KL(qϕ(z∣x),p(z))+Eqϕ(z∣x)logpθ(x∣z)]由于 q ϕ ( z ∣ x ) q_{\phi}(z | x) qϕ(z∣x)往往选择为一个易于处理的分布,但这样就限制了模型的灵活性,从而会出现VAE生成的图比较模糊等问题。
下面介绍本文的方法,我们的优化问题为 max θ max ϕ E p D ( x ) E q ϕ ( z ∣ x ) ( log p ( z ) − log q ϕ ( z ∣ x ) + log p θ ( x ∣ z ) ) \begin{aligned} \max _{\theta} \max _{\phi} \mathrm{E}_{p_{\mathcal{D}}}(x) & \mathrm{E}_{q_{\phi}}(z | x)(\log p(z)-\log q_{\phi}(z | x)+\log p_{\theta}(x | z) ) \end{aligned} θmaxϕmaxEpD(x)Eqϕ(z∣x)(logp(z)−logqϕ(z∣x)+logpθ(x∣z))本文中采用一种隐含的方式表示 log p ( z ) − log q ϕ ( z ∣ x ) \log p(z)-\log q_{\phi}(z | x) logp(z)−logqϕ(z∣x),从而不能像VAE那样使用重参数和随机梯度进行优化。引入判别网络 T ( x , z ) T(x, z) T(x,z),使得其最优值刚好为 log p ( z ) − log q ϕ ( z ∣ x ) \log p(z)-\log q_{\phi}(z | x) logp(z)−logqϕ(z∣x)。具体来说,考虑以下优化问题 max T E p D ( x ) E q ϕ ( z ∣ x ) log σ ( T ( x , z ) ) + E p D ( x ) E p ( z ) log ( 1 − σ ( T ( x , z ) ) ) \begin{aligned} \max _{T} \mathrm{E}_{p_{\mathcal{D}}}(x) & \mathrm{E}_{q_{\phi}(z | x)} \log \sigma(T(x, z)) +\mathrm{E}_{p_{\mathcal{D}}(x)} \mathrm{E}_{p(z)} \log (1-\sigma(T(x, z))) \end{aligned} TmaxEpD(x)Eqϕ(z∣x)logσ(T(x,z))+EpD(x)Ep(z)log(1−σ(T(x,z)))即用 T ( x , z ) T(x,z) T(x,z)判别样本 ( x , z ) (x,z) (x,z)来自 p D ( x ) p ( z ) p_{\mathcal{D}}(x) p(z) pD(x)p(z)还是 p D ( x ) q ϕ ( z ∣ x ) p_{\mathcal{D}}(x) q_{\phi}(z | x) pD(x)qϕ(z∣x)根据GAN的最优判别器 T ∗ ( x , z ) = log q ϕ ( z ∣ x ) − log p ( z ) T^{*}(x, z)=\log q_{\phi}(z | x)-\log p(z) T∗(x,z)=logqϕ(z∣x)−logp(z)从而目标函数变为 max θ , ϕ E p D ( x ) E q ϕ ( z ∣ x ) ( − T ∗ ( x , z ) + log p θ ( x ∣ z ) ) \max _{\theta, \phi} \mathrm{E}_{p_{\mathcal{D}}(x)} \mathrm{E}_{q_{\phi}(z | x)}\left(-T^{*}(x, z)+\log p_{\theta}(x | z)\right) θ,ϕmaxEpD(x)Eqϕ(z∣x)(−T∗(x,z)+logpθ(x∣z))以上优化目标对 θ \theta θ可以很好地得出梯度,而 ϕ \phi ϕ则比较麻烦,因为 T ∗ ( x , z ) T^{*}(x, z) T∗(x,z)与 ϕ \phi ϕ有关。但是有 E q ϕ ( z ∣ x ) ( ∇ ϕ T ∗ ( x , z ) ) = 0 \mathrm{E}_{q_{\phi}(z | x)}\left(\nabla_{\phi} T^{*}(x, z)\right)=0 Eqϕ(z∣x)(∇ϕT∗(x,z))=0使用重参数,则优化目标可以变为 max θ , ϕ E p D ( x ) E ϵ ( − T ∗ ( x , z ϕ ( x , ϵ ) ) + log p θ ( x ∣ z ϕ ( x , ϵ ) ) ) \begin{aligned} \max _{\theta, \phi} \mathrm{E}_{p_{\mathcal{D}}(x)} \mathrm{E}_{\epsilon}\left(-T^{*}\left(x, z_{\phi}(x, \epsilon)\right)\right.& +\log p_{\theta}\left(x | z_{\phi}(x, \epsilon)\right) ) \end{aligned} θ,ϕmaxEpD(x)Eϵ(−T∗(x,zϕ(x,ϵ))+logpθ(x∣zϕ(x,ϵ)))最终算法如下
但是在实际优化的过程中发现,由于 p D ( x ) p ( z ) p_{\mathcal{D}}(x) p(z) pD(x)p(z)和 p D ( x ) q ϕ ( z ∣ x ) p_{\mathcal{D}}(x) q_{\phi}(z | x) pD(x)qϕ(z∣x)相差甚远,这样一来 T ( x , z ) T(x, z) T(x,z)很难训练到最优的判别器,因此文中提出了一种Adaptive Contrast的方式,即引入一个简单的变分后验 r α ( z ∣ x ) r_{\alpha}(z | x) rα(z∣x)(这个分布设定为一个高斯分布,其均值 μ ( x ) \mu(x) μ(x)和方差 σ ( x ) \sigma(x) σ(x)匹配到 q ϕ ( z ∣ x ) q_{\phi}(z | x) qϕ(z∣x)的均值和方差[采用MC方法估计]),让这个分布与 q ϕ ( z ∣ x ) q_{\phi}(z | x) qϕ(z∣x)进行对抗,这样 T ( x , z ) T(x, z) T(x,z)就能很容易训到最优,这样一来目标函数变为 E p D ( x ) [ − K L ( q ϕ ( z ∣ x ) , r α ( z ∣ x ) ) + E q ϕ ( z ∣ x ) ( − log r α ( z ∣ x ) + log p ϕ ( x , z ) ) ] \mathrm{E}_{p_{\mathcal{D}}}(x)\left[-\mathrm{KL}\left(q_{\phi}(z | x), r_{\alpha}(z | x)\right)+\mathrm{E}_{q_{\phi}(z | x)}\left(-\log r_{\alpha}(z | x)+\log p_{\phi}(x, z)\right)\right] EpD(x)[−KL(qϕ(z∣x),rα(z∣x))+Eqϕ(z∣x)(−logrα(z∣x)+logpϕ(x,z))]将 T ( x , z ) T(x,z) T(x,z)代替 K L KL KL部分可得 E p D ( x ) E q ϕ ( z ∣ x ) ( − T ∗ ( x , z ) − log r α ( z ∣ x ) + log p θ ( x , z ) ) \mathrm{E}_{p_{\mathcal{D}}(x)} \mathrm{E}_{q_{\phi}(z | x)}\left(-T^{*}(x, z)-\log r_{\alpha}(z | x)+\log p_{\theta}(x, z)\right) EpD(x)Eqϕ(z∣x)(−T∗(x,z)−logrα(z∣x)+logpθ(x,z))为了简单起见,我们可以利用 r α ( z ∣ x ) r_{\alpha}(z | x) rα(z∣x)的高斯性质,可以把 K L KL KL部分变化为以下 E p D ( x ) K L ( q ~ ϕ ( z ~ ∣ x ) , r 0 ( z ~ ) ) z ~ : = z − μ ( x ) σ ( x ) \begin{aligned} \mathrm{E}_{p \mathcal{D}}(x) & \mathrm{KL}\left(\tilde{q}_{\phi}(\tilde{z} | x), r_{0}(\tilde{z})\right) \\ \tilde{z} & :=\frac{z-\mu(x)}{\sigma(x)} \end{aligned} EpD(x)z~KL(q~ϕ(z~∣x),r0(z~)):=σ(x)z−μ(x)这样便得到了加入AC的算法如下所示。