InfoGAN 論文閱讀筆記 基本知識總結

最近的一些工作是在使用InfoGAN,查看了一些資料,發現相關的資料並不是很多,所以,寫了這個博客,一方面希望對最近兩個周看到的文獻進行一個歸納總結,另一方面希望遇到在做這方面的工作的大佬們,請教學習,不足之處請指正,謝謝大家~。

一、什麼是InfoGAN

InfoGAN是一種常見的GAN 的變種,是由InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets這篇論文中提出,論文的地址爲:https://arxiv.org/pdf/1606.03657.pdf,在衆多GANs中,最突出的特點就是在於,它增加了互信息的判斷的部分,在進行進行生成器生成的假的圖片等結果是否是真實的時候,需要進行計算互信息的值的大小,我們在進行計算的時候,期望互信息的值越大越好,這樣就說明在生成器生成的fake data 越來越真實,判別器在進行判別的時候,會更大概率的將其判別爲real data ,而對於最終達到的效果,也是非常棒的,我們在輸出的部分,是可以按照類別進行輸出的,例如對於手寫體數字的數據集來說,我們可以只輸出我們想要的那一種類別,而在進行控制這個類別的時候,是由參數c決定的,c可以使長短、粗細、以及哪個數字等。

論文的abstract部分也做出了相應的說明,具體如下:


二、InfoGAN的網絡結構和基本的參數

(一)網絡結構,在githu上找到了一個大牛畫的各種GAN的網絡結構圖,如下,地址是https://github.com/hwalsuklee/tensorflow-generative-model-collections,很詳細,供大家進行參考。


在論文中,我們會發現,和傳統的GAN是一樣的,InfoGAN也是由生成器和判別器兩部分組成,但是,在對生成器進行輸入的部分做了一定的改變,由原來的只輸入噪聲Z,改變爲輸入噪聲Z和label c。在判別器輸出的部分,也做出了一定的調整,會輸出類別C',與此同時,會有一個簡單的Q網絡輸出(如上圖所示),對於Q網絡來說,其實,Q網絡和D網絡共享同一個網絡,只是在最後一層作出了改變,其他部分都是一樣的。

論文中是具體介紹如下:


三、什麼是互信息,以及互信息的左右是什麼

首先來說一下互信息的定義,在這裏參考了百度百科的介紹,定義如下:

互信息(Mutual Information)是信息論裏一種有用的信息度量,它可以看成是一個隨機變量中包含的關於另一個隨機變量的信息量,或者說是一個隨機變量由於已知另一個隨機變量而減少的不肯定性。

在這裏附上百度百科的地址,https://baike.baidu.com/item/%E4%BA%92%E4%BF%A1%E6%81%AF/7423853?fr=aladdin,這部分的知識講述的蠻詳細的。

具體的互信息的其他知識以及在InfoGAN中的應用,下次有時間再更新。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章