《深入淺出GAN-原理與應用》學習筆記 | 王曉宇

《深入淺出GAN-原理與應用》學習筆記 | 王曉宇

來自專欄人工智慧學習筆記5 人贊了文章

導語:

本文是集智粉絲網小魚在學習《深入淺出GAN-原理與應用》後(點擊閱讀原文即可觀看),所撰寫的學習筆記。內容包括GAN的框架原理,模型原理及推導,以及GAN的改進版DCGAN和WGAN的簡單介紹。如果你要學習GAN系列課程,那麼先閱讀本篇筆記,能讓你對GAN家族有一個大概的了解,使你的學習之路更加順暢。

一、什麼是GAN?框架簡述

GAN全稱是Generative Adversarial Nets,中文叫做「生成對抗網路」。

在GAN中有2個網路,一個網路用於生成數據,叫做「生成器」。另一個網路用於判別生成數據是否接近於真實,叫做「判別器」。 下圖展示了最簡單的GAN的結構以及工作原理。

模型中最左側的隨機向量是為了讓生成器產生不同的輸出,而增加的擾動項。這些擾動決定了生成器可以生成不同的模擬作品。之後我們會看到這些向量產生的輸出會有一些插值和加減法等方面的特性。

這個圖示是最簡單的GAN框架,在實際應用中還可以把「生成器的輸入-輸出」作為判別器的輸入,這樣就可以做到生成符合某些條件的任務內容。例如根據文字內容生成符合描述的圖片。

價值函數 Value Function

GAN的訓練是價值函數最大化和最小化的交替遊戲:

其中Pdata是真實數據,Pz是生成數據。

當我們訓練判別器D時,我們希望真實數據的判別值越大越好。同時我們希望對生成數據的判別值越小越好,所以也是越大越好。訓練中使用梯度上升,使價值函數的值越來越高。

同理,當我們要訓練生成器G時,就希望價值函數的值越小越好,即使用梯度下降來訓練生成器的參數。

理論推導 Theoretical reults

理論推到基於3個假設:

  • 訓練時間是無限的

  • (生成器和判別器)模型的能力是無限的

  • 直接更新生成器的分布

基於以上假設GAN可以得出以下結論:

即不論初始值如何,GAN最終都必然會達到均衡。

GAN相對其他生成模型的優勢

GAN可以生成非常清晰的圖片,而傳統的生成模型生成的圖片通常比較模糊。

二、DCGAN (使用深度卷積的GAN)

顧名思義,DCGAN就是採用深度卷積的生成對抗網路。英文全稱是deep convolutional generative adversarial networks。

DCGAN是第一個把Batch normalization引入到GAN的網路架構,並且使用了Adam等方法,增強了網路的穩定性。

上圖是DCGAN生成器的網路結構。

上圖是CDGAN論文中提到的「插值」。

最左側一列是由最上面一副隨機擾動圖片逐漸生成的圖片(最下面是最終結果)。最右側是另一個隨機擾動。中間的列是兩邊的隨機擾動向量的中間值(插值),可以看到在生成器的結果隨著隨機向量的漸變,生成結果也像是在連續的產生變化。說明生成器生成內容是光滑的。

上圖是CDGAN論文中的向量加減法,生成器可以把輸入向量作為生成目標的某些特徵值。

例如:戴眼鏡的男人 – 男人 + 女人 = 戴眼鏡的女人

圖片最下面一行是圖片本身直接疊加產生的效果,可以看到簡單疊加並不能取得很好的效果。說明生成器對特徵運算起到了決定性的作用。

三、GAN的一些訓練技巧

該部分內容引自論文《Improved Techniques for Training GANs》。

原始GAN的訓練是非常不穩定的,缺乏一個很好的評價標準。我們只能用肉眼觀察當前生成的圖像是否像真實數據。針對這些問題該論文提出了一些訓練技巧。這篇論文還把GAN引入了半監督學習中。

技巧1:特徵匹配

從判別器的中間層中取出一些節點作為特徵,對特徵進行L2正則化監督。

技巧2:最小批次判別

在最小批次的訓練內容中盡量引入更多的訓練集的特徵。

以上是論文中提到的其他優化技巧。不過這些技巧沒有其他論文跟進。

使用GAN可以生成很多和真實數據極其相似的數據,把這些數據也作為訓練數據,就可以增加已經標記的數據集大小。所以GAN可以看作是一個半監督學習的支持方法,可以一定程度上彌補現實中訓練集不足的問題。

四、理論突破:WGANWGAN的優點

  • 進一步提升了訓練的穩定性。不需要精心設置G和D一輪一輪的更新。不需要精心設置複雜的網路結構。(原始GAN的價值函數的梯度很可能是0,就沒法得到更新。WGAN提出了新的價值函數解決這個問題。)

  • 幾乎解決了mode collapse問題。mode collapse是說生成器生成的內容過於雷同,缺少變化。

  • 提供了具有意義的價值函數,可以判斷判別器和生成器是否已經收斂。(原始GAN中如果D的效果不好,我們不知道是G生成的好,還是D判別的不好)

  • 提供了理論公式(不過很難理解)。

過度解決方案Transitional solution

  • 在判別器輸入中加入雜訊,使優化分布成為可能。

  • 隨著真實分布和生成分布的距離越來越小,對雜訊進行退火,使雜訊越來越小直至消除雜訊。

Wasserstein Distance(論文提出了新的距離定義)

把真實數據和生成數據的分布的最小距離的期望叫做Wasserstein距離。

如果右上圖中AB是真實數據,CD是生成數據,則他們的W距離=θ 。

WGAN

WGAN採用「W距離」作為訓練的價值函數。

當移除BN後DCGAN無法正常工作,而WGAN仍然可以生成很好的圖片。所以WGAN可以使用更簡單的網路結構。

上圖展示了WGAN變了DCGAN中的mode collapse問題。避免經常生成雷同的圖片。

此學習筆記是在看了集智AI學園的《深入淺出GAN—原理與應用》系列視頻後寫下的,掃碼即可進入

campus.swarma.org/gpac=

深入淺出GAN-原理與應用

小編寄語:

以上為「網小魚」同學提供的筆記,寫的非常認真,可見是花了很多心思的。如果有同學對人工智慧感興趣,想學習人工智慧、想寫學習筆記,都可以聯繫我們,歡迎同樣熱愛學習的你~

關注集智AI學園公眾號

獲取更多更有趣的AI教程吧!

搜索微信公眾號:swarmAI

商務合作|zhangqian@swarma.org

投稿轉載|wangjiannan@swarma.org


推薦閱讀:

TAG:生成對抗網路GAN | 深度學習DeepLearning | 人工智慧 |