ICLR 2020 | GAN是否真的判断出了数据的真假?
?PaperWeekly 原創 ·?作者|武廣
學校|合肥工業大學碩士生
研究方向|圖像生成
GAN 自提出以來就以生成對抗為目標進行模型優化,這種對抗真的區分了真實數據和生成數據了嗎?ICLR 2020 中的一篇?Real or Not Real, that is the Question(RealnessGAN)提出了對傳統 GAN 判別數據真假的質疑。
文章拋出了在傳統 GAN 中對于判別器的鑒別輸出為一常數 score 是不合理的觀點,并由此提出合理的解決方案,本文將對 RealnessGAN 進行解析,探究 GAN 是否真的區分了真假。
論文標題:Real or Not Real, that is the Question
論文來源:ICLR 2020
論文鏈接:https://arxiv.org/abs/2002.05512
代碼鏈接:https://github.com/kam1107/RealnessGAN
GAN [1] 自提出就得到了空前反響,GAN 在逼真的圖像生成方面以及處理高維數據時的靈活性上推動著包括圖像,音頻和視頻生成的發展,更甚者在諸如強化學習、遷移學習等也展示了一定的價值。
GAN 通過生成器和判別器的博弈下達到交替更新,其核心就是模型能否鑒別數據的真實與生成并與生成器形成對抗。
在標準的 GAN 中,輸入樣本的真實性由判別器使用單個標量估算,也就是判別輸出的是一個鑒別分數。然而諸如圖像之類的高維數據,需要從多個角度認知它們,并基于多個標準來推斷這幅圖像是否逼真。
如圖 1 所示,在拿到一張人臉肖像圖時,我們可能會關注其面部結構,皮膚色調,頭發紋理,甚至虹膜和牙齒等細節,它們每一個屬性都代表著真實性的不同方面。此時判別器用單個標量輸出鑒別結果,這是多個量度的抽象和匯總,它們共同反映了圖像的整體真實性。?
但是這種簡潔的測量可能傳達的信息不足,無法引導生成器向著正確的圖像進行生成,這就可能導致在 GAN 中眾所周知的模式崩潰和梯度消失的發生。
▲ 圖1. 人臉肖像圖中的人眼感知(a)真實人眼感知(b)由于面部結構/組件不協調,背景不自然,樣式組合異常和紋理變形可能降低的真實感
既然判別器的單標量輸出是不合理的,那么怎樣表示判別器的輸出呢?Realness-GAN 提出了通過將逼真度視為隨機變量,也就是對于判別器的輸出表示為一分布而不是單個標量。
整體的架構和訓練上 RealnessGAN 沿用標準 GAN 的方式,只是將判別器的輸出表示為一個分布,并且在優化階段是以分布進行度量。
總結一下 RealnessGAN 的優勢:
將標量真實性得分擴展為分布的真實性得分,判別器?為生成器?提供了更強的指導。
RealnessGAN 的思路可以推廣到一般的 GAN 中,具有較強的靈活性。
基于一個簡單的 DCGAN 架構,RealnessGAN 可以成功地從頭開始學習生成?分辨率的逼真的圖像。
RealnessGAN原理分析
在 RealnessGAN 原理分析前,先回顧一下標準 GAN 的優化過程:
此時用 0 和 1 分別表示兩個虛擬的標量,也就是作為判別器的輸出對照,判別器鑒定真實為 1,虛假為 0。通過固定的?,最優?得到?,再將?固定為最優值,最優?滿足?。
采用單個標量作為真實性的度量是受限的,現實中的很多本質上是一個涵蓋多個因素的隨機變量,此時 RealnessGAN 便發揮了作用。
用一個分布?替換判別器?的標量輸出,那么對于一個輸入?,此時?。其中?是輸出?的結果集,可以將每個結果?視為通過某些標準估算的真實性度量。
既然判別器的輸出被規定為是個分布,那么如何去優化這個判別器輸出呢?
類似于標準 GAN 的 0 和 1 真假標量,RealnessGAN 需要兩個分布來代表判別器輸出的真實和虛假圖像的鑒定分布,這里的分布可不同于數據的分布,這里的分布指的是判別器的對照分布。
定義兩個分布?表示理論上的判別輸出為真實的分布,表示理論上的判別輸出為假的分布,它們也在?上定義,優化分布之間的距離可以想到的是通過 KL 散度進行,此時生成器與判別器的博弈過程表示為:
先從理論角度分析下這個目標函數,對于判別器?,它的目的是為了將真的數據鑒定為真的,假的數據鑒定為假的,所以對于真實數據?,希望鑒定結果?與理論真實分布?盡可能接近,即?為理想解。
同理對于生成數據?則希望判別輸出與理論虛假分布?盡可能接近,即?為理想解。
而對于生成器?,公式的第一項由于沒有?的參與不允討論,而對于第二項生成器則希望能夠騙過判別器,即?越大越好,也就是希望?與理論虛假分布?差異越大越好。
那生成數據的判別分布于理論虛假分布差異越大,怎么能保證與理論真實分布越接近呢?文章也進行了討論,主要通過對生成器的損失進行調整實現,這個我們后面再詳細說明。
知道了目標函數,那怎么保證模型博弈到最后得到的最優解就是?呢?
這需要進一步對目標函數進行分析了,接下來會有一定的公式推導,不喜歡這部分的可以直接跳到下一節,最后的結論就是模型的收斂最優解就是生成數據分布于真實數據分布相同?。
與標準 GAN 的分析相同,固定?,目標?表示為:
根據熵的定義,記?,同理?,則上式改寫為:
公式的第一項與?無關,將之記為?,上式可進一步表示為:
記?,,可得到:
最小化?就是最小化?,則 D 的最優解就是?,接下來就是對?的最優解進行討論,當?時,假設?,此時?,則對應的?:
從?中減去 得:
由于?相對于?為常數,最大化?等價于最大化?,當且僅當 KL 散度達到其最小值時,才能獲得最佳?,對于任何有效的?和?:
即?,因此,只要存在一個有效的?,使得?,對于任何有效?,都有?。
RealnessGAN的實施和訓練
當滿足?,為了優化模型,此時的?需要足夠的強大才能匹配理論真實分布。
隨著數量的增加,對?施加的約束因此變得更加嚴格,則?需要付出更多去學習才能匹配判別下理論真實分布,所以數量的增加決定著模型的一定性能,說了這么多,這個?和?以及?到底怎么表示呢?
我們知道?和?是定義下的判別理論分布,只要這兩個分布之間差異足夠的大即可,那么到底取什么呢?這個答案在文章公布的源碼中作者規定了理論判別真實分布錨點?和理論判別虛假分布錨點?。
對于理論判別真實分布?,作者用?的均勻分布來表示,用均值為 0,方差為 0.1 的高斯分布來表示理論判別虛假分布?,通過 np.histogram 通過對這采樣的 1000 個點進行 num_outcomes 的離散化,這個 num_outcomes 就是?的數量。
高斯分布與均勻分布分布上的差異決定著錨點與的不同,這也滿足了推導的條件,num_outcomes則在一定程度上影響著生成的結果,這點我們在后面的實驗中再進行分析。
回到之前提到的優化?的問題上來,上述的目標函數對于?而言是通過欺騙?是增大假樣本的?和錨點分布?之間的 KL 散度,而不是減小假樣本和錨點分布?之間的 KL 散度,作者進行了損失上的一定改進,對于一般?的優化:
文章又提出了:
至于說哪個損失更好用,這個在實驗中進行了對比。值得一說的是 RealnessGAN 提出的思想可以用在大部分的 GAN 中,只需要對損失函數進行一定的調整即可,這也展示了 RealnessGAN 的靈活性。
在訓練階段,采用 Adam 優化器,BN 用在生成器,SN 用在判別器。
實驗
文章首先進行了簡單的實驗驗證模型的有效性,通過toy dataset進行驗證,與基準模型進行了對比,選取了StdGAN?[2]、WGAN-GP?[3]、LSGAN?[4]?和HingeGAN?[5]?作為基準模型,得到的結果如圖 2 所示。
▲ 圖2. toy dataset下RealnessGAN與基準模型的對比
可以看到 RealnessGAN 展示了較為優越的結果生成,在驗證?的數量上,文章也進行了實驗,得到的結果如圖 3 所示。
▲ 圖3. 輸出結果數量對生成的影響
在固定?的更新數量下,的數量越多并沒有取得越好的結果,但是隨著?給予足夠的更新,的數量增大得到的結果就越有優勢。在定性上模型給出的結果如圖4.
▲ 圖4. RealnessGAN在Cifar10、CelebA和FFHQ下的生成結果
定量上文章在 Cifar10 數據集下進行了對比實驗:
▲ 圖5. 在Cifar10數據集下各模型在FID和SD指標下結果
為了驗證?與?的差異性對結果的影響,文章做了對比實驗,結果如圖6.
▲ 圖6. 錨點分布的差異性對生成結果的影響
對于?的損失優化上,作者進行了比對。
▲ 圖7. G的不同損失下的生成結果
總結
RealnessGAN 從分布的角度擴展了生成對抗網絡的逼真性,以判別輸出分布替代了標準 GAN 中的單標量判別輸出,此時判別器會從多個角度估算真實性,從而為生成器提供更多信息指導。
同時這種判別輸出分布的方式可以推廣到更多的一般性 GAN 的訓練上,從理論和實驗分析上可以得到該方法的有效性,對于 GAN 的發展起到了推助作用。
參考文獻
[1] Ledig C, Theis L, Huszár F, et al. Photo-realistic single image super-resolution using a generative adversarial network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4681-4690.
[2] Zhang Z, Yu J. STDGAN: ResBlock Based Generative Adversarial Nets Using Spectral Normalization and Two Different Discriminators[C]//Proceedings of the 27th ACM International Conference on Multimedia. 2019: 674-682.
[3] Gulrajani I, Ahmed F, Arjovsky M, et al. Improved training of wasserstein gans[C]//Advances in neural information processing systems. 2017: 5767-5777.
[4] Mao X, Li Q, Xie H, et al. Least squares generative adversarial networks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2794-2802.
[5] Junbo Zhao, Michael Mathieu, and Yann LeCun. Energy-based generative adversarial network. InICLR, 2017.
點擊以下標題查看更多往期內容:?
Designing GANs:又一個GAN生產車間
ShapeMatchingGAN:打造炫酷動態的藝術字
ICCV 2019 | 通過條件坐標的部分圖像生成
從動力學角度看優化算法:GAN的第三個階段
深度學習預訓練模型可解釋性概覽
ICLR 2020:從去噪自編碼器到生成模型
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的ICLR 2020 | GAN是否真的判断出了数据的真假?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美的家用洗地机 GX6 预售:180 度
- 下一篇: 阿拉善盟驾车到神农架林区宋洛风光经过哪里