Adverarial Variation Bayes (AVB)

Abstract

Variational Autoencoders (VAEs)是一个latent variable models,目的是为了学习训练数据复杂的分布。然后模型最后的输出质量十分依赖inference model.

Adverarial Variation Bayes (AVB),是一个用任意的Inference model 来训练VAES的技术。我们通过建立一个辅助的判别模型,来重新审视maximum-likelihood问题。就好像两个竞争对手。所以AVB本质上是结合了VAEs和GANs。在nonparametric limit我们的方法产生了一个exact maximum-likelihood来给生成模型的参数。与此同时,还产生了exact posterior distribution over the latent variables given an observation.

Introduction

Generative models

主要是非监督学习,试图对训练数据有很好的了解一以便可以产生新的数据。



Adverarial Variation Bayes (AVB)_第1张图片
一些主要的生成模型

GANs

当GAN用于学习一个自然图片的表达式的时候,通常会产生一些可视化sharper results。在BiGANs中,在GAN的基础上加入了inference model。然而,它被观察到重建结果往往只是模糊的类似于输入,通常是在语义上,而不是在术语上的像素值。

VAEs  

好在他可以产生generative model and an inference model.一些文章表明他可以带来更好的log-likelihoods。不足之处就是他的inference model往往捕捉不到真正的后验分布posterior distribution。 

之前也有一些工作试图结合GANs和VAEs。但是,他们的出发点并不是maximumlikelihood point of view。所以do not lead to maximum-likelihood assignments。比如Adversarial Autoencoders (AAEs)。

Adversarial Autoencoders (AAEs)

Kullback-Leibler正则项出现在训练目标函数中。而在VAEs中被替换为an adversarial loss。在latent variables,这有利于the aggregated posterior to be close to the prior。除此之外AAEs并不最大化maximum-likelihood的下界。

AVB

除了生成模型的部分,AVB还提出了一个新方法for performing Variational Bayes (VB) with neural samplers.


Adverarial Variation Bayes (AVB)_第2张图片

由上图所示,我们用AVB来训练神经网络来to sample from a nontrival unnormalized probability density. 这一步,需要精确估计the posterior distribution of a probabilistic model。

本文的贡献:

1.在VAE的基础上,使用adversarial training.可以任意的使用复杂的inference model。

2.有理论基础,在nonparametric limit中,可以重构true posterior distribution和true maximum-likelihood assignment for the parameters of the generative model.

3.我们的经验证明,我们的模型能够学习丰富的后验分布,并证明该模型能够为复杂的数据集生成引人注目的样本。

2.背景

变分自编码器(Variational Autoencoder, VAE)通俗教程 – 邓范鑫

上面链接里面的文章很好,建议阅读

VAE



右边第一项:Ez∼Q[logP(X|z)]就是针对面对真实的z的分布情况(依赖Q(z|X),由X->z的映射关系决定),算出来的X的分布,类似于根据z重建X的过程。

右边第二项:D[Q(z|X)∥P(z)]就是让根据X重建的z与真实的z尽量趋近,由于P(z)是明确的N(0, I),而Q(z|X)是也是正态分布,其实就是要让Q(z|X)趋近与标准正态分布。

现在我们对这个公式的理解更加深入了。接下来,我们要进行实现的工作


Adverarial Variation Bayes (AVB)_第3张图片
VAE网络


Adverarial Variation Bayes (AVB)_第4张图片
未重参数化

总结起来,整个训练框架就是在对样本x进行编解码。q是将样本x编码为隐变量z,而p又将隐含变量z解码成f(z),进而最小化重构误差。训练的目的是学习出编码器的映射函数和解码器的映射函数,所以训练过程实际上是在进行变分推断,即寻找出某一个函数来优化目标。因此取名为变分编码器VAE(Variational Auto-encoder).

关注具体实现的读者可能会发现在“解码器Decoder到μ(x)和Σ(x)”这个阶段从技术上没办法进行梯度反传。的确如此,上图只是作为帮助大家理解的示意图,而真正实现过程中,我们需要利用重参数化这个trick,如下图所示。


Adverarial Variation Bayes (AVB)_第5张图片
使用了重参数化


GAN

GAN学习指南:从原理入门到制作生成Demo,总共分几步?


核心原理

简单分析一下这个公式:

整个式子由两项构成。x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。

D(x)表示D网络判断真实图片是否真实的概率(因为x就是真实的,所以对于D来说,这个值越接近1越好)。而D(G(z))是D网络判断G生成的图片的是否真实的概率。

