當前位置:
首頁 > 知識 > GAN研究進展 PaperWeekly

GAN研究進展 PaperWeekly

Model


1、Unsupervised learning


首先我們從generative model說起。generative model的目的是找到一個函數可以最大的近似數據的真實分布。如果我們用 f(X; ) 來表示這樣一個函數,那麼找到一個使生成的數據最像真實數據的 就是一個maximum likelihood estimation的過程。問題在於,當數據的分布比較複雜時,我們需要的 f 也會變複雜。現在我們有深度網路結構可以表達這樣一個複雜的函數(deep generative model),但是訓練過程成為了關鍵。基於sampling的訓練過程顯然不是很高效的。因此,如何設計模型以便利用backpropagation來訓練網路成為了一個重要的目標。當前兩個比較突出的模型實現的就是這個目的,一個是variational autoencoder(VAE),另一個就是這篇文章的主題generative adversarial nets。

這篇文章會從基本的GAN模型講起,重點討論模型公式背後的原理。之後會討論幾篇GAN的擴展工作,希望能夠擴展一下大家的思路,也可以加深對GAN模型的理解。下面的關係圖大致描述了這些模型之間的繼承關係。我們會按照圖中的關係一個一個展開。

GAN研究進展 PaperWeekly



2、GAN

首先是最經典的GAN模型。由Ian Goodfellow和Bengio等在2014年提出。為了簡明扼要,我們直接看圖說話。

GAN研究進展 PaperWeekly



圖中上半部分是GAN模型的基本架構。我們先從一個簡單的分布中採樣一個雜訊信號 z(實際中可以採用[0, 1]的均勻分布或者是標準正態分布),然後經過一個生成函數後映射為我們想要的數據分布 Xg (z 和 X 都是向量)。生成的數據和真實數據都會輸入一個識別網路 D。識別網路通過判別輸出一個標量,表示數據來自真實數據的概率。在實現上,G 和 D 都是可微分函數,都可以用多層神經網路實現。因此上面的整個模型的參數就可以利用backpropagation來訓練得到。


圖中的下半部分是模型訓練中的目標函數。仔細看可以發現這個公式很像cross entropy,注意D是 P(Xdata) 的近似。對於 D 而言要盡量使公式最大化(識別能力強),而對於 G 又想使之最小(生成的數據接近實際數據)。整個訓練是一個迭代過程,但是在迭代中,對 D 的優化又是內循環。所以每次迭代,D 先訓練 k次,G 訓練一次。

GAN模型最大的優勢就是訓練簡單,但是也有缺點比如訓練的穩定性。有趣的是,在這篇文章future work部分,作者提出了5個可能擴展的方向,而現在回過頭來看,後續的很多工作真的就是在照著這幾個思路填坑。比如第一個conditional generative model就是後面要講的conditional GAN的思路,而最後一個determing better distribution to sample z from during training則是後面InfoGAN的思路。


下面是來自twitter[9] 的一幅圖,很好的總結了各種衍生模型的結構。

GAN研究進展 PaperWeekly



2.1 DCGAN

