首頁 >>
CVPR 2017精彩論文解讀:對Xception(一種深度可分離卷積)模型的介紹
發布時間:2019-08-06 18:57:09 來源:e尊國際-e尊國際官網點擊:27

  雷鋒網(公眾號:雷鋒網) AI 科技評論按:雖然CVPR 2017已經落下帷幕,但對精彩論文的解讀還在繼續。下文是Momenta高級研究員王晉瑋對此次大會收錄的 Xception:Deep Learning with Depthwise Separable Convolutions 一文進行的解讀。

  Inception??槭且淮罄嘣贗mageNet上取得頂尖結果的模型的基本???,例如GoogLeNet、Inception V2/V3和Inception-ResNet。有別于VGG等傳統的網絡通過堆疊簡單的3*3卷積實現特征提取,Inception??橥ü楹?*1,3*3,5*5和pooling等結構,用更少的參數和更少的計算開銷可以學習到更豐富的特征表示。

  通常,在一組特征圖上進行卷積需要三維的卷積核,也即卷積核需要同時學習空間上的相關性和通道間的相關性。將這兩種相關性顯式地分離開來,是Inception??櫚乃枷脛唬篒nception??槭紫仁褂?*1的卷積核將特征圖的各個通道映射到一個新的空間,在這一過程中學習通道間的相關性;再通過常規的3*3或5*5的卷積核進行卷積,以同時學習空間上的相關性和通道間的相關性。

  但此時,通道間的相關性和空間相關性仍舊沒有完全分離,也即3*3或5*5的卷積核仍然是多通道輸入的,那么是否可以假設它們可以被完全分離?顯然,當所有3*3或5*5的卷積都作用在只有一個通道的特征圖上時,通道間的相關性和空間上的相關性即達到了完全分離的效果。

  若將Inception??榧蚧?,僅保留包含3*3的卷積的分支:

  

  再將所有1*1的卷積進行拼接:

  

  進一步增多3*3的卷積的分支的數量,使它與1*1的卷積的輸出通道數相等:

  

  此時每個3*3的卷積即作用于僅包含一個通道的特征圖上,作者稱之為“極致的Inception(Extream Inception)”???,這就是Xception的基本???。事實上,調節每個3*3的卷積作用的特征圖的通道數,即調節3*3的卷積的分支的數量與1*1的卷積的輸出通道數的比例,可以實現一系列處于傳統Inception??楹汀凹碌腎nception”??櫓淶淖刺?。

  運用“極致的Inception”???,作者搭建了Xception網絡,它由一系列SeparableConv(即“極致的Inception”)、類似ResNet中的殘差連接形式和一些其他常規的操作組成:

  

  作者通過TensorFlow實現了Xception,并使用60塊NVIDIA K80分別在ImageNet和JFT(Google內部的圖像分類數據集,包含17000類共3.5億幅圖像)上進行訓練,并分別在ImageNet和FastEval14k上進行測試。在ImageNet上,Xception的準確率相比Inception V3有一定的提升,并比ResNet-152或VGG-16有較多提升(單個模型,單個crop):

  

  在JFT/FastEval14k上,Xception取得了比ImageNet上相比于Inception V3更多的準確率提升:

  

  同時,和Inception V3相比,Xception的參數量有所下降,而訓練時的迭代速度也沒有明顯變慢:

  

  另外,在ImageNet和JFT上的訓練過程都顯示,Xception在最終準確率更高的同時,收斂過程也比Inception V3更快:

  

  在Xception中加入的類似ResNet的殘差連接機制也顯著加快了Xception的收斂過程并獲得了顯著更高的準確率:

  

  值得注意的是,在“極致的Inception”??櫓?,用于學習通道間相關性的1*1的卷積和用于學習空間相關性的3*3的卷積之間,不加入任何非線性單元相比于加入ReLU或ELU激活函數將會帶來更快的收斂過程和更高的準確率:

  

  這篇文章中提及的Depthwise Convolution操作,即group數、輸入通道數和輸出通道數相等的卷積層,在最近一年內被多篇CNN模型結構設計方面的工作所使用,包括Factorized Convolutional Neural Networks,Xception,MobileNet和ShuffleNet等,以及ResNeXt一文中使用的大量分group卷積操作也與之有相似之處。它們有的在ImageNet上取得了非常好的結果,有的大幅降低了模型的理論計算量但損失較少的準確度。本文作者從空間相關性和通道間相關性的角度解釋Depthwise Convolution,認為這是將學習空間相關性和學習通道間相關性的任務完全分離的實現方式。

  事實上,這一操作也可以從低秩角度理解,即將每個輸入通道上可學習的卷積參數的秩限制為1。不過潛在的問題是,雖然Depthwise Convolution可以帶來準確率的提升或是理論計算量的大幅下降,但由于其計算過程較為零散,現有的卷積神經網絡實現中它的效率都不夠高,例如本文中Xception的理論計算量是遠小于Inception V3的,但其訓練時的迭代速度反而更慢一些。期待后續會出現更加高效的Depthwise Convolution實現。

  雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。