閱讀小結:Improved Techniques for training GANS

github地址:https://github.com/openai/improved-gan/


What:

提出了對於GANs新的結構和訓練過程。主要focus在兩個應用:半監督學習 和  更好的圖像產生。

對於G,不要求一個和test data和像的模型,也不要求不使用label。

實驗中,D在半監督分類任務上達到了state-of-art的結果。

G在MNIST樣本人已經無法分辨,CIFAR10的樣本人也有21.3%的概率認錯。


How:

訓練GANs 其實是一個找納什均衡的問題。但這個均衡很難找到,cost函數不是凸的。

所以引入了一些策略來鼓勵收斂。

1. Feature matching

爲G設定一個新的目標函數。

替代原先的最大化D的目標,新的目標是用G去產生數據來匹配真實數據。 D還是和原來一樣。

f(x)  代表D中的一箇中間層,新的目標函數爲  f(G(x))  和  f(z)  的二範數最小。


2.minibatch discrimination

孤立的看一個個sample,容易使G收斂到一個點(這就是我之前跑實驗常遇到的問題啊!!!)

之前DCGAN裏面用batch normal其實也是爲了讓D不孤立的去看sample。

所以作者提出了使用minibatch discrimination,意思是我們不孤立的看sample,加入sample之間的信息,來寫D。(G的objective不變,還是最大化D)

公式的主要意思是,除了D中原來的f(x)外,加入一個信息,就是minibatch 中 f(x)之間的距離  (在bp的時候會有作用)

(作者還提到在訓練分類器時,feature matching會表現得更好)


3.Historical averaging

加入了一個正則項。


4.One-side label smoothing

把gt的label  從1,0變成0.9,0.1

generate還是 1和 0


5.VBN

batch normalize 依賴minibatch裏面的其他數據。這會有影響。所以提出了一個 virtual batch normalise

每次sample的時候另外再sample一個batch 根據這個batch做norm  (這隻使用在G中)






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