CVPR2019|Rob-GAN:結合對抗攻擊者的GAN

一.研究動機

自2014年Goodfellow等人提出生成式對抗網絡(Generative Adversarial Networks,GAN)以來,關於GAN穩定訓練的研究層出不窮,其中較爲突出的是2017年提出的Wasserstein GAN[1]以及2018年提出的SN-GAN[2]。其共同動機都是通過使鑑別器滿足利普希茨(Lipschitz)限制條件(也就是讓鑑別器更加魯棒),從而提高模型的收斂速度以及穩定性。對抗訓練(Adversarial training)作爲提高模型魯棒性的經典算法,被作者有效地結合至GAN的訓練過程中並將結合後的模型命名爲Rob-GAN。實驗表明Rob-GAN不僅能促使GAN的訓練更加穩定、生成結果更加逼真而且還縮減了對抗訓練在訓練集和測試集上的性能差距。另外,作者還從理論上分析了這一結果的本質原因。

二.模型架構

首先我們來思考第一個問題:爲什麼GAN 能夠改善對抗訓練在測試集和訓練集上的性能差距?在回答這個問題之前我們先來簡單看一下對抗訓練的過程。
對抗訓練分爲攻擊者和防禦者,攻擊者是指通過對輸入樣本添加一些小的擾動來“欺騙”分類器,讓其輸出錯誤的分類結果。論文中作者採用了PGD[3]攻擊算法來產生對抗樣本,損失函數如(1)所示。其中x+δ表示對輸入樣本x添加一些小的擾動,f(x+δ,w)是收到擾動後分類器的輸出結果。
1
對於攻擊者而言希望受到擾動後的分類器能輸出儘可能錯的分類結果,也就是和真正的分類結果的損失要儘可能大。當然,有攻擊者就肯定會有防禦者,與攻擊相比,防禦是一項更艱鉅的任務,特別是對於結合複雜模型的高維數據。防禦者的損失函數如(2)所示。
(2)
目前對抗訓練在小訓練集(如MNIST,CIFAR10)上可以訓練出魯棒性強的分類器,然而一旦擴展在大訓練集(如IMAGENET)上,分類器的效果將非常差,並且對抗訓練的性能在訓練集和測試集上的差距也很突出(如圖1所示),究其根本其實就是模型在測試集和訓練集的魯棒性差異較大。
圖1.在不同水平攻擊下的準確率

從理論上分析可知,如果在真實數據分佈下模型的局部LLV(local Lipschitz value)越小,則模型的魯棒性越強。這一理論可以被描述爲複合損失最小化問題(公式3)。
(3)
但是在實際中我們並不能獲取真實數據分佈Pdata,因此一般採用先驗分佈來替換公式3。實際上,如果我們的數據量足夠大並且假設集也設計的很合理,公式4最終會收斂於公式3。
(4)
那麼訓練集中的約束的LLV會自動泛化到測試集上嗎?很遺憾,答案是否定的。也就是說盡管我們能在訓練集上有效的降低LLV,但是對於測試集來說,這樣是無效的(如圖2)。
圖2.測試集和訓練集的局部Lipschitz值 (LLV)比較

但是如果我們換個思路直接從真實數據Pdata中採樣,那這個問題不就解決了嗎?看到這裏你肯定很好奇,之前不是說Pdata無法獲取嗎?沒錯!雖然我們沒法直接獲取其分佈,但是GAN可以學啊!也就是說我們先讓GAN去學習Pdata,然後對所學分佈再進行對抗訓練。加入GAN後的損失函數如5所示。至此,我們解決了第一個問題。

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
接下來第二個問題是爲什麼加入對抗訓練後可以促使GAN的訓練更加穩定?首先我們知道對抗樣本能夠很容易“欺騙”分類器,對於CGAN來說,生成器完全有可能模仿對抗樣本去“欺騙”鑑別器,就算是鑑別器能識別出一種模式的對抗樣本,但生成器很容易就能夠找到其他模式的對抗樣本,這樣的話最小最大化的遊戲將永遠不會停止,也就是生成器和鑑別器永遠沒辦法達到納什均衡。因此作者假設,提高鑑別器的魯棒性對於穩定GAN的訓練至關重要。下面我們從理論上分析一下這一假設的成立的原因。
圖3.鑑別器的魯棒性

