高頻份量能夠幫助解釋卷積神經網絡的泛化性

點擊上方「AI公園」,關注公衆號,選擇加「星標「或「置頂」web


做者:Haohan Wang微信

編譯:ronghuaiyang
網絡

導讀

對卷積網絡的高頻份量的泛化性能的現象的研究和解釋。編輯器


圖1,中心假設:在樣本有限的數據集中,圖像的高頻份量與「語義」份量存在相關性。所以,模型既會感知高頻成分,也會感知「語義」成分,致使人類違反直覺的泛化行爲。

都是由於數據

有許多工做都試圖使用很是重的數學來解釋神經網絡的泛化行爲,但咱們會作不一樣的事情:使用數據的簡單反直覺,咱們將展現許多泛化的奧祕(像對抗的脆弱性,BatchNorm的功效,「泛化悖論」)多是經過肉眼處理數據過分自信的結果。或者僅僅是:工具

模型可能沒有比咱們聰明,但數據已經比咱們聰明瞭性能

讓咱們從一個有趣的觀察開始(圖2):咱們使用Cifar10數據集訓練了一個ResNet-18,選擇了一個測試樣本,並繪製了該樣本的模型預測置信值。而後經過傅里葉變換將樣本映射到頻域,將其頻率表示分割爲高頻份量和低頻份量。咱們經過這兩個部分對圖像進行重構,並將重構圖像輸入到模型中:學習

  • HFC重建圖像看起來明顯不一樣於原始樣本,但預測出來是相同的標籤。
  • LFC重建的圖像看起來與原始樣本類似,但模型對它們的分類不一樣。

圖2:人與模型的明顯錯位:HFC重建圖像與原始樣本有明顯差別,但預測爲相同的標籤,LFC重建的圖像看起來與原始樣本類似,但模型對它們進行了不一樣的分類。

雖然這一現象只能經過樣本子集(約600幅圖像)觀察到,但它足以敲響警鐘。測試

爲何模型的表現會這樣?

咱們認爲,潛在的緣由是HFC和數據集中所描述的「語義」之間的巧合相關性(圖1)。在來自相同分佈的有限數量的樣本中,人類難以察覺的HFC極可能與人類標註圖像的方式有關,所以,在對模型進行優化以減小訓練損失時,能夠經過提取「語義」或HFC來減小損失,即便模型可能不能真正「理解」數據,但預測精度仍然很高。優化

請注意:咱們並非說模型自己有捕獲HFC的傾向。相反,咱們的主要論點是,一個通用模型沒有動機去只學習LFC,所以,它最終多是學習LFC和HFC的混合。spa

此外,人們可能會想,模型可以捕捉到HFC,這一事實是有但願仍是使人擔心。一方可能會爭辯說,這使得模型的發展能夠在測試數據上超過人類(可能只有當測試數據和訓練數據來自相同的分佈的時候),而另外一方可能認爲,由此產生的模型,儘管對來自相同分佈的測試數據能夠進行更好的預測,可是可能會對來自其餘分佈的類似的數據表現不佳(HFC多是特定於數據集的)。這個文章不打算解決這個爭論,只是給出咱們的觀察。

觀察

咱們能夠利用主要觀察來幫助解釋先前難以捉摸的經驗現象。在這篇文章中,咱們將重點介紹咱們論文中的兩個討論。

對抗脆弱性的根源之一

概念上相似於前面的一篇論文:https://arxiv.org/abs/1905.02175中提出的論點,咱們代表,HFC的預測信號是對抗脆弱性的根源之一。然而,與以前的工做相反,咱們提供了一個具體的建議,關於可能的對抗特性:來自HFC的信號。

爲了研究這一關係,咱們用Madry的對抗訓練方法訓練了一個對抗穩健模型,並研究了魯棒模型和普通模型的卷積核。咱們注意到魯棒模型的卷積內核趨於平滑(「平滑」是指相鄰值之間的差別較小),如圖3所示。相關數學工具代表,平滑卷積核只考慮了數據中微不足道的HFC,從而將HFC與對抗性漏洞聯繫起來。

圖3,左:一個普通CNN的卷積核的可視化,右:來自對抗訓練中的很是健壯的CNN的卷積核可視化。

