1. 程式人生 > >生成式對抗網路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.

1. 生成式模型

1.1 概述

    機器學習方法可以分為生成方法(generative approach)和判別方法(discriminative approach),所學到的模型分別稱為生成式模型(generative model)和判別式模型(discriminative model)[1 李航]。生成方法通過觀測資料學習樣本與標籤的聯合概率分佈P(X, Y),訓練好的模型能夠生成符合樣本分佈的新資料,它可以用於有監督學習和無監督學習。在有監督學習任務中,根據貝葉斯公式由聯合概率分佈P(X,Y)求出條件概率分佈P(Y|X),從而得到預測的模型,典型的模型有樸素貝葉斯、混合高斯模型和隱馬爾科夫模型等。無監督生成模型通過學習真實資料的本質特徵,從而刻畫出樣本資料的分佈特徵,生成與訓練樣本相似的新資料。生成模型的引數遠遠小於訓練資料的量,因此模型能夠發現並有效內化資料的本質,從而可以生成這些資料。生成式模型在無監督深度學習方面佔據主要位置,可以用於在沒有目標類標籤資訊的情況下捕捉觀測到或可見資料的高階相關性。深度生成模型可以通過從網路中取樣來有效生成樣本,例如受限玻爾茲曼機(Restricted Boltzmann Machine, RBM)、深度信念網路(Deep Belief Network, DBN)、深度玻爾茲曼機(Deep Boltzmann Machine, DBM)和廣義除噪自編碼器(Generalized Denoising Autoencoders)。近兩年來流行的生成式模型主要分為三種方法[OpenAI 首批研究]:

  • 生成對抗網路(GAN:Generative Adversarial Networks)
        GAN啟發自博弈論中的二人零和博弈,由[Goodfellow et al, NIPS 2014]開創性地提出,包含一個生成模型(generative model G)和一個判別模型(discriminative model D)。生成模型捕捉樣本資料的分佈,判別模型是一個二分類器,判別輸入是真實資料還是生成的樣本。這個模型的優化過程是一個“二元極小極大博弈(minimax two-player game)”問題,訓練時固定一方,更新另一個模型的引數,交替迭代,使得對方的錯誤最大化,最終,G 能估測出樣本資料的分佈。
  • 變分自編碼器(VAE: Variational Autoencoders)
        在概率圖形模型(probabilistic graphical models )的框架中對這一問題進行形式化——在概率圖形模型中,我們在資料的對數似然上最大化下限(lower bound)。
  • 自迴歸模型(Autoregressive models)
        PixelRNN 這樣的自迴歸模型則通過給定的之前的畫素(左側或上部)對每個單個畫素的條件分佈建模來訓練網路。這類似於將影象的畫素插入 char-rnn 中,但該 RNN 在影象的水平和垂直方向上同時執行,而不只是字元的 1D 序列。

1.2 生成式模型的分類[重磅 | Yoshua Bengio深度學習暑期班]

全觀察模型(Fully Observed Models)
    模型在不引入任何新的非觀察區域性變數的情況下直接觀察資料。這類模型能夠直接編譯觀察點之間的關係。對於定向型圖模型,很容易就能擴充套件成大模型,而且因為對數概率能被直接計算(不需要近似計算),引數學習也很容易。對於非定向型模型,引數學習就困難,因為我們需要計算歸一化常數。全觀察模型中的生成會很慢。下圖展示了不同的全觀察生成模型[圖片來自Shakir Mohamed的展示]:
                這裡寫圖片描述

變換模型( Transformation Models)
    模型使用一個引數化的函式對一個非觀察噪音源進行變換。很容易做到(1):從這些模型中取樣 (2):在不知道最終分佈的情況下僅算期望值。它們可用於大型分類器和卷積神經元網路。然而,用這些模型維持可逆性並擴充套件到一般資料型別就很難了。下圖顯示了不同的變換生成模型[圖片來自Shakir Mohamed的展示]:
                這裡寫圖片描述

隱變數模型( Latent Variable Models)
    這些模型中引入了一個代表隱藏因素的非觀察區域性隨機變數。從這些模型中取樣並加入層級和深度是很容易的。也可以使用邊緣化概率進行打分和模型選擇。然而,決定與一個輸入相聯絡的隱變數卻很難。下圖顯示了不同的隱變數生成模型[圖片來自Shakir Mohamed的展示]:
                這裡寫圖片描述

1.3 生成式模型的應用

    我們需要生成(Generative models)模型,這樣就能從關聯輸入移動到輸出之外,進行半監督分類(semi-supervised classification)、資料操作(semi-supervised classification)、填空(filling in the blank)、影象修復(inpainting)、去噪(denoising)、one-shot生成 [Rezende et al, ICML 2016]、和其它更多的應用。下圖展示了生成式模型的進展(注意到縱軸應該是負對數概率)[圖片來自Shakir Mohamed的展示]:
                這裡寫圖片描述

    另據2016 ScaledML會議IIya Sutskever的演講報告“生成模型的近期進展”介紹,生成模型主要有以下功能:

  • Structured prediction,結構化預測(例如,輸出文字);
  • Much more robust prediction,更魯棒的預測
  • Anomaly detection,異常檢測
  • Model-based RL,基於模型的增強學習

    生成模型未來推測可以加以應用的領域:

  • Really good feature learning, 非常好的特徵學習
  • Exploration in RL, 在強化學習中的探索
  • Inverse RL, 逆向增強學習
  • Good dialog that actually works, 真正使用的對話
  • “Understanding the world”, “理解世界”
  • Transfer learning, 遷移學習