在GAN的訓練中,生成器就類似於對抗訓練中的“攻擊者”。如果鑑別器具有很小的LLV(即很小),此時,也就是說當鑑別器受到攻擊時,除非是擾動δ非常大,其並不會誤分類,如圖3所示。假設在t時刻時鑑別器正確分類圖像爲假圖即,在t+1時生成器如何才能使鑑別器誤分類呢?作者通過對D(x)和G(z;w)進行Lipschitz連續性假設,可以得到一個下界:
在這裏插入圖片描述
我們發現LDLG和成反比,也就是說如果鑑別器不魯棒的話即LD很大,那麼只能讓生成器的參數w移動的非常小,才能保證其下界成立,此時模型就會收斂的很慢。因此,我們從理論上證明了鑑別器的魯棒性是影響GAN收斂速度的關鍵因素!
回顧GAN的發展歷史,無論是WGAN還是SN-GAN都要求鑑別器滿足全局Lipschitz條件限制,這無疑會降低模型的表達能力,因此作者提出要求在圖像流型上保持局部Lipschitz條件即可,而這一點通過對抗訓練可以很容易地滿足。
經過上面的分析我們發現,對抗訓練和GAN的結合是一個互幫互助的過程。在這個框架內作者對生成器和鑑別器進行端到端的訓練:生成器向鑑別器提供假圖像; 同時,從訓練集採樣的真實圖像在發送到鑑別器之前由PGD攻擊算法預處理。其網絡架構如圖4所示。
4
圖4.Rob-GAN的網絡架構

三.實驗

在具體實驗時鑑別器網路採用的是AC-GAN中的模型架構,只不過在AC-GAN中無論是生成器還是鑑別器都希望能最大化分類損失LC,但這樣會導致即使生成器生成出特別差的樣本,損失函數還是希望其能正確分類。
在這裏插入圖片描述
因此作者將LC損失進行了修改,也就是鑑別器希望儘可能正確分類真實樣本即最大化損失LS+LC1,生成器希望能儘可能正確分類生成樣本即最大化LC2-LS。
在這裏插入圖片描述

下面是在對抗訓練採用GAN數據後的性能差距,可以明顯看出相較之前差距明顯縮小。
在這裏插入圖片描述
另外,作者對Rob-GAN進行了微調使鑑別器單獨執行多分類問題以便能更好的比較Rob-GAN的效果。下面是Rob-GAN在CIFAR10以及ImageNet上不同擾動情況下模型訓練的準確率,其中FT是指加入微調策略。
在這裏插入圖片描述

四.總結

這篇論文作者將生成式對抗網絡(GAN)以及對抗訓練模型(Adversarial training)結合在一起形成一個全新的框架Rob-GAN。從理論以及實驗證明出Rob-GAN不僅能加速GAN收斂速度而且還有助於縮減對抗訓練的性能差距,另外作者還重新定義了AC-GAN的損失函數。總之,我認爲這篇論文對於穩定GAN訓練具有重大意義,並且論文理論的嚴謹性也非常值得借鑑。

參考文獻
[1] M. Arjovsky, S. Chintala, and L. Bottou. Wasserstein gan.arXiv preprint arXiv:1701.07875, 2017. 2, 4
[2] T. Miyato, T. Kataoka, M. Koyama, and Y. Yoshida. Spectral normalization for generative adversarial networks. In International Conference on Learning Representations, 2018
[3] A. Madry, A. Makelov, L. Schmidt, D. Tsipras, and A. Vladu. Towards deep learning models resistant to adversarial attacks. arXiv preprint arXiv:1706.06083, 2017. 1, 2, 3, 6, 7

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