上面Ian J. Goodfellow等人的文章提出了GAN的模型和訓練框架,但是沒有描述具體的實現,而DCGAN[2] 這篇文章講的就是用deep convolutional network實現一個生成圖片的GAN模型。這篇文章沒有在基本模型上有所擴展,但是他描述了很多實現上細節,尤其是讓GAN模型stable的方法。所以如果對於GAN的實現有興趣,這篇文章也是必讀。此外,最新NIPS2016也有最新的關於訓練GAN模型的總結 [How to Train a GAN? Tips and tricks to make GANs work] (https://github.com/soumith/ganhacks「GAN tricks」)。


3、InfoGAN


在GAN模型中,生成模型的輸入是一個連續的雜訊信號,由於沒有任何約束,即便我們得到一個有效的生成模型,z也不能被很好的解釋。為了使輸入包含可以解釋,更有信息的意義,InfoGAN[7]的模型在z之外,又增加了一個輸入c,稱之為隱含輸入(latent code),然後通過約束c與生成數據之間的關係,使得c裡面可以包含某些語義特徵(semantic feature),比如對MNIST數據,c可以是digit(0-9),傾斜度,筆畫厚度等。具體做法是:首先我們確定需要表達幾個特徵以及這些特徵的數據類型,比如是類別(categorical)還是連續數值,對每個特徵我們用一個維度表示ci 。


接下來,利用互信息量來約束c。原理在於,如果 c 和生成的圖像之間存在某種特定的對應(如果c是圖像的某些特徵,則有這樣的函數存在),那麼c和G(z,c)之間就應該有互信息量。如果是無約束的情況,比如z單獨的每一個維度都跟和G(z)沒有特定的關係,那麼它們之間的互信息量應該接近0。所以加上這個約束之後,要優化的目標函數就變成了

min max V(D,G) = V(D,G) - I(c;G(z,c))


接下來就是如何處理 I(c; G)。由於 I(c;G(z,c)) 的計算需要 p(c|x),而我們並不知道真實的分布。這時候,我們需要用一個 Q(c|x) 來近似,很顯然,Q可以用神經網路來實現。此外, 可以利用reparametrization(見附錄)的技巧來簡化網路。


在實際中,由於Q和D都是輸入 x,而且識別網路D除了可以輸出概率,也可以做特徵提取,因此Q可以和D共享參數。在正常的D之後,額外加一層full connected layer,利用softmax等可以輸出c。這也是圖3(twitter圖)中的結構。


4、 Conditional GAN


Conditional GAN的基本模型見圖3(twitter圖)。所謂conditional的意思就是,生成圖片的模型變成了 P(X|z, c),而c是我們額外提供的信息。這裡要注意conditional GAN和Info GAN的結構區別


(1)Info中c信息是需要網路去學習提取的特徵,而這裡是需要我們輸入網路的信息。


(2)Info中c只輸入生成網路,而這裡需要同時輸入生成和識別網路,以便讓網路學習到它們之間的關聯。


在Conditional GAN中,隨著c的變換可以衍生出很多應用,比如輸入可以是label,可以是分類。甚至是另外一個圖片,比如可以做image to image的風格轉換,也可以做解析度提升super-resolution。這裡我們以Text-to-Image[5] 為例,講一下conditional GAN的一種建模方法。


同樣,先上圖:

GAN研究進展 PaperWeekly



模型的任務是給定一句文字描述,然後可以生成符合描述的圖像。可以看到,網路的輸入除了採樣雜訊z以外還有文字信息。整個任務分為兩大部分:第一部分是要對文字進行編碼(text encoding),這部分並不是Conditonal GAN模型的一部分,可以使用RNN或者char-CNN等。文中用的是deep convolutional and recurrent text encoder[4] ,感興趣可以去看這篇文章[4]。


在模型中,文字信息同時輸入 G 和 D 是關鍵所在,這樣網路才能夠將文字和圖片關聯起來。其次,在訓練中,原GAN中 D 只需要判斷兩種數據:real/fake的圖片。而這裡,D 需要判斷(輸入)三種數據,以及。


5、 StackGAN


StackGAN[8] 模型本質就是是Conditional GAN,只不過它使用了兩層conditional GAN模型,第一層模型 P(X1|z, c) 利用輸入的文字信息c生成一個較低解析度的圖片。之後第二層模型 P(X|c,,X1) 基於第一層生成的圖片以及文字信息生成更加優化的圖片。文中給出的實驗效果非常的驚人,可以生成256x256的非常真實的圖片。這裡不再重複細節。下圖為簡化的StackGAN模型。

GAN研究進展 PaperWeekly



Reference


1、Goodfellow, Ian, et al. 「Generative adversarial nets.」 Advances in Neural Information Processing Systems. 2014.


2、Radford, Alec, Luke Metz, and Soumith Chintala. 「Unsupervised representation learning with deep convolutional generative adversarial networks.」 arXiv preprint arXiv:1511.06434 (2015).


3、Reed, Scott, et al. 「Generative adversarial text to image synthesis.」 arXiv preprint arXiv:1605.05396 (2016).


4、Reed, Scott, et al. 「Learning Deep Representations of Fine-Grained Visual Descriptions.」 arXiv preprint arXiv:1605.05395 (2016).


5、Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network


6、Image-to-Image Translation with Conditional Adversarial Networks


7、Chen, Xi, et al. 「Infogan: Interpretable representation learning by information maximizing generative adversarial nets.」 Advances in Neural Information Processing Systems. 2016.


8、Zhang, Han, et al. 「StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks.」 arXiv preprint arXiv:1612.03242 (2016).


Appendix


看了幾篇關於GAN的文章,發現有幾個建模的小trick


1、在生成模型中,之所以可以從一個簡單的分布採樣,然後通過一個網路(參數需要學習)去近似數據的分布 背後的原理是


Any distribution in d dim can be generated by taking a set of d normal distribution variables. mapping through a sufficiently complicated function. So provided powerful function approximators, we can simply learn a function mapping independent norm distribution z to whatever X.


2、在模型中,如果目標函數中某個條件概率無法直接得到,那麼可以學習一個網路Q去近似。利用KL divergence D[P||Q] = H(P,Q) - H(P) 以及


D >= 0 可以推出一個更易優化的上/下界。


3、reparametrization trick 舉個例子,比如模型中用一個網路 Q(z|x) 來近似真實的 P(z|x),我們常用正態分布來建模Q,即


N(μ, )(這裡 μ 和 都是帶參數的網路,通過學習得到)。當採樣的 x 通過 Q 後就可以得到z。但是由於這一步是隨機過程,backpropagation就會中斷。這個時候我們就可以利用 N(μ, ) = N(0, I) ? + μ 將隨機過程轉移到輸入端。先從標準正態分布採樣 z0,此時網路 Q 並不直接輸出z,而是輸出兩個參數μ 和 ,之後在通過 z=z0 ? + μ 得到z。由於中間節點變成了常規運算,因此backpropagation可以正常傳回輸入端。


作者介紹


趙越,本科SJTU,現在NCSU phd,研究領域編譯器,程序語言。此外對深度學習感興趣。

您的贊是小編持續努力的最大動力,動動手指贊一下吧!


本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊下面的「搶先收到最新資訊」瀏覽吧!



請您繼續閱讀更多來自 科研圈 的精彩文章:

中國科學院理化技術研究所液態金屬研究方向博士後招聘
深圳大學生命與海洋學院於為常教授課題組研究員、副研究員招聘
福建工程學院2017年「閩江學者」特聘教授、講座教授招聘
季茂業:亦師亦友的詹姆斯?沃森——《雙螺旋》新版中文序

TAG:科研圈 |

您可能感興趣

CRISPR新進展:MilliporeSigma獲關鍵專利
Nano Letters:Ramesh 小組應變調控摻雜BiFeO3薄膜的相變研究進展
Science Translational Medicine:中山大學取得溶瘤病毒M1研究新進展
英特爾10nm製程進展:Cannon Lake在路上 Ice Lake完成設計
華中農業大學Nature Genetics 發表基因組研究新進展
《Paläontologische Zeitschrift》期刊:副劍齒虎化石研究取得新進展
西工大副教授在Advanced Materials發表鋰硫電池研究新進展
Breaking News:倫敦權杖消失事件最新進展!
資訊|我國學者研究成果入選Nature Medicine年度突破性進展
FireEye公布調查進展:Mandiant內網未遭遇入侵
NEJM和Nature同時報道ctDNA肺癌診斷新進展
自Ian Goodfellow之後,GANs還有哪些開拓性進展?
聊一聊Sukbok Chang的C-H鍵胺化新進展
Baran組Science:脫羧-硼化反應新進展
Ionotronic 納米設備研究新進展
王雙印課題組在《Advanced Materials》上發表電催化劑缺陷化學相關研究進展
Mozilla公布WebVR新進展,可在VR里跨站點瀏覽
Mozilla公布WebVR新進展,可跨站點瀏覽
Petya最新進展之利用M.E.Doc後門