對抗網絡 GAN家族簡介(EBGAN,Info GAN,Bi GAN,VAE-GAN, Seq2Seq GAN)
1. Energy-based GAN
EBGAN 其實就是 鑑別器Discriminator,提前用AutoEncoder訓練過的GAN
EBGAN的優勢:
- GAN的訓練比較麻煩,而AutoEncoder相對簡單,EBGAN可以減少訓練時間
- EBGAN的 discriminator 只會給有限的空間的值大的估計
2. Info GAN
我們在生成圖片或者內容的時候,肯定有這樣的想法,生成的內容可以輕微調整嗎。比如,數字的顏色,數字的大小,數字的形狀,或者人的頭髮的顏色,皮膚的顏色。
簡而言之,我們想“駕馭”GAN。
但是事與願違,我們在參數集z的輕微調整,可能會有意想不到的影響。
Info GAN 就是幫助我們找到GAN的生成器的生成規律
Info GAN的架構剛開始可能讓人感到一頭霧水,我們慢慢拆開看:
- 我們把Z 拆成 C和Z’
- C的內容我們用一個AutoEncoder(圖片黃色部分)進行Decoder能夠反向生成 X
- X的內容和常規的GAN一樣,有個鑑別器Discriminator 進行鑑別
區分出C的意義就是C能夠代表圖片的特徵。
論文 https://arxiv.org/abs/1606.03657 中,我們得到,修改C中的內容,可以得到不同的Minist效果圖:
3. Bi GAN
一般的,我們將Encoder和Decoder 是相連的,即Encoder的信息輸入到Decoder中,但是BiGAN就將他們隔離開來,分別輸入鑑別器Discriminator 來判斷輸入的image 和z 的pair 是來自encoder還是decoder。
具體的算法如下:
4. 對抗領域訓練 Domain adversarial training
我們直覺上認爲,GAN在訓練完黑白Minist後,生成器的特徵feature和彩色Minist的生成器的特徵應該分佈接近,但是實際情況並非如此。
所以我們需要加入領域分類模塊
5. VAE-GAN
我們之前介紹過VAE,通過VAE可以畫圖,但是加上GAN後,“雙劍合璧”,威力就會更大。
6. Seq2Seq-GAN
在傳統的語音識別中:
我們可以加入語言encoder和說話者encoder
使用GAN來區分說話者
本專欄圖片、公式很多來自臺灣大學李宏毅老師的深度學習課程,在這裏,感謝這些經典課程,向李老師致敬!