天天看點

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

7 月 17 日,微軟亞洲研究院的一篇論文,《Interleaved Group Convolutions for Deep Neural Networks》入選計算機視覺領域頂級會議 ICCV 2017(International Conference on Computer Vision)。論文中提出了一種全新的通用卷積神經網絡交錯組卷積(Interleaved Group Convolution,簡稱 IGC)子產品,解決了神經網絡基本卷積單元中的備援問題,可以在無損性能的前提下,縮減模型、提升計算速度,有助于深度網絡在移動端的部署。微軟亞洲研究院視覺計算組王井東研究員向機器之心詳細解讀了這篇論文中的研究工作。

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

近年來,卷積神經網絡憑借其強大的性能優勢,在計算機視覺、自然語言處理等領域的應用得到了業界廣泛的認可,并引發了一場研究熱潮。目前,神經網絡領域的研究基本上可以概括為兩個方向,一是探索在測試資料集上如何有更好的表現,二是關注在實際應用中存在的難點。從實際的角度出發,由于深度神經網絡受到大量矩陣運算的限制,往往需要海量存儲及計算資源。削減神經網絡中卷積單元的備援是解決這個問題的重要研究之一,并分為空間(spatial)及通道(channel)兩個方向。而微軟亞洲研究院這篇論文的研究就從通道的角度出發,設計了一種全新的卷積備援消除政策。

據王井東研究員介紹,這項研究的設計思路是來自于微軟亞洲研究院去年提出的深度融合(Deep Fusion [1])概念,其本質是将不同分支的網絡在中間層進行融合。他們在進一步研究中發現,一個标準的卷積也可以采用類似的多分支結構 [2],由此展開深入研究,研究出了較為簡單的交錯組卷積子產品,即 IGC 子產品。

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

深度融合簡單形式概念示意圖

每個交錯組卷積子產品包括兩個組卷積(group convolution)過程——第一次組卷積(primary group convolution)以及第二次組卷積(secondary group convolution)。組卷積曾被用于 AlexNet 中,将模型分布在兩個 GPU 上以解決記憶體處理問題。用一個 32 通道的例子來解釋一下組卷積:把 32 個輸入通道平均分為 4 組,每組擁有 8 個通道,并分别對 4 組單獨做卷積運算。這樣的好處是參數較少可以提升計算速度,但是同時,由于每組卷積之間不存在互動,不同組的輸出通道與輸入通道并不相關。為了讓輸入通道與每一個輸入通道實作關聯,交錯組卷積過程巧妙地引入了第二次組卷積,即第二次組卷積過程中,每組的輸入通道均來自于第一次組卷積過程不同的組,達到交錯互補的目的。

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

交錯組卷積過程

從消除卷積核備援的角度看,一個組卷積等價于具有稀疏核的普通卷積,而交錯組卷積,即兩次組卷積則等價于兩個稀疏核相乘的普通卷積。這兩個稀疏矩陣相乘可以得到兩兩相關的稠密矩陣,是一個線性的過程。在網絡模型大小及計算複雜度相同的條件下,相較于普通卷積,使用 IGC 子產品的網絡更寬,性能更優。

王井東研究員提到,研究剛開始的時候,他們并沒有發現在通道上的相關工作,直到去年十月份,他們才看到領域内的一些研究成果 [3, 4],例如 channel-wise convolution,包括谷歌的 Xception(Extreme Inception)。事實上,Xception 子產品可以看作交錯組卷積的一個特例。如果第一次組卷積過程中,每組隻有一個輸出通道,那麼就變成了特殊的組卷積,即 channel-wise convolution,第二次組卷積成為 1X1 的卷積,這與 Xception 相似;如果第一次組卷積過程裡僅有一組,那麼這個過程就變成了普通卷積,第二次組卷積過程則相當于配置設定給每個通過一個不同的權重。那麼問題來了,極端情況下是否能帶來最佳結果?研究團隊也針對這個問題進行了探讨,并設計了相關實驗,結果發現并不是這樣。

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積
MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

通過實驗結果可以發現,網絡的性能會随着通道數及組數的變化而變化,最優性能配置點存在于兩個極端情況之間。精确度會随着第一次組卷積分成的組數的增加(第二次組卷積分成的組數的減少)而提升,達到極值後開始降低。

除此之外,論文中的實驗部分還根據 CIFAR-10、CIFAR-100、SVHN 标準資料測試集,針對參數數目、計算複雜度及分類精确度性能衡量名額,将包含普通卷積子產品、和融合子產品及 IGC 子產品的五種網絡進行了比較,結果如下:

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積
MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

可以看出,由于 IGC 子產品增加了網絡的寬度,其性能具有明顯優勢。例如,在 CIFAR-100 測試集上,當網絡層數為 38 時,IGC-L4M8 和 IGC-L24M2 可以達到 67.33% 和 69.56% 的分類精确度,分别比 RegConv-W18 的效果高 2.3% 和 4.5%。而由于融合算法降低了網絡寬度,導緻參數并沒有被充分利用,是以效果明顯不佳。

