1. 程式人生 > >生成式對抗網路GAN研究進展(二)——原始GAN

生成式對抗網路GAN研究進展(二)——原始GAN

【前言】
    本文首先介紹生成式模型,然後著重梳理生成式模型(Generative Models)中生成對抗網路(Generative Adversarial Network)的研究與發展。作者按照GAN主幹論文、GAN應用性論文、GAN相關論文分類整理了45篇近兩年的論文,著重梳理了主幹論文之間的聯絡與區別,揭示生成式對抗網路的研究脈絡。
涉及的論文有:
[1] Goodfellow Ian, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in Neural Information Processing Systems. 2014: 2672-2680.
[2] Mirza M, Osindero S. Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680.
[3] Denton E L, Chintala S, Fergus R. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks[C]//Advances in neural information processing systems. 2015: 1486-1494.
[4] Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arXiv preprint arXiv:1511.06434, 2015.
[5] Im D J, Kim C D, Jiang H, et al. Generating images with recurrent adversarial networks[J]. arXiv preprint arXiv:1602.05110, 2016.
[6] Larsen A B L, Sønderby S K, Winther O. Autoencoding beyond pixels using a learned similarity metric[J]. arXiv preprint arXiv:1512.09300, 2015.
[7] Wang X, Gupta A. Generative Image Modeling using Style and Structure Adversarial Networks[J]. arXiv preprint arXiv:1603.05631, 2016.
[8] Chen X, Duan Y, Houthooft R, et al. InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets[J]. arXiv preprint arXiv:1606.03657, 2016.
[9] Kurakin A, Goodfellow I, Bengio S. Adversarial examples in the physical world[J]. arXiv preprint arXiv:1607.02533, 2016.
[10] Odena A. Semi-Supervised Learning with Generative Adversarial Networks[J]. arXiv preprint arXiv:1606.01583, 2016.
[11] Springenberg J T. Unsupervised and Semi-supervised Learning with Categorical Generative Adversarial Networks[J]. arXiv preprint arXiv:1511.06390, 2015.

2. 生成式對抗網路,Generative Adversarial Networks

2.1 GAN的思想與訓練方法

    GAN[Goodfellow Ian,GAN]啟發自博弈論中的二人零和博弈(two-player game),由[Goodfellow et al, NIPS 2014]開創性地提出。在二人零和博弈中,兩位博弈方的利益之和為零或一個常數,即一方有所得,另一方必有所失。GAN模型中的兩位博弈方分別由生成式模型(generative model)和判別式模型(discriminative model)充當。生成模型G捕捉樣本資料的分佈,判別模型是一個二分類器,估計一個樣本來自於訓練資料(而非生成資料)的概率。G和D一般都是非線性對映函式,例如多層感知機、卷積神經網路等。如圖2-1所示,左圖是一個判別式模型,當輸入訓練資料x時,期待輸出高概率(接近1);右圖下半部分是生成模型,輸入是一些服從某一簡單分佈(例如高斯分佈)的隨機噪聲z,輸出是與訓練影象相同尺寸的生成影象。向判別模型D輸入生成樣本,對於D來說期望輸出低概率(判斷為生成樣本),對於生成模型G來說要儘量欺騙D,使判別模型輸出高概率(誤判為真實樣本),從而形成競爭與對抗。
                這裡寫圖片描述

    GAN模型沒有損失函式,優化過程是一個“二元極小極大博弈(minimax two-player game)”問題:
                這裡寫圖片描述
    這是關於判別網路D和生成網路G的價值函式(Value Function),訓練網路D使得最大概率地分對訓練樣本的標籤(最大化log D(x)),訓練網路G最小化log(1 – D(G(z))),即最大化D的損失。訓練過程中固定一方,更新另一個網路的引數,交替迭代,使得對方的錯誤最大化,最終,G 能估測出樣本資料的分佈。生成模型G隱式地定義了一個概率分佈Pg,我們希望Pg 收斂到資料真實分佈Pdata。論文證明了這個極小化極大博弈當且僅當Pg = Pdata時存在最優解,即達到納什均衡,此時生成模型G恢復了訓練資料的分佈,判別模型D的準確率等於50%。
                圖2-2 生成式對抗網路演算法流程


                                                      圖2-2 生成式對抗網路演算法流程

