Adversarially Regularized Autoencoders
Kim Y, Zhang K, Rush A M, et al. Adversarially regularized autoencoders[J]. arXiv preprint arXiv:1706.04223, 2017.
GitHub: https://github.com/jakezhaojb/ARAE
adversarially regularized autoencoder (ARAE)
Abstract
Deep latent variable models (也就是VAE、GAN这种由随机变量作种子的模型)比较方便生成连续的样本。当把他们运用在例如文本、离散图片等离散结构上时,将会遇到很大挑战。本文提出了一个灵活的方法来训练 deep latent variable models of discrete structures。
Background and Notation
Discrete Autoencoder
就是把离散序列 encoder 之后再 decoder,通过 softmax 来进行离散
Lrec(ϕ,ψ)=−log pψ(x∣encϕ(x))
x^=argmaxx pψ(x∣encϕ(x))
编码器和解码器是一个 problem-specific(特定的问题),一般可以选择 RNN 作为解码器和编码器。
Generative Adversarial Networks
WGAN:
minθmaxw∈WEz∼pr[fw(z)]−Ez~∼pz[fw(z~)]
weight-clipping w=[−ϵ,ϵ]
Adversarially Regularized Autoencoder
ARAE combines a discrete autoencoder with a GAN-regularized latent representation. 模型如下图所示,学习离散空间Pψ。直觉上这种方法用一个更灵活的先验分布提供了一个更平滑的离散编码空间。

模型包含 a discrete autoencoder regularized with a prior distribution,
minϕ,ψLrec(ϕ,ψ)+λ(1)W(PQ,Pz)
其中W表示离散编码空间PQ(就是x经过编码后encϕ(x)概率空间)和Pz的 Wasserstein 距离。模型训练相当于对下面几个目标进行求解:
- (1) minϕ,ψLrec(ϕ,ψ)=Ex∼Pr[−log pϕ(x∣enc(x))]
- (2) maxw∈WLcri=Ex∼Pr[fw(encϕ(x))]−Ez^∼Pz[fw(z^)]
- (3) minϕLenc(ϕ)=Ex∼Pr[fw(encϕ(x))]−Ez^∼Pz[fw(z^)]
(1)为最小化编码解码器的的重构误差、(2)是优化判别器、(3)是优化生成器
经验上我们发现,先验分布Pz对结果有很强的影响,最简单的选择是固定的高斯分布N(0,1),但是这种限制很强的条件很容易造成模型的崩溃。我们不固定Pz而是通过一个生成器来学习一个从高斯分布N(0,1)到Pz的映射。
Algorithm 1 ARAE Training
for each training iteration do
- (1) Train the encoder/decoder for reconstruction KaTeX parse error: Expected 'EOF', got '}' at position 11: (\phi,\psi}̲)
- Sample {x(i)}i=1m∼Pr and compute z(i)=encϕ(x(i))
- Backprop loss, Lrec=−m1∑i=1mlog pψ(x(i)∣z(i))
- (2) Train the critic (w)
- Sample {x(i)}i=1m∼Pr and ${s{(i)}}m_{i=1}\sim N(0, I)
- Compute $z{(i)}=enc_{\phi}(x{(i)}) and $\hat{z}{(i)}=g_{\theta}(z{(i)})
- Backprop loss $-\frac{1}{m}\summ_{i=1}f_w(z(i))+frac{1}{m}\summ_{i=1}f_w(\hat{z}{(i)})
- Clip critic w to KaTeX parse error: Unexpected character: '' at position 11: [−\epsilon̲, \epsilon]
- (3) Train the encoder/generator adversarially (ϕ,θ)
- Sample {x(i)}i=1m∼Pr and {s(i)}i=1m∼N(0,I)
- Compute z(i)=encϕ(x(i)) and z^(i)=gθ(s(i)).
- Backprop loss m1∑mi=1fw(z(i))−m1∑i=1mfw(z^(i))
end for
Extension: Unaligned Transfer
考虑对齐问题,对解码器增加一个条件变为pψ(x∣z,y)(没看太明白,以后看代码看看能看明白不),最优化时考虑分类误差
minϕ,ψLrec(ϕ,ψ)+λ(1)W(PQ,Pz)−λ(2)Lclass(ϕ,u)
本文中λ(2)=1,并且需要在训练时增加两个步骤:(2b) 训练分类器、(3b)为分类器训练解码器
Algorithm 2 ARAE Transfer Extension
Each loop additionally:
- (2b) Train attribute classifier (u)
- Sample {x(i)}i=1m∼Pr, lookup $y^{(i)} , and compute z(i)=encϕ(x(i))
- Backprop loss −m1∑i=1mlog pu(y(i)∣z(i))
- (3b) Train the encoder adversarially (ϕ)
- Sample {x(i)}i=1m∼Pr, lookup $y^{(i)} , and compute z(i)=encϕ(x(i))
- Backprop loss −m1∑i=1mlog pu(1−y(i)∣z(i))
Theoretical Properties
在标准的 GAN 中,我们隐式的减小真实分布和模型分布。在本文的情况中,我的理解是隐式的最小化 embedding 空间的真实分布和模型分布,并且最小化模型分布Pr和隐变量分布pψ=∫zpψ(x∣z)p(z)dz。
略去一些很数学的证明
Experiments


其他
看 github 上作者把 WGAN 方法更新为 WGAN-UP。