首頁?學習  »   正文

對抗魯棒分類器神經網絡畫風遷移

我最近讀了一篇有趣的文章,文章的題目是“對抗性的例子不是bug,而是特性”,這篇文章內容是關于一種截然不同的方式來看待對抗性的例子(1)。

作者提出了訓練圖像分類器的圖像中存在所謂的“魯棒”和“非魯棒”特征。魯棒的特征可以被認為是人類自然用于分類的特征,例如,下垂的耳朵表示某些品種的狗,而黑白條紋則表示斑馬。另一方面,非魯棒特性是指人類對此不敏感的特性(2),但真正表示某個特定的類(即它們與整個(列車和測試)數據集的類相關)。作者認為,相反的例子是通過用另一類的非魯棒特性替換圖像中的非魯棒特性而產生的。

我強烈推薦閱讀這篇論文,或者至少是隨附的博客文章。

這篇論文中有一個讓我特別感興趣的圖表,它顯示了對抗性例子的可轉移性與學習類似非魯棒特性的能力之間的相關性。

對抗魯棒分類器神經網絡畫風遷移

解釋此圖的一種方法是,它顯示了特定架構如何能夠很好地捕捉圖像中的非魯棒特性(3)。.

請注意VGG與其他模型相比有多早。

在不相關的神經風格傳遞領域,VGG也是非常特殊的,因為非VGG架構如果沒有某種參數化技巧就不能很好地工作(4)。上圖的解釋為這一現象提供了另一種解釋。由于VGG不能像其他架構一樣捕獲非健壯的特性,因此用于樣式傳輸的輸出對人類來說實際上看起來更正確(5)!

在繼續之前,讓我們快速討論一下Mordvintsev等人在可微圖像參數化中得到的結果,這些結果表明,非vgg架構可以用一種簡單的技術進行風格轉換。在他們的實驗中,他們不是在RGB空間中對輸出圖像進行優化,而是在傅里葉空間中對其進行優化,并通過神經網絡之前一系列的變換(例如抖動,旋轉,縮放)來運行圖像。

對抗魯棒分類器神經網絡畫風遷移

我們能將這一結果與我們的假設相協調嗎?我們假設神經系統傳遞和非魯棒性特征相關聯。

一種可能的理論是,所有這些圖像轉換都會削弱甚至破壞非魯棒特性。由于優化不再能夠可靠地操縱非魯棒特性來降低損失,因此它被強制使用魯棒特性,這可能對應用的圖像轉換更具抵抗力(一只旋轉的、抖動的、松弛的耳朵看起來仍然像一只松弛的耳朵)。

測試這個假設是相當簡單的:使用一個對抗的魯棒分類器進行(常規)神經風格的轉移,看看會發生什么。

一個快速的實驗

幸運的是,Engstrom等人為一個魯棒resnet-50提供了他們的代碼和模型權重,這省去了我自己訓練的麻煩。我比較了正規訓練(非魯棒)的resnet-50和經過嚴格訓練的resnet-50在gatys等原始神經風格轉移算法上的性能。為了進行比較,我還使用常規的VGG-19執行了樣式轉換。

我的實驗可以完全復制到這個colab筆記本里。為了確保公平比較,盡管不同的網絡具有不同的最優超參數,我對每個圖像執行了一個小的網格搜索,并手動選擇每個網絡的最佳輸出。更多細節可在腳注6中閱讀。

實驗結果如下圖所示。

對抗魯棒分類器神經網絡畫風遷移

(原文中可調式)

成功!魯棒的ResNet比常規的ResNet有較大的改進。記住,我們所做的只是切換ResNet的權重,其余用于執行樣式轉換的代碼完全相同!

更有趣的比較可以在VGG-19和魯棒ResNet之間進行。乍一看,魯棒ResNet的輸出似乎與VGG-19相當。然而,仔細觀察,ResNet的輸出似乎有噪音,并顯示了一些工件(7)。

對抗魯棒分類器神經網絡畫風遷移

(原文中可調式)

VGG和ResNet合成紋理的偽影比較。通過在圖像周圍懸停來進行交互。這個圖是由Odena等人從反褶積和棋盤圖中重新使用的。

目前還不清楚是什么導致了這些偽影。一種理論是,它們是由卷積層中不可分割的內核大小和步長造成的棋盤圖偽影(Odena)。它們也可能是由于存在max池層(Henaff等)而造成的工件。無論在何種情況下,這些偽影雖然有問題,但似乎在很大程度上不同于對抗性魯棒性在神經風格轉換中解決的問題。

