Rob-GAN: Generator, Discriminator, and Adversarial Attacker(CVPR 2019)
- 文章簡介:
本文主要是將adversarial attack加入到GAN的訓練過程中,來提升訓練收斂的速度以及獲得更好的生成器。
-
DataSet: CIFAR-10, ImageNet data(subset)
-
Key insights:
- 如果對圖像分佈有更深入的瞭解,可以提高對抗性訓練分類器的魯棒性。因此,Generator可以改進對抗性訓練過程。
- 如果Discriminator在圖像流形上有較大的曲率,GAN訓練將會非常緩慢地達到平衡。因此,一個經過對抗性訓練的識別器可以加速GAN訓練。
-
Contribution:
- 給出了目前的對抗性訓練算法不能很好地推廣到不可見的數據的見解,並解釋了GAN訓練緩慢的原因。
- 將adversarial trainning和GAN trainning進行聯繫:通過GAN來提高adversarial training的泛化能力,通過adversarial training來加速GAN training速度並且使其收斂到一個更好的Generator
- 提出一個新框架:Rob-GAN(three player game)
- 通過對AC-GAN損失的重新定義,提出了一種更好的conditional GAN訓練損失模型。
-
Adversaruak training:
- 挑戰: 儘管adversarial training使得模型可以在訓練集上獲得不錯的魯棒性,但是同在會在測試集上顯著下降。直觀地說,這是因爲在對抗性訓練中,網絡只“看到”所有訓練樣本附近小區域內的對抗樣本,而數據流形中的其餘圖像則沒有受到保護。
-
Some insight/hypothesis:
-
Does small LLV in training set automatically generalize to test set?
- Adversarial trainning
- With a small local Lipschitz value
因爲真實的數據分佈是無法知道的,所以作者利用大數定律來代替(是訓練集中的feature-label pair)
- Result
儘管通過在訓練集通過控制LLV來進行adversarial trainning很有效,但是這個效果無法泛化到測試集上.
Figure 2: The local Lipschitz value (LLV) measured by gradient norm . Data pairs (xi, yi) are sampled from the training and testing set respectively. During the training process, LLV on the training set stabilizes at a low level, while LLV on the test set keeps growing.
-
Fast GAN training relies on robust discriminator:
- 沒有adversarial trainning模塊的話,以conditional GANs爲例,如果discriminator不夠魯棒的話,Generator就可以利用這個弱點來欺騙Discriminator。即使discriminator可以訓練到識別某些adversarial pattern,但Generator可以繼續去找出另外的adversarial pattern,因此這個minmax博弈永遠不會結束
- 不嚴格的證明: 假設在第t步,discriminator能夠正確識別fake img, 即對所有的, 。爲了在t+1步generator可以做到, 作者假設和都是Lipschitz連續的,得到下面推導
-
可以發現
所以如果discriminator不夠robustness, 就會意味着可能會很大,所以的變化就會相當小,使得訓練速度比較慢。
- Discriminator and the new loss function:
其中是discriminator的輸出, 是classifier的輸出。作者將AC-GAN的損失函數中的分成了, 。然後
-
discriminator的目標是最大化, 使其只關注分類正確的圖片以及分辨real/fake的圖片
-
generator的目標是最大化
-
Fine-tuning
作者將中原來的classifier loss分支拆分成了2個分類損失(real+fale augmentation strategy)。(作者糾正:並移除了原來的Discriminator Loss)。
通過fine-tuning,D將更加關注與分類任務而不是判別任務。
實驗表明使用fine-tuning後,增強了模型的泛化性。
相比於Adv. Trainning(state-of-the-art 防禦算法), 使用Fine-tuning後的Rob-GAN提高了測試集上對PGD-attack的抵抗能力
本文的adversarial training(PGD攻擊)能夠提高GAN訓練的收斂速度,並且能夠使產生的圖片分辨率更高,且在inception score上超越了SN-GAN
如果覺得我有地方講的不好的或者有錯誤的歡迎給我留言,謝謝大家閱讀(點個贊我可是會很開心的哦)~