CVPR 2018 | Spotlight論文:解耦神經網路DCNet,性能優於標準CNN

CVPR 2018 | Spotlight論文:解耦神經網路DCNet,性能優於標準CNN

來自專欄 機器之心

選自arXiv,作者:Weiyang Liu等,機器之心編譯。

本論文提出一個通用的解耦學習框架,並構建了解耦神經網路 DCNet,實驗表明解耦操作可大大提高模型性能,加速收斂,提升穩健性。這篇論文已被 CVPR 2018 接收,是大會的 Spotlight 論文。

卷積神經網路(CNN)大大拓展了視覺任務的邊界,如目標識別 [24, 25, 5]、目標檢測 [2, 23, 22]、語義分割 [16] 等。最近,CNN 領域一個重要研究方向是:通過引入捷徑連接(shortcut connection)[5, 8] 、多分支卷積(multi-branch convulsion)[25, 30] 等改進架構,來增加網路的深度和表徵能力。但另一方面,儘管 CNN 有了諸多改進和提升,對於卷積本身為何能夠實現判別表徵和優秀的泛化能力,這依然是一個有趣的、值得探索的問題。

如今,CNN 中通常利用內積來編碼表示 patch x 和卷積核 w 之間的相似性。但內積公式

將語義差異(即類間差異)和類內差異耦合到同一個度量中。因此,當兩個樣本間的內積很大時,我們很難確定是由於兩個樣本間存在很大的語義/標籤差異,還是由於存在很大的類內差異。為了更好地研究 CNN 表徵的性質,進而改善現有的 CNN 框架,本文作者提出明確地解耦(decouple)語義差異和類內差異。具體而言,研究者使用範數和角度(angle)將內積重新參數化為:

。該直覺來自圖 1 中的觀察,其中角度表示語義/標籤差異,而特徵範數(feature norm)則表示類內差異。特徵範數越大,則預測越可信。這種直觀的解耦方法啟發研究者提出了解耦卷積運算元(decoupled convolution operator)。研究者希望,通過將內積解耦為範數和角度,能夠更好地對深度網路中的類內差異和語義差異進行建模。

基於將內積解耦為範數和角度這一思路,研究者通過將傳統的基於內積的卷積運算元(||w|| ||x|| cos(θ_(w,x)))擴展至解耦運算元,提出了一個全新的解耦神經網路 DCNet。為此,研究者將此類解耦運算元定義為:某個範數函數 h(||w||, ||x||) 與某個角度函數 g(θ_(w,x)) 的乘積形式。解耦運算元為更好地建模類內差異和語義差異提供了一個通用框架,原始的 CNN 等價於將 h(||w||, ||x||) 設置為 ||w|| ||x||,將 g(θ_(w,x)) 設置為 cos(θ_(w,x))。(在解耦運算元中),幅度函數(magnitude function)h(||w||, ||x||) 建模類內差異,而角度函數(angular function)g(θ_(w,x)) 則建模語義差異。

從解耦的角度看,原始 CNN 包含了一個很強大的假設:類內差異可通過範數乘積的形式進行線性建模,而語義差異可利用角度餘弦值刻畫。但這個建模方法並非在所有任務中都是最優的,而通過解耦學習框架,我們可以根據任務本身設計解耦運算元,或者直接從數據中「學習」出來。DCNet 共有以下四個優點:一,DCNet 不僅允許我們使用一些替代函數更好地建模類內差異和語義差異,還允許我們直接學習這些函數,而不是修復它們。二,通過使用有界幅度函數,DCNet 可以改善 [14] 中分析的問題,進而實現更快的收斂,同時取得和原始 CNN 相當甚至更好的準確率。三,DCNet 的一些實例展現出了面對對抗攻擊時更強的穩健性:通過一個有界函數 h(·) 壓縮各類別的特徵空間,可以獲得一定的穩健性。四,解耦運算元具有很強的靈活性,且是架構不敏感的(architecture-agnostic),因此我們可以很輕鬆地將其引入各種網路架構,如 VGG [24]、GooleNet [25] 以及 ResNet [5]。

