1. 程式人生 > >一文讀懂對抗生成網路的3種模型

一文讀懂對抗生成網路的3種模型

https://www.toutiao.com/i6635851641293636109/

 

2018-12-17 14:53:28

一文讀懂對抗生成網路的3種模型

 

 

基於對抗生成網路技術的線上工具edges2cats,

可以為簡筆畫塗色

前言

在GAN系列課程中分別講解了對抗生成網路的三種模型,從Goodfellow最初提出的原始的對抗生成網路,到改進型的DC GAN,再到解決了原始GAN存在問題,從而生成效果更好的WGAN。

生成模型不同於分類聚類等傳統的機器學習任務,要做的是從無序中生成有序,從輸入的隨機數出發,生成有意義的資料,例如圖片,文字,時間序列等。課堂中討論的生成模型主要應用在計算機圖形學中。

 

生成模型本身可以分成三類,一類是基於概率的,比如用傳統統計非線性ICA或變分自編碼器(VAE),第二類是自動化生成的,主要是使用RNN產生的圖片,或者寫出的詩,而GAN這一類是基於對抗性取樣(adversial sample)。

 

一、傳統GAN模型

 

GAN(Generative Adversarial Networks對抗生成網路)模型使用一組真實的圖片作為輸入,試圖生成能夠以假亂真的類似圖片。方法是先由生成器隨機的生成圖片,之後由判別器判定圖片是否為真實的。由於在所有的GAN模型,都可以分為生成器和判別器兩個部分,訓練的過程是先訓練生成器,等到訓練一定時間後再固定生成器訓練判別器,這使得GAN不同與傳統的機器學習的訓練過程,更加不穩定,而這也是GAN模型之後的改進版要優化的部分。

 

一文讀懂對抗生成網路的3種模型

 

 

在傳統的GAN模型中,影象的處理使用的是全連線層,訓練的方法是隨機梯度下降,優化的目標是真實資料的概念分佈與生成資料概念分佈的差距。根據理論推導,在無限的訓練時間,無窮的模型容量,以及可以直接修改生成器的概率分佈的假設時,模型一點可以訓練達到最優解。但實際中,上述的假設都不滿足,這也成了之後GAN模型改進的基礎。

 

 

一文讀懂對抗生成網路的3種模型

 

 

相比VAE這樣的生成模型,GAN生成的圖片不會是模糊的,會有清晰的邊緣,但可能會出現塌縮,即生成器生成的影象都是類似的,不具有多樣性。從理論的角度來看,GAN模型提出了一種全新的生成模型的正規化,不依賴馬爾可夫鏈這樣的類線性模型,可以捕捉到全域性的關聯,但無法顯式的匯出生成器的概率分佈。

 

二、改進版:DCGAN模型

 

接下來看看GAN的改進版DCGAN(Deep Convolutional Generative Adversarial Networks 深度卷積對抗生成網路),這篇文章講原來判別器和生成器中的全連線層的結構改為了更適合處理影象的卷積層和反捲積層,引入了批量正則化,將訓練的策略改為了Adam,在畫素間進行了插值,同時進行了GAN模型標配的黑科技向量運算,即通過對生成器所需的隨機分佈進行向量執行,控制生成的影象,例如下圖所示,通過戴眼鏡的男生減去不戴眼鏡的男生,再加上不戴眼鏡的女生,生成出戴眼鏡的女生。

 

 

一文讀懂對抗生成網路的3種模型

 

 

 

為了加速訓練,DCGAN還改變了優化目標,對於判別器和生成器,逐個對於卷積層分別進行優化,同時對判別器和生成器單獨使用mini batch的方式,使用一組影象進行訓練,從而隱式的對缺乏多樣性的生成結果予以懲罰。

 

DCGAN還引入了一些小技巧,例如在損失函式中加入之前項的均值,例如Label smooth,將判別器判定的較小概率的值,例如0.1等價於0,從而避免了判別器的過渡訓練,由於最初生成器的訓練要難於判別器,Label smooth可以看成是對判別器加上了early stopping(提早停止)的正則化操作。

 

DCGAN的另一個創新點是通過inception這樣成熟的分類器去判別生成圖片的質量,從而不必由人類去判定。如果模型生成的圖片是類似真實圖片的,那通過inception的分類器,總會被分為一類,而如果模型生成的圖片是四不像,那分類生成的標籤就會有較大的不確定性,即較大的相對資訊熵。同時為了評價網路生成圖片的多樣性,DCGAN的作者提出以一個可以計量的標準,即通過比較真實圖片與生成圖片的差異(計算KL散度的積分)來完成。

 

一文讀懂對抗生成網路的3種模型

 

 

DCGAN 生成器的一種架構

 

有了新生成的資料,就可以用來做半監督學習,即交新增的生成資料當成是帶標籤的,從而提升訓練集的數量。在做半監督學習時,需要修改分類器的損失函式,將所有生成圖片看成新的一類,這裡新加項類似與GAN模型待優化的函式。

 

DCGAN生成的圖片缺乏全域性的統一性,可能生成的貓有頭有耳朵,但是其位置是不對的,可能耳朵長到了腿上。

 

三、WGAN模型

 

一文讀懂對抗生成網路的3種模型

 

 

 

接著說WGAN(Wasserstein GAN)這個偏數理的模型,該文章先指出了原始GAN模型的缺陷,通過將訓練的目標函式的拆分,找出其中內部相互矛盾的方向,指出了為什麼GAN的訓練是不穩定的。通過匯入Wasserstein 距離,通過向判別器引入連續噪音,對判別器的概念分佈進行鈍化(smooth),同時使用模擬退火的思路,隨著訓練降低引入的隨機性。WGAN相比DCGAN,訓練的過程更為穩定,生成的影象更為清晰。

 

四、小結

 

總結一下,GAN是一類脫胎於監督學習的生成模型,可以用在特徵提取的評價,半監督學習,也可以用在強化學習的模擬環境構建中。GAN的發展很快,例如基於GAN的風格遷移讓機器具有了想象力,GAN中相互博弈的貓鼠遊戲類似於找到博弈論中的納什均衡,而這在理論上屬於一個還沒有解決的開放問題。

本文為郭瑞東老師關於《深入淺出GAN-原理與應用》的學習心得

原創: 郭瑞東 集智AI學園