ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

1.背景:

? ? 深度學習以及大規(guī)模卷積神經(jīng)網(wǎng)絡已經(jīng)成為目前解決視覺識別任務最常見的辦法。我們發(fā)現(xiàn)許多精確的卷積神經(jīng)網(wǎng)絡在進行精確計算時,需要幾百個卷積層以及上千條通道,因此需要數(shù)以百萬計的FLOPs計算。

? ? 但是隨著近些年來在一些計算機視覺領域中,嵌入式設備對深度神經(jīng)網(wǎng)絡的需求日益增多,這更加鼓勵了我們對高效模型的設計靈感:如何在有限的計算能力范圍以內(nèi)(10或者100個MFLOPs)能達到最好的準確率以及最高的精確度,特別是實現(xiàn)在一些智能手機的平臺上。而這篇文章就是探索和設計一種高效率的基礎架構并將其作為一種計算能力的延伸。


2.模型對比:

? ? 在深度神經(jīng)網(wǎng)絡的模型設計過程中,相比于僅僅對卷積層進行累加,GoogleLeNet是選擇了增加卷積神經(jīng)網(wǎng)絡的深度從而降低計算復雜度。而Squeeze Net是在保持準確率的情況下減少了大規(guī)模的參數(shù)以及計算量。ResNet利用了高效的障礙物結構從而獲取出色的性能。另外SENet介紹了一種體系結構單元使用了較少的計算開銷從而提高性能。

? ? 因此基于之前的模型和算法,本文就是致力于為手機移動端這種只具備有限計算能力的設備,探索一種高效的設計模型。雖然mobile NASNet模型作為shuffeNet模型副本取得了客觀的性能(與ImageNet 錯誤分類的百分比相似)。但是其并沒有報導在微小模型上的結果,也沒有評估手機設備真實的推理時間。因此本文在其基礎上進行了改良并提供了實現(xiàn)辦法。


3.技術實現(xiàn):

3.1 Group Convolution(組卷積)? ?

? ? ?卷積神經(jīng)網(wǎng)絡通常是由一些重復的組成結構所建立的。其中,最先進的網(wǎng)絡例如Xception和ResNeXt引入了一些高效的深度可分卷積和組卷積,在結構模型層面上達到表現(xiàn)能力以及計算開銷之間完美的交互。

? ? ?但是在輕量級網(wǎng)絡中,昂貴的逐點卷積運算限制了許許多多具有復雜性約束的通道,而這些都將會嚴重損害準確度。為了解決這些問題,最直接的解決方案是稀疏通道連接,如圖(a),但是這個過程阻礙了信息流在通道組之間的交換,并削弱了它的性能表現(xiàn)。

? ? 所以本文決定允許組卷積從不同的群體中獲取輸入信息 ,如圖(b),這樣輸入與輸出通道可以徹底被聯(lián)系起來,另外特別的,對于之前組層產(chǎn)生的特征圖譜,此操作還可以將每一個組通道拆分成幾個子組,然后這些子組數(shù)據(jù)在下一層流入不同的組,這就有效且優(yōu)美的應用了通道重排操作。

? ? 如圖(c),假設一個卷積層中有g個組,且它的輸出有g*n個通道,我們可以重新改變輸出通道維度到(g,n),然后進行置換并整合作為下一層的輸入。注意到這個操作盡管這兩個卷積有許許多多的組,但依然會產(chǎn)生一些副作用,通道重排是可區(qū)分的,這就意味著在訓練的過程中可以很好的融合在網(wǎng)絡結構中。

3.2 Channel Shuffle Operation(通道重排操作)??

? ? 據(jù)我們所知,在很早以前的高效率模型設計的工作中,通道重排操作的理念被很少的提及,卷積神經(jīng)網(wǎng)絡庫cuda-convnet庫(是?Alex Krizhevsky?公開的一套CNN代碼,運行于Linux系統(tǒng)上,使用GPU做運算,)就倡導過“隨機稀疏卷積”操作。而通道重排的目的是使得組間信息能夠互相交流。

? ? 因此利用通道重排操作給我們帶來的優(yōu)勢,本文打算為一個小型網(wǎng)絡設計一個新穎的重排單元。本文的設計原理開始于瓶頸單元,如圖(a),他是一些殘余的小模塊。這些殘余分支,是一個3*3層的結構,我們應用了一種合理經(jīng)濟的3*3深度卷積計算模式在瓶頸特征圖譜上。

? ? 緊接著本文將原先1*1層的逐點組卷積替換成通道重排操作,然后建立通道重排單元,如圖(b),第二個組卷積的目的是恢復頻道維度以匹配快捷路徑。為了簡單起見,我們不會在第二個逐點卷積層下再次應用通道重排操作,這樣可以得到可比較的結果。通過使用BN(分批標準化)和非線性特征。在一些大幅度應用重排網(wǎng)絡的案例中,本文簡單的做了兩個修改,如圖(c):在快速匹配路徑的過程中加入了3*3的平均池化;用通道連接替換元素方式的添加,可以很容易地擴大通道尺寸,而不需要額外增加計算成本。

? ? 在一些輕量級的網(wǎng)絡工作中通常會沒有充足的通道來處理信息。而逐點組卷積正是運用了通道重排技術,使得在重排網(wǎng)單元里每一個元素都能被高效的計算,相比于ResNet和ResNeXt,在相同的設置下ShuffleNet結構具有較低的復雜度。