具體而言,研究者提出了兩種不同的解耦卷積運算元:有界運算元和無界運算元,並利用兩種運算元完成多個實例。結果顯示,有界運算元具有更快的收斂速度,且在對抗攻擊中具有更好的穩健性;而無界運算元則具有更好的表徵能力。解耦運算元可以是平滑或非平滑的,平滑與否會影響其表現。另外,研究者針對解耦運算元提出了一個全新的概念:運算元半徑(operator radius)。運算元半徑刻畫了幅度函數 h(·) 對輸入 ||x|| 的導數的重大變化。通過利用反向傳播演算法聯合學習運算元半徑,研究者還提出了可學習的解耦運算元。最後,研究者展示了多種通過改進標準反向傳播演算法優化解耦運算元的替代方式。本論文的主要貢獻如下:

  • CNN 學得的特徵是天然解耦的,受此啟發,研究者提出了一個明確解耦的框架來研究神經網路。
  • 研究者展示了 CNN 中包含了一個很強大的假設,以完成對類內差異和類間差異的建模,而此假設可能不是最優的。通過對內積解耦,研究者能夠針對不同任務設計出更有效的幅度函數和角度函數,而非使用原始的卷積。
  • 和標準 CNN 相比,DCNet 能夠更容易地收斂,且具有更好的準確率和穩健性。

圖 1:CNN 學得的特徵天然是解耦的。圖中的 2D 特徵是通過將 CNN 特徵維度設置為 2 直接得到的輸出。

圖 2:解耦卷積運算元的幾何解釋。綠線表示原始向量,紅線表示投影向量。

表 1:加權運算元(TanhConv)在 CIFAR-100 上的評估結果。

表 2:未使用反向傳播的原始 CNN-9 在 CIFAR-100 上的測試誤差(%)。「N/C」表示模型未收斂,「-」表示沒有結果。不同列中的結果來自於不同的角度激活函數(angular activation)。

表 6:標準 ResNet-18 和修正 ResNet-18 在 ImageNet-2012 上的 Center-crop Top-5 誤差(%)。「*」表示使用了原始 CNN 在 ImageNet-2012 上的預訓練模型作為初始模型(見 4.3)。

表 7:CIFAR-10 上的白盒(White-box)攻擊,性能用準確率(%)度量。前三行是標準訓練模型的結果,後三行是對抗訓練模型的結果。

表 8:CIFAR-10 上的黑盒(Black-box)攻擊,性能用準確率(%)度量。前三行是標準訓練模型的結果,後三行是對抗訓練模型的結果。

論文:Decoupled Networks

論文鏈接:arxiv.org/abs/1804.0807

摘要:長期以來,基於內積的卷積都是卷積神經網路(CNN)中的核心成分,也是學習視覺表徵的關鍵所在。而 CNN 學得的特徵天然能夠解耦為特徵範數(對應類內差異)和角度(對應語義差異),受此啟發,我們提出了一個通用的解耦學習框架,對類內差異和語義差異分別進行建模。具體而言,我們首先將內積重新參數化為解耦形式,然後將其擴展至解耦卷積運算元,並作為解耦神經網路的重要組成成分。我們展示了解耦卷積運算元的多個有效實例,其中每個解耦運算元都有很好的根據以及直觀的幾何解釋。基於這些解耦運算元,我們進一步提出直接從數據中學習運算元。大量實驗表明,這種解耦重新參數化操作極大地提升了模型性能,加快了模型的收斂速度,顯著提升了模型的穩健性。


推薦閱讀:

輕鬆入門機器學習之概念總結(一)
BC資訊| 解碼神秘的AI獨角獸「寒武紀」
淺談自然語言處理 –前言
無人駕駛時代你不打算買車了?五個理由告訴你還得買
中國在超算領域連連當冠軍!美國不服氣?砸巨資研發為爭回面子?

TAG:神經網路 | 人工智慧 | CVPR |