G的目的:上面提到过,D(G(z))是D网络判断G生成的图片是否真实的概率,G应该希望自己生成的图片“越接近真实越好”。也就是说,G希望D(G(z))尽可能得大,这时V(D, G)会变小。因此我们看到式子的最前面的记号是min_G。

D的目的:D的能力越强,D(x)应该越大,D(G(x))应该越小。这时V(D,G)会变大。因此式子对于D来说是求最大(max_D)


Adverarial Variation Bayes (AVB)_第6张图片
过程



Adverarial Variation Bayes (AVB)_第7张图片
算法

这里红框圈出的部分是我们要额外注意的。第一步我们训练D,D是希望V(G, D)越大越好,所以是加上梯度(ascending)。第二步训练G时,V(G, D)越小越好,所以是减去梯度(descending)。整个训练过程交替进行。

首先明确一些名词:

parametric generative model


prior


an approximate inference model



Adverarial Variation Bayes (AVB)_第8张图片
训练数据的分布


贝叶斯公式


VAE核心公式


D就是kl就是KL散度 非负


q(z|x)=p(z|x)的时候才成立

our goal is to optimize the marginal log-likelihood


优化目标

(2.3)等于(2.4)

Adverarial Variation Bayes (AVB)_第9张图片
优化目标

关键影响优化因素是inference model q(z|x)假设服从高斯分布。

Adverarial Variation Bayes (AVB)_第10张图片
红色高斯分布的就是q(z|x)

因为这个inference model q(z|x)对于x而言是十分灵活的,而对于z潜在变量是十分限制的,这个因素也限制了生成模型的效果。

3.Method

然后在对抗变分贝叶斯模型中(AVB)中 ,我们可以避免使用inference model q(z|x)这个显示的表达式,我们使用黑箱模型。并且我们用对抗式的训练来得到


Adverarial Variation Bayes (AVB)_第11张图片

3.1推导


Adverarial Variation Bayes (AVB)_第12张图片
KL散度


Adverarial Variation Bayes (AVB)_第13张图片
由2.4得

我们将q(z|x)变成黑箱模型,所以在VAE中的重参数的技巧将不再奏效。

我们方法就是将要绕开这个,我们

判别模型

将上式看成判别模型T(x,z)。判别模型的目的就是区分(x,z)对儿是来自p(x)p(z),还是来自我们当前的inference model p(x)q(z|x)。

p(x)p(z)是真实的真值  p(x)q(z|x)模型得到。

p(z)真实存在数据背后的分布,但是我们无法得到,但是我们尽量去用q(z|x)去逼近p(z)。


Adverarial Variation Bayes (AVB)_第14张图片

nonparametric limit:

To simplify the theoretical analysis, we assume that the model T(x; z) is flexible enough to represent any function of the two variables x and z。


Adverarial Variation Bayes (AVB)_第15张图片
命题1


目标函数

seita是很容易由p(x|z)梯度下降来得到。fai很复杂,因为隐藏在T(x,z)中。


Adverarial Variation Bayes (AVB)_第16张图片
命题2

说明fai并不一定要出现在T中。

再加上重参数的技巧


Adverarial Variation Bayes (AVB)_第17张图片

3.2. Algorithm

as a two-player game


Adverarial Variation Bayes (AVB)_第18张图片

纳什均衡,Nash equilibrium,又称为非合作博弈均衡,是博弈论的一个重要术语,以约翰·纳什命名。纳什均衡是一种策略组合,使得同一时间内每个参与人的策略是对其他参与人策略的最优反应。

We therefore regard the optimization problems in (3.3) and (3.7) as a two-player game. Propositions 1 and 2 show that any Nash-equilibrium of this game yields a stationary point of the objective in (2.4).

在VAE中有一个和GAN一样的问题,就是在优化一个参数,而固定其他参数的时候,网络容易崩塌到一个确定的点。因此关键是保持判别T网络的最优性而优化。

3.3. Theoretical results


Adverarial Variation Bayes (AVB)_第19张图片
定义3


Adverarial Variation Bayes (AVB)_第20张图片
推论4

4.Adaptive Contrast

由于nonparametric limit 我们的模型可以取得好的结果。实际上,T(x,z)很难接近目标函数。因为AVB的判别模型很难计算

区别来自两个不同分布

然而,logistic regression 对于likelihood-ratio estimation有很好的结果,当两个密度很接近的时候。

为了提升估计的效果,我们提出了一个an auxiliary conditional probability distribution


对q(z|x)的大致估计

r(z|x)服从高斯分布,他的均值和方差可以和q(z|x)相互匹配。



第二项用梯度下降,

你可能感兴趣的:(Adverarial Variation Bayes (AVB))