3.3 Model Acceleration(模型加速)

? ? 這個方向旨在保留預先訓練好的模型精確度的情況下加快速率。在之前訓練好的模型中通過修剪網(wǎng)絡連接以及減少通道冗余連接從而提升性能。在不改變參數(shù)的情況下,最優(yōu)化卷積算法被應用在快速傅里葉變換以及減少實踐生活中時間消耗的理論。提取大模型中的理論,有利于更加簡單的訓練小的模型。

? ? 模型加速的方法有:

1)? 修剪網(wǎng)絡,減少分支(pruningnetwork connections)。

2)? 對于一個訓練好的網(wǎng)絡(pre-trainedmodel),在性能不下降的情況下減少冗余的分支。

3)? 量化(quantization)和因式分解(factorization)加速。

4)? 在不改變參數(shù)的情況下,使用FFT算法對卷積進行加速。

5)? 提取網(wǎng)絡的精華部分,減小網(wǎng)絡模型。


4.實驗結果:

? ? 本文還通過做不同的對比性試驗,并以表格的形式說明了以下幾點:

? ? (1)在限定complexity的情況下,通過改變group(g)的數(shù)量來改變output channel的數(shù)量,更多的output channel一般而言可以提取更多的特征。

? ? (2)ShuffleNet可以使用更多的feature map不同大小的ShuffleNet在不同group數(shù)量情況下的分類準確率比較。其中一個重要結論是group個數(shù)的線性增長并不會帶來分類準確率的線性增長。但是發(fā)現(xiàn)ShuffleNet對于小的網(wǎng)絡效果更明顯,因為一般小的網(wǎng)絡的channel個數(shù)都不多,在限定計算資源的前提下,ShuffleNet可以使用更多的feature map。

? ? (3)channel shuffle的重要性。

? ? (4)幾個流行的分類網(wǎng)絡的分類準確率對比。


5. 評估:

5.1 逐點組卷積

較小的模型傾向于從團體中獲益更多。請注意,組卷積允許更多特征映射通道用于給定的復雜性約束,所以我們假設性能增益來自更寬的特征映射,這有助于編碼更多信息。 另外,較小的網(wǎng)絡涉及更薄的特征映射,這意味著它可以從放大的特征映射中獲益更多。

隨著組數(shù)的增加(具有更寬的特征圖譜),每個卷積濾波器的輸入通道變得更少,這可能損害表示能力。 有趣的是,我們還注意到對于ShuffleNet 0.25等較小的模型, 更大的群體數(shù)量趨于更好的結果一致,這表明更廣泛的功能圖譜為小型模型帶來更多好處。

5.2 通道重排VS無重排

重排操作的目的是為多組卷積層啟用交叉組信息流。很明顯,通道重排在不同的設置下都一直在提升分類的評分。 尤其是,當組號相對較大時(例如g = 8),帶有通道重排的模型表現(xiàn)優(yōu)于對手,顯示了跨組信息交換的重要性。

5.3 與其他模型對比

在本節(jié)中,我們調(diào)查各種構建塊例如convolutional units in VGG ,ResNet, GoogleNet , ResNeXt and Xception,并在相同的復雜性約束條件下與ShuffleNet進行比較。

5.4 與mobilenet和其他框架比較

結果表明,較簡易的模型shufflenet 仍然明顯優(yōu)于相應的MobileNet,這意味著ShuffleNet的有效性主要來自其有效結構,而不是深度。


6.總結

? ? ShuffleNet的核心就是用逐點組卷積,通道重排和深度分離卷積代替ResNet block的相應層構成了ShuffleNet 單元,達到了減少計算量和提高準確率的目的。channel shuffle解決了多個group convolution疊加出現(xiàn)的邊界效應,逐點組卷積和深度分離卷積主要減少了計算量。

? ? 伴隨著巨大的計算復雜度,更寬的通道(如ShuffleNet 1x),較大的分組對于移動端應用(只能進行有限的浮點操作,且具有并不高效的服務器集群)尤其重要。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,797評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,179評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,628評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,642評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,444評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,948評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,040評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,185評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,717評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,602評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,794評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,045評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,418評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,671評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,414評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,750評論 2 370

推薦閱讀更多精彩內(nèi)容

  • (首先給助教老師說聲抱歉,由于我們組的疏忽導致讀書報告交晚了,非常感激助教老師的提醒,謝謝!由于微信群文件沒有保存...
    劉博藝閱讀 1,486評論 0 2
  • 背景介紹 在現(xiàn)代視覺人工智能系統(tǒng)中,卷積神經(jīng)網(wǎng)絡起著至關重要的作用,但現(xiàn)許多CNNs模型的發(fā)展方向是更大更深,這讓...
    Winme閱讀 502評論 0 0
  • ShuffleNet:An Extremely Efficient Convolutional Neural Ne...
    ucascv7閱讀 1,325評論 0 0
  • 文章主要分為:一、深度學習概念;二、國內(nèi)外研究現(xiàn)狀;三、深度學習模型結構;四、深度學習訓練算法;五、深度學習的優(yōu)點...
    艾剪疏閱讀 21,891評論 0 58
  • 波波對我很好,我也會對他好,會不會寵壞他?我不怕,不寵他,怎么走近他心!溫柔是一種自信。自信來源于自身條件。不斷提...
    兩人闌閱讀 163評論 0 0