網絡寬度對性能起到了至關重要的作用,不過目前,如何平衡神經網絡的深度與寬度這一問題在業内還沒有定論。對此,王井東研究員發表了自己的見解。一方面,深度神經網絡在存在一些優勢的同時也會帶來梯度消失等問題,ResNet 等優化算法也應運而生;另一方面,在解決落地問題時,非常深的網絡結構的實際意義往往并沒有想象中那麼大,例如,在達到一定層次時,再增加網絡的深度隻會增加計算的複雜度卻并沒有帶來相應的效果提升。「神經網絡寬度的作用在本質上與核方法相似,就是把本來不能線性可分的部分變得線性可分。雖然現階段在理論上還沒有解決深度與寬度的權衡問題,不過利用有效的方法增加網絡的寬度是非常值得探索的一個方向。」

另外,該研究團隊在 ImageNet 上與 ResNet-18 進行了比較,在分類錯誤率方面存在優勢。「我們的實驗主要是想表達 IGC 子產品與标準的卷積比較會帶來什麼樣的好處,而不是在标準資料集上将其他所有算法刷下去。」王井東研究員解釋道。

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

在與其他世界前領先算法進行比較的過程中,IGC 在 CIFAR-10 資料集上表現最為出色,在 SVHN 上精确度可以達到第三(第一跟第二則是該研究團隊另外一篇論文 [5] 所提出的算法的結果)。王井東研究員表示,如果采用 bottleneck 層,他們的結果在 CIFAR-100 上表現會更好一些。

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

補充材料中,團隊還設計了一個 Group-and-Point-wise Convolution(GPC)(類似于 deep roots [3]) 子產品,通過實驗與同樣基于通道的 deep roots 算法進行了比較。Deep roots 本質上相當于一個組卷積加上一個 1X1 的卷積,某種意義上講,Xception 也是 deep roots 的一個特例。結果顯示,交錯組卷積表現更好。

王井東研究員表示,解決備援還有很多其他的角度,比如二值化網絡等。IGC 子產品可以與這些還存在上升空間的算法實作互補,進一步降低神經網絡的備援,在不失精度的情況下,實作縮減網絡模型、降低計算量的目的。「非常有趣的是,在組卷積中,每組都在進行普通的卷積,這裡也可以繼續使用交錯組卷積。在我們的交錯組卷積子產品中,未來也許會有第三次、第四次組卷積,這也是我們未來對這個算法進行改進的方向之一。」

自去年八月份産生這個想法後,微軟亞洲研究院研究團隊于九月開始着手推進這個項目。在經曆了大約半年的時間後,團隊在今年三月份正式向 ICCV 2017 送出論文及研究成果。在這期間,團隊也曾在探索過程中遇到阻礙和瓶頸,走過一些彎路。據王井東研究員介紹,在受到深度融合的啟發之後,團隊把研究重點放在了沿着深度融合的思路推廣普通卷積,開始嘗試讓組卷積(secondary group convolution)共享參數。不過,由于團隊發現這個方式的效果提升并不明顯,是以最終選擇了不共享參數的研究道路。除此之外,由于現在很多平台并沒有對組卷積有很好的支援,是以團隊在實作方面也曾遇到了一些問題,并在實踐層次做了相關工作,也寄希望于 cuDNN 将來有更好的支援。

深度學習技術的突破給計算機視覺領域帶來了較大的沖擊。「許多做計算機視覺的研究人員之前是很難想象到今天這個領域會得到如此多的關注。」王井東研究員表示,雖然深度學習的優越性在計算機視覺領域有所表現,但是距離很多算法落地還有很長的一段路要走。「做研究的人可以多從實際應用出發,讓算法在産品中發揮價值,這也是我們的初心。」

[1] Jingdong Wang, Zhen Wei, Ting Zhang, Wenjun Zeng: Deeply-Fused Nets. CoRR abs/1605.07716 (2016).

[2] Ting Zhang, Guo-Jun Qi, Bin Xiao, Jingdong Wang: Interleaved Group Convolutions for Deep Neural Networks. CoRR abs/1707.02725 (2017).

[3] Yani Ioannou, Duncan P. Robertson, Roberto Cipolla, Antonio Criminisi: Deep Roots: Improving CNN Efficiency with Hierarchical Filter Groups. CoRR abs/1605.06489 (2016).

[4] François Chollet: Xception: Deep Learning with Depthwise Separable Convolutions. CoRR abs/1610.02357 (2016).

[5] Liming Zhao, Jingdong Wang, Xi Li, Zhuowen Tu, Wenjun Zeng: On the Connection of Deep Fusion to Ensembling. CoRR abs/1611.07718 (2016).

MSRA王井東詳解ICCV 2017入選論文:通用卷積神經網絡交錯組卷積

繼續閱讀