VGG仍然是個謎

雖然本實驗的開始是對VGG網的一個特殊特性的觀察,但并沒有對這一現象做出解釋。事實上,如果我們接受這樣的理論,即對抗性魯棒性是VGG采用神經風格傳輸的開箱即用的原因,那么我們肯定會在現有的文獻中發現一些跡象,表明VGG天生比其他架構更長大。

不幸的是,我找不到任何支持這一點的東西。

也許對抗性健壯性只是偶然地修復或掩蓋了非VGG體系結構在樣式轉換(或其他類似算法8)時失敗的真正原因,即對抗性健壯性是良好樣式轉換的充分但不必要的條件。不管是什么,我認為對VGG的進一步研究是未來工作的一個非常有趣的方向。

未來的工作

不可否認,我的小實驗提出的問題可能比它回答的問題要多得多。除了弄清VGG的神秘之處,這里還有一些未來工作的想法:

  • 找出魯棒的ResNet構件的原因并嘗試修復它們。這篇由Sahil Singla撰寫的文章展示了一些很好的技巧。調整步長值,這樣它就可以清楚地劃分內核大小,這可能消除棋盤圖偽影。用平均池層替換最大池層也可能有助于減少構件。您還可以嘗試可微分圖像參數化的技術,并結合魯棒性應用圖像轉換和去相關參數化。
  • 嘗試使用超參數,特別是用于樣式和內容的層。我在ResNet中堅持使用同一套圖層,并沒有在這方面做太多的探索。
  • 據我所知,我從Engstrom等人只接受了9節課的限制性圖片網訓練。有趣的是,如果在完整的ImageNet數據集上訓練一個魯棒分類器,會產生更好的輸出。

如果你想建立在這個實驗的基礎上,所有的代碼都可以在這個colab筆記本中找到。

引用

如你認為這項工作有用,請將其引述如下:

@misc{nakano2019robuststyle, 
title={Neural Style Transfer with Adversarially Robust Classifiers}, 
url={https://reiinakano.com/2019/06/21/robust-neural-style-transfer.html}, 
journal={https://reiinakano.com}, 
author={Reiichiro Nakano}, 
year={2019}, 
month={Jun}}

文中注釋:

  1. 對抗性示例是攻擊者專門設計的輸入,用來欺騙分類器為該輸入生成不正確的標簽。在深度學習文獻中,有一個專門研究對抗攻擊和防御的完整領域。
  2. 這通常被定義為在一些預定義的擾動集中,如L2球。人類不會注意到某些預定義的epsilon中單個像素的變化,所以這個集合中的任何擾動都可以用來創建一個對立的例子。
  3. 由于非魯棒特性是由ResNet-50捕獲的非魯棒特性NRFresnetNRFresnet定義的,因此該圖真正顯示的是架構如何捕獲NRFresnetNRFresnet。
  4. 這個現象將在Reddit的這個帖子中詳細討論。
  5. 為了遵循這一論點,請注意,神經風格轉換中使用的知覺損失依賴于由單獨訓練的圖像分類器學習的匹配特征。如果這些學習到的特性對人類沒有意義(非魯棒特性),那么用于神經類型轉換的輸出也沒有意義。
  6. 采用L-BFGS算法進行優化,其收斂速度快于Adam算法。對于ResNet-50,使用的樣式層是四個剩余塊[relu2_x,relu3_x,relu4_x,relu5_x]后的ReLu輸出,而使用的內容層是relu4_xrelu4_x。對于vgr -19,樣式層[relu1_1,relu2_1,relu3_1,relu4_1,relu5_1]與內容層relu4_2relu4_2一起使用。在VGG-19, max pooling層替換為avg pooling層,正如Gatys等人在原始論文中所做的那樣。
  7. 當輸出圖像不是用內容圖像初始化,而是用高斯噪聲初始化時,這一點更加明顯。
  8. 事實上,神經風格轉移并不是唯一一種預先訓練的基于分類器的迭代圖像優化技術。在Engstrom等人最近發表的一篇論文中,他們指出,通過激活最大化實現的特征可視化可以在健壯的分類器上工作,而不需要執行以前工作中使用的任何先驗或正則化(例如圖像轉換和去相關參數化)。
歡迎關注ATYUN官方公眾號,商務合作及內容投稿請聯系郵箱:[email protected]

發表評論