【閱讀筆記】Adversarially Regularized Autoencoders

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ψ(xencϕ(x))L_{rec}(\phi,\psi)=-log~p_{\psi}(x|enc_{\phi}(x))

x^=argmaxx pψ(xencϕ(x))\hat{x}=argmax_{x}~p_{\psi}(x|enc_{\phi}(x))

編碼器和解碼器是一個 problem-specific(特定的問題),一般可以選擇 RNN 作爲解碼器和編碼器。

Generative Adversarial Networks

WGAN:
minθmaxwWEzpr[fw(z)]Ez~pz[fw(z~)]min_{\theta}max_{w\in W}E_{z\sim p_r}[f_w(z)]-E_{\tilde{z}\sim p_z}[f_w(\tilde{z})]

weight-clipping w=[ϵ,ϵ]w=[-\epsilon,\epsilon]

Adversarially Regularized Autoencoder

ARAE combines a discrete autoencoder with a GAN-regularized latent representation. 模型如下圖所示,學習離散空間PψP_{\psi}。直覺上這種方法用一個更靈活的先驗分佈提供了一個更平滑的離散編碼空間。
在這裏插入圖片描述

模型包含 a discrete autoencoder regularized with a prior distribution,
minϕ,ψLrec(ϕ,ψ)+λ(1)W(PQ,Pz)min_{\phi,\psi}L_{rec}(\phi,\psi)+\lambda^{(1)}W(P_Q,P_z)

其中WW表示離散編碼空間PQP_Q(就是xx經過編碼後encϕ(x)enc_{\phi}(x)概率空間)和PzP_z的 Wasserstein 距離。模型訓練相當於對下面幾個目標進行求解:

  • (1) minϕ,ψLrec(ϕ,ψ)=ExPr[log pϕ(xenc(x))]min_{\phi,\psi}L_{rec}(\phi,\psi)=E_{x\sim P_r}[-log~p_{\phi}(x|enc(x))]
  • (2) maxwWLcri=ExPr[fw(encϕ(x))]Ez^Pz[fw(z^)]max_{w\in W}L_{cri}=E_{x\sim P_r}[f_w(enc_{\phi}(x))]-E_{\hat{z}\sim P_z}[f_w(\hat{z})]
  • (3) minϕLenc(ϕ)=ExPr[fw(encϕ(x))]Ez^Pz[fw(z^)]min_{\phi}L_{enc}(\phi)=E_{x\sim P_r}[f_w(enc_{\phi}(x))]-E_{\hat{z}\sim P_z}[f_w(\hat{z})]

(1)爲最小化編碼解碼器的的重構誤差、(2)是優化判別器、(3)是優化生成器

經驗上我們發現,先驗分佈PzP_z對結果有很強的影響,最簡單的選擇是固定的高斯分佈N(0,1)N(0,1),但是這種限制很強的條件很容易造成模型的崩潰。我們不固定PzP_z而是通過一個生成器來學習一個從高斯分佈N(0,1)N(0,1)PzP_z的映射。

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=1mPr\{x^{(i)}\}^m_{i=1}\sim P_r and compute z(i)=encϕ(x(i))z^{(i)}=enc_{\phi}(x^{(i)})
  • Backprop loss, Lrec=1mi=1mlog pψ(x(i)z(i))L_{rec}=−\frac{1}{m}\sum^m_{i=1}log~p_{\psi}(x^{(i)}|z^{(i)})
  • (2) Train the critic (w)(w)
  • Sample {x(i)}i=1mPr\{x^{(i)}\}^m_{i=1}\sim P_r 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 ww to KaTeX parse error: Unexpected character: '' at position 11: [−\epsilon̲, \epsilon]
  • (3) Train the encoder/generator adversarially (ϕ,θ)(\phi, \theta)
  • Sample {x(i)}i=1mPr\{x^{(i)}\}^m_{i=1}\sim P_r and {s(i)}i=1mN(0,I)\{s^{(i)}\}^m_{i=1}\sim N(0, I)
  • Compute z(i)=encϕ(x(i))z^{(i)}=enc_{\phi}(x^{(i)}) and z^(i)=gθ(s(i))\hat{z}^{(i)}=g_{\theta}(s^{(i)}).
  • Backprop loss 1mmi=1fw(z(i))1mi=1mfw(z^(i))\frac{1}{m}\sum_m^{i=1} f_w(z^{(i)})− \frac{1}{m}\sum^m_{i=1} f_w(\hat{z}^{(i)})
    end for

Extension: Unaligned Transfer

考慮對齊問題,對解碼器增加一個條件變爲pψ(xz,y)p_{\psi}(x|z,y)(沒看太明白,以後看代碼看看能看明白不),最優化時考慮分類誤差
minϕ,ψLrec(ϕ,ψ)+λ(1)W(PQ,Pz)λ(2)Lclass(ϕ,u)min_{\phi,\psi}L_{rec}(\phi,\psi)+\lambda^{(1)}W(P_Q,P_z)-\lambda^{(2)}L_{class}(\phi,u)

本文中λ(2)=1\lambda^{(2)}=1,並且需要在訓練時增加兩個步驟:(2b) 訓練分類器、(3b)爲分類器訓練解碼器

Algorithm 2 ARAE Transfer Extension
Each loop additionally:

  • (2b) Train attribute classifier (u)(u)
  • Sample {x(i)}i=1mPr\{x^{(i)}\}^m_{i=1}\sim P_r, lookup $y^{(i)} , and compute z(i)=encϕ(x(i))z^(i)=enc_{\phi}(x^{(i)})
  • Backprop loss 1mi=1mlog pu(y(i)z(i))−\frac{1}{m}\sum^m_{i=1}log~p_u(y^{(i)}|z^{(i)})
  • (3b) Train the encoder adversarially (ϕ)(\phi)
  • Sample {x(i)}i=1mPr\{x^{(i)}\}^m_{i=1}\sim P_r, lookup $y^{(i)} , and compute z(i)=encϕ(x(i))z^(i)=enc_{\phi}(x^{(i)})
  • Backprop loss 1mi=1mlog pu(1y(i)z(i))−\frac{1}{m}\sum^m_{i=1}log~p_u(1-y^{(i)}|z^{(i)})

Theoretical Properties

在標準的 GAN 中,我們隱式的減小真實分佈和模型分佈。在本文的情況中,我的理解是隱式的最小化 embedding 空間的真實分佈和模型分佈,並且最小化模型分佈PrP_r和隱變量分佈pψ=zpψ(xz)p(z)dzp_{\psi}=\int_zp_{\psi}(x|z)p(z)dz
略去一些很數學的證明

Experiments

在這裏插入圖片描述
在這裏插入圖片描述

其他

看 github 上作者把 WGAN 方法更新爲 WGAN-UP。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章