2.2 GAN的優勢與缺陷

  • 根據實際的結果,它們看上去可以比其它模型產生了更好的樣本(影象更銳利、清晰)。
  • 生成對抗式網路框架能訓練任何一種生成器網路(理論上-實踐中,用 REINFORCE 來訓練帶有離散輸出的生成網路非常困難)。大部分其他的框架需要該生成器網路有一些特定的函式形式,比如輸出層是高斯的。重要的是所有其他的框架需要生成器網路遍佈非零質量(non-zero mass)。生成對抗式網路能學習可以僅在與資料接近的細流形(thin manifold)上生成點。
  • 不需要設計遵循任何種類的因式分解的模型,任何生成器網路和任何鑑別器都會有用。
  • 無需利用馬爾科夫鏈反覆取樣,無需在學習過程中進行推斷(Inference),迴避了近似計算棘手的概率的難題。

    與PixelRNN相比,生成一個樣本的執行時間更小。GAN 每次能產生一個樣本,而 PixelRNN 需要一次產生一個畫素來生成樣本。
    與VAE 相比,它沒有變化的下限。如果鑑別器網路能完美適合,那麼這個生成器網路會完美地恢復訓練分佈。換句話說,各種對抗式生成網路會漸進一致(asymptotically consistent),而 VAE 有一定偏置。
與深度玻爾茲曼機相比,既沒有一個變化的下限,也沒有棘手的分割槽函式。它的樣本可以一次性生成,而不是通過反覆應用馬爾可夫鏈運算器(Markov chain operator)。
與 GSN 相比,它的樣本可以一次生成,而不是通過反覆應用馬爾可夫鏈運算器。
與NICE 和 Real NVE 相比,在 latent code 的大小上沒有限制。

GAN目前存在的主要問題:

  • 解決不收斂(non-convergence)的問題。
        目前面臨的基本問題是:所有的理論都認為 GAN 應該在納什均衡(Nash equilibrium)上有卓越的表現,但梯度下降只有在凸函式的情況下才能保證實現納什均衡。當博弈雙方都由神經網路表示時,在沒有實際達到均衡的情況下,讓它們永遠保持對自己策略的調整是可能的【OpenAI Ian Goodfellow的Quora】。
  • 難以訓練:崩潰問題(collapse problem)
        GAN模型被定義為極小極大問題,沒有損失函式,在訓練過程中很難區分是否正在取得進展。GAN的學習過程可能發生崩潰問題(collapse problem),生成器開始退化,總是生成同樣的樣本點,無法繼續學習。當生成模型崩潰時,判別模型也會對相似的樣本點指向相似的方向,訓練無法繼續。【Improved Techniques for Training GANs
  • 無需預先建模,模型過於自由不可控。
        與其他生成式模型相比,GAN這種競爭的方式不再要求一個假設的資料分佈,即不需要formulate p(x),而是使用一種分佈直接進行取樣sampling,從而真正達到理論上可以完全逼近真實資料,這也是GAN最大的優勢。然而,這種不需要預先建模的方法缺點是太過自由了,對於較大的圖片,較多的 pixel的情形,基於簡單 GAN 的方式就不太可控了。在GAN[Goodfellow Ian, Pouget-Abadie J] 中,每次學習引數的更新過程,被設為D更新k回,G才更新1回,也是出於類似的考慮。

Reference

[1] Goodfellow Ian, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in Neural Information Processing Systems. 2014: 2672-2680.
[2] 深度 | OpenAI Ian Goodfellow的Quora問答:高歌猛進的機器學習人生. 作者:Ian Goodfellow. 機器之心編譯
[3] Barone A V M. Towards cross-lingual distributed representations without parallel text trained with adversarial autoencoders[J]. arXiv preprint arXiv:1608.02996, 2016.