AVB

Adversarial Variational Bayes:Unifying Variational Autoencoders and Generative Adversarial Networks

AVB提出了一个更加灵活的inference模型,具体如下图所示。
AVB_第1张图片
首先回归下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ϕ(zx),p(z))+Eqϕ(zx)logpθ(xz)如果存在一个 ϕ \phi ϕ使得 q ϕ ( z ∣ x ) = p θ ( z ∣ x ) q_{\phi}(z | x)=p_{\theta}(z | x) qϕ(zx)=pθ(zx),那么 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)=ϕmaxKL(qϕ(zx),p(z))+Eqϕ(zx)logpθ(xz)但是一般来说这是不可能的。我们优化的目标一般是 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ϕ(zx),p(z))+Eqϕ(zx)logpθ(xz)]由于 q ϕ ( z ∣ x ) q_{\phi}(z | x) qϕ(zx)往往选择为一个易于处理的分布,但这样就限制了模型的灵活性,从而会出现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ϕ(zx)(logp(z)logqϕ(zx)+logpθ(xz))本文中采用一种隐含的方式表示 log ⁡ p ( z ) − log ⁡ q ϕ ( z ∣ x ) \log p(z)-\log q_{\phi}(z | x) logp(z)logqϕ(zx),从而不能像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ϕ(zx)。具体来说,考虑以下优化问题 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ϕ(zx)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ϕ(zx)根据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ϕ(zx)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ϕ(zx)(T(x,z)+logpθ(xz))以上优化目标对 θ \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ϕ(zx)(ϕ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θ(xzϕ(x,ϵ)))最终算法如下
AVB_第2张图片
但是在实际优化的过程中发现,由于 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ϕ(zx)相差甚远,这样一来 T ( x , z ) T(x, z) T(x,z)很难训练到最优的判别器,因此文中提出了一种Adaptive Contrast的方式,即引入一个简单的变分后验 r α ( z ∣ x ) r_{\alpha}(z | x) rα(zx)(这个分布设定为一个高斯分布,其均值 μ ( x ) \mu(x) μ(x)和方差 σ ( x ) \sigma(x) σ(x)匹配到 q ϕ ( z ∣ x ) q_{\phi}(z | x) qϕ(zx)的均值和方差[采用MC方法估计]),让这个分布与 q ϕ ( z ∣ x ) q_{\phi}(z | x) qϕ(zx)进行对抗,这样 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ϕ(zx),rα(zx))+Eqϕ(zx)(logrα(zx)+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ϕ(zx)(T(x,z)logrα(zx)+logpθ(x,z))为了简单起见,我们可以利用 r α ( z ∣ x ) r_{\alpha}(z | x) rα(zx)的高斯性质,可以把 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的算法如下所示。
AVB_第3张图片

你可能感兴趣的:(变分自动编码机)