有了這些知識,一個更誘人的問題是,咱們是否能夠直接對普通模型的卷積核進行平滑,以提升其對抗的魯棒性。爲了回答這個問題,咱們測試了多種平滑卷積核的方法:

  • 啓發式地調整訓練過的核的權重,以提升平滑度。
  • 過濾訓練過的核的高頻信息(本文未報告)。
  • 在訓練中設計正則化方案限制kernel的相鄰值的差別(本文未報告)。

不幸的是,只觀察到微小的改善。所以,咱們能夠得出這樣的結論:對抗魯棒模型每每具備光滑的卷積核,但反過來不必定正確。換句話說,HFC是對抗脆弱性的問題之一,但不是全部的問題。

然而,從這一觀察獲得的一種解決辦法確實能夠以驚人的速度抵禦大多數對抗性攻擊:

  • 在將數據輸入到模型以前過濾掉輸入圖像的HFC。
  • 該方法能夠提升模型的魯棒性,但該方法有效地掩蓋了模型的梯度,於是不能解決學術界所關注的對抗性攻防問題。
BatchNormalization的有效性

另外一個有趣的觀察與BatchNorm的有效性有關。BatchNorm是現代深度學習研究中最有效的啓發式訓練方法之一,特別是在計算機視覺應用中。然而,爲何BatchNorm能如此顯著地幫助訓練,人們還不清楚。有趣的是,咱們的實驗爲爲何BatchNorm常常起做用提供了另外一個角度。

圖4,在訓練過程當中,測試精度如何隨epoch的增長而變化。每一個圖描述了不一樣啓發式的性能。每種顏色表示從不一樣半徑切割LFC和HFC的性能。實線表示LFC的性能,虛線表示HFC的性能。虛線的曲線越高,方法利用的HFC越多。

在圖4中,隨着訓練epoch的增長,咱們報告了訓練數據和各類副本測試數據的準確性,其中r爲咱們切割LFC和HFC時所用的半徑,實線/虛線分別爲LFC/HFC的性能。所以,曲線的虛線越高,模型利用的HFC就越多。

使人驚訝的是,使用BatchNorm訓練的模型使用了大量的HFC,由於第4個圖的虛線曲線明顯高於其餘圖。這個觀察結果代表,BatchNorm之因此有用的緣由之一是它鼓勵使用HFC。如前所述,數據中存在多個預測信號(LFC和HFC)。模型使用的信號越多,模型的測試精度越高,這與BatchNorm做爲一種提升測試精度的方法而廣爲人知的事實是一致的。

直觀地說,咱們推測性能的提高是因爲HFC一般只涉及很小的像素(由於重建的圖像在人類看來大可能是黑色的)。BatchNorm方便地經過標準化對這些信號進行從新縮放,從而提升了準確度。

人們可能會很天然地想知道咱們的觀察暗示了關於BatchNorm使用的什麼:咱們建議咱們可能須要從新評估BatchNorm的價值,特別是對於模型來講,要知足在多個數據集中都具備健壯性的指望。咱們的觀察結果也很方便地與另外一個觀察結果相一致,這代表BatchNorm可能鼓勵對抗脆弱性

在本文中,咱們還討論了被普遍稱爲「泛化再思考」的悖論,關於準確性和魯棒性之間權衡的正式結果,以及實驗代表這些有趣的現象可能會出如今其餘視覺任務中,如目標檢測。

總結

更多的信息請參考咱們的論文,咱們主要得出三個結論:

  • 因爲HFC多是特定於數據的,SOTA(最早進)可能不像社區認爲的那樣重要。人與模型之間的一致性可能更爲重要。
  • 咱們可能須要一套新的計算機視覺測試製度,例如,一種簡單的方法是老是在LFC重建圖像上測試模型,而不是在原始測試圖像上。
  • 用顯式的概括偏置設計來對齊模型和人可能會起重要的做用。


END

英文原文:https://blog.ml.cmu.edu/2020/08/14/high-frequency-component-helps-explain-the-generalization-of-convolutional-neural-networks/

請長按或掃描二維碼關注本公衆號

喜歡的話,請給我個好看吧


本文分享自微信公衆號 - AI公園(AI_Paradise)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索