當前位置:
首頁 > 新聞 > 孫劍團隊提出移動端神經網路,優於谷歌MobileNet

孫劍團隊提出移動端神經網路,優於谷歌MobileNet

新智元專欄

來源: Face++

【新智元導讀】在視覺人工智慧系統中,卷積神經網路(CNN)起著至關重要的作用。曠視(Face++)孫劍等人的研究團隊最近發表了《ShuffleNet:一種極高效的移動端卷積神經網路》一文,作者針對移動端低功耗設備提出了一種更為高效的卷積模型結構,在大幅降低模型計算複雜度的同時仍然保持了較高的識別精度,並在多個性能指標上均顯著超過了同類方法。本文將對該成果進行詳細解讀。

(論文下載地址:https://arxiv.org/abs/1707.01083)

ShuffleNet的設計思想

卷積神經網路是現代視覺人工智慧系統的核心組件。近年來關於卷積模型的研究層出不窮,產生了如VGG、ResNet、Xception和ResNeXt等性能優異的網路結構,在多個視覺任務上超過了人類水平。然而,這些成功的模型往往伴隨著巨大的計算複雜度(數十億次浮點操作,甚至更多)。這就限制了此類模型只能用於高性能的伺服器集群,而對於很多移動端應用(通常最多容許數百萬至數千萬次浮點操作)則無能為力。

解決這一難題的方法之一是設計更為輕量級的模型結構。現代卷積神經網路的絕大多數計算量集中在卷積操作上,因此高效的卷積層設計是減少網路複雜度的關鍵。其中,稀疏連接(sparse connection)是提高卷積運算效率的有效途徑,當前不少優秀的卷積模型均沿用了這一思路。例如,谷歌的」Xception「網路[1]引入了」深度可分離卷積」的概念,將普通的卷積運算拆分成逐通道卷積(depthwise convolution)和逐點卷積(pointwise convolution)兩部進行,有效地減少了計算量和參數量;而Facebook的「ResNeXt」網路[2]則首先使用逐點卷積減少輸入特徵的通道數,再利用計算量較小的分組卷積(group convolution)結構取代原有的卷積運算,同樣可以減少整體的計算複雜度。

ShuffleNet網路結構同樣沿襲了稀疏連接的設計理念。作者通過分析Xception和ResNeXt模型,發現這兩種結構通過卷積核拆分雖然計算複雜度均較原始卷積運算有所下降,然而拆分所產生的逐點卷積計算量卻相當可觀,成為了新的瓶頸。例如對於ResNeXt模型逐點卷積佔據了93.4%的運算複雜度。可見,為了進一步提升模型的速度,就必須尋求更為高效的結構來取代逐點卷積。

受ResNeXt的啟發,作者提出使用分組逐點卷積(group pointwise convolution)來代替原來的結構。通過將卷積運算的輸入限制在每個組內,模型的計算量取得了顯著的下降。然而這樣做也帶來了明顯的問題:在多層逐點卷積堆疊時,模型的信息流被分割在各個組內,組與組之間沒有信息交換(如圖 1(a)所示)。這將可能影響到模型的表示能力和識別精度。

圖 1 逐點卷積與通道重排操作

因此,在使用分組逐點卷積的同時,需要引入組間信息交換的機制。也就是說,對於第二層卷積而言,每個卷積核需要同時接收各組的特徵作為輸入,如圖 1(b)所示。作者指出,通過引入「通道重排」(channel shuffle,見圖 1(c))可以很方便地實現這一機制;並且由於通道重排操作是可導的,因此可以嵌在網路結構中實現端到端的學習。

ShuffleNet網路結構

基於分組逐點卷積和通道重排操作,作者提出了全新的ShuffleNet結構單元,如圖2所示。該結構繼承了「殘差網路」(ResNet)[3]的設計思想,在此基礎上做出了一系列改進來提升模型的效率:首先,使用逐通道卷積替換原有的3x3卷積,降低卷積操作抽取空間特徵的複雜度,如圖2(a)所示;接著,將原先結構中前後兩個1x1逐點卷積分組化,並在兩層之間添加通道重排操作,進一步降低卷積運算的跨通道計算量。最終的結構單元如圖2(b)所示。類似地,文中還提出了另一種結構單元(圖2(c)),專門用於特徵圖的降採樣

藉助ShuffleNet結構單元,作者構建了完整的ShuffeNet網路模型。它主要由16個ShuffleNet結構單元堆疊而成,分屬網路的三個階段,每經過一個階段特徵圖的空間尺寸減半,而通道數翻倍。整個模型的總計算量約為140MFLOPs。通過簡單地將各層通道數進行放縮,可以得到其他任意複雜度的模型。

另外可以發現,當卷積運算的分組數越多,模型的計算量就越低;這就意味著當總計算量一定時,較大的分組數可以允許較多的通道數,作者認為這將有利於網路編碼更多的信息,提升模型的識別能力

圖 2 ShuffleNet結構單元

實驗結果

作者通過一系列在ImageNet 2016分類數據集上的控制實驗說明了ShuffleNet結構單元每個部件存在的必要性、對於其他網路結構單元的優越性。接著作者通過在MS COCO目標檢測上的結果說明模型的泛化能力。最後,作者給出了在ARM計算平台上ShuffleNet實際運行時的加速效果。

分組化逐點卷積

作者對於計算複雜度為140MFLOPs 、 40MFLOPs、13MFLOPs的ShuffleNet模型,在控制模型複雜度的同時對比了分組化逐點卷積的組數在1~8時分別對於性能的影響。從表1中可以看出,帶有分組的(g>1)的網路的始終比不帶分組(g=1)的網路的錯誤率低。作者觀察到對於較小的網路(如ShuffleNet 0.25x),較大的分組會得到更好結果,認為更寬的通道對於小網路尤其重要。受這點啟發,作者移除了網路第三階段的兩個結構單元,將節省下來的運算量用來增加網路寬度後,網路性能進一步提高。

表1 組數對分類錯誤率的影響

通道重排

通道重排的目的是使得組間信息能夠互相交流。在實驗中,有通道重排的網路始終優於沒有通道重排的網路,錯誤率降低0.9%~4.0%。尤其是在組數較大時(如g=8),前者遠遠優於後者。

對比其他結構單元

作者使用一樣的整體網路布局,在保持計算複雜度的同時將ShuffleNet結構單元分別替換為VGG-like、ResNet、Xception-like和ResNeXt中的結構單元,使用完全一樣訓練方法。表2中的結果顯示在不同的計算複雜度下,ShuffleNet始終大大優於其他網路。

表2 和其他網路結構的分類錯誤率對比(百分制)

對比MobileNets和其他的一些網路結構

最近Howard et al. 提出了MobileNets [4],利用[1]里的逐通道卷積的設計移動設備上高效的網路結構。雖然ShuffleNet是為了小於150MFLOPs的模型設計的,在增大到MobileNet的500~600MFLOPs量級,依然優於MobileNet。而在40MFLOPs量級,ShuffleNet比MobileNet錯誤率低6.7%。詳細結果可以從表3中得到。

表3 ShuffleNet和MobileNet對比

和其他一些網路結構相比,ShuffleNet也體現出很大的優勢。從表4中可以看出,ShuffleNet 0.5x僅用40MFLOPs就達到了AlexNet的性能,而AlexNet的計算複雜度達到了720MFLOPs,是ShuffleNet的18倍。

表4 ShuffleNet和其他網路結構計算複雜度的對比

MS COCO物體檢測

在Faster-RCNN [5]框架下,和1.0 MobileNet-224網路複雜度可比的 ShuffleNet 2x,在600解析度的圖上的mAP達到24.5%,而MobileNet為19.8%,表明網路在檢測任務上良好的泛化能力

實際運行速度

最後作者在一款ARM平台上測試了網路的實際運行速度。在作者的實現里40MFLOPs的ShuffleNet對比相似精度的AlexNet實際運行速度快約13x倍。224x224輸入下只需15.2毫秒便可完成一次推理,在1280x720的輸入下也只需要260.1毫秒。

應用展望

很多重要的需要語義信息的計算機視覺任務,如目標檢測、物體識別等,都需要一個好的「基礎模型」作為特徵提取器。在移動設備越發重要的今天,在其之上運行的視覺演算法模型會越多、準確率要求會越來越高。無論目標檢測和識別、人臉檢測和識別,還是圖片風格化編輯、美顏,抑或是直播用戶行為分析,都離不開基礎模型的支持。好的基礎模型可以讓因為原始運算力需求過大而無法在手機上高效運行的模型能高效運行,將眾多不可能變為可能。

此外,其他常用的模型壓縮技術,如稀疏化、網路量化等技術也可以在ShuffleNet上應用,提高存儲效率和運行速度,進一步降低視覺演算法和應用的落地門檻。

參考文獻

[1] Fran?ois Chollet. Xception: Deep learning with depthwise separable convolutions. arXiv:1610.02357, 2016.

[2] Saining Xie, Ross Girshick, Piotr Dollár, Zhuowen Tu, and Kaiming He. Aggregated residual transformations for deep neural networks. arXiv:1611.05431, 2016.

[3] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 770–778, 2016.

[4] Howard, Andrew G., et al. "Mobilenets: Efficient convolutional neural networks for mobile vision applications." arXiv preprint arXiv:1704.04861 (2017).

[5] Ren, Shaoqing, et al. "Faster R-CNN: Towards real-time object detection with region proposal networks." Advances in neural information processing systems. 2015.

點擊閱讀原文查看新智元招聘信息


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

「10億+數據集,ImageNet千倍」深度學習未來,谷歌認數據為王
「谷歌大腦實習一周年」50 篇論文看機器學習、計算機視覺和自然語言趨勢
CVPR清華大學研究,高效視覺目標檢測框架RON
谷歌重磅發2017學術影響因子:AI、視覺、機器人TOP20

TAG:新智元 |

您可能感興趣

結合符號主義和DL:DeepMind提出端到端神經網路架構PrediNet
結合符號主義和深度學習,DeepMind提出新型端到端神經網路架構 PrediNet
SSH客戶端神器MobaXterm,該拋棄putty、Xshell和CRT了
搭載驍龍710處理器vivo NEX跑分曝光,新一代中端神U
三星A9 Star評測:顏值性能均衡 衝擊線下的中端神機?
三星 A9 Star 體驗:顏值性能均衡,衝擊線下的中端神機?
比魅族X8便宜,比vivoZ3好看,漸變色+中端神U!
沿襲旗艦機設計,OPPO中端神機R15x評測體驗
三星A9 Star真機圖賞:線下的中端神機 顏值性能兼具
PC端神奇插件,谷歌訪問助手!
小米中端神機A2 Lite曝光!或將成為最強千元機?
又是OPPO首發?高通中端神U曝光:主頻2.6G,秒殺麒麟970?
新一代中端神U 驍龍670現身跑分網站:10nm工藝製程
反擊高通?聯發科中端神U——P60來了
下月發布,中端神U驍龍7150將使用8nm工藝,VIVO X25或將首發
新一代中端神U驍龍670,10nm工藝GPU性能暴增25%
三星中端神U發布:對飈麒麟970!煤油:魅族求你快用吧!
魅藍紅米竊喜:聯發科中低端神級CPU曝光 廉價且性能良心
中端神U+128G+無線充電+紅外人臉解鎖,僅1899元,吊打OPPOR15?
為新機讓路!viv中端神器Z3再降價,驍龍710+22.5W僅售千元