SqueezeNet: Alexnet-level accuracy whith 50x Fewer Parameters And < 0.5MB Model Size

SqueezeNet: Alexnet-level accuracy whith 50x Fewer Parameters And < 0.5MB Model Size

本篇博文主要是對之前看過的深度模型壓縮論文的整理。本文在ICLR 2017 under review。論文作者:Forrest N. Iandola , Song Han, Matthew W. Moskewicz, Khalid Ashraf, William J. Dally, Kurt Keutzer其中Song Han的論文(Deep compression: Compressing DNNs with pruning, trained quantization and huffman coding.)在深度模型壓縮上取得state-of-the-art。

論文內容簡介

  • 本文提出了一種新的網絡結構,作者將其成爲SqueezeNet,該模型大小上遠小於AlexNet爲參數所佔空間大約是AlexNet的50分之一,但其效果相對與AlexNet沒有下降(在某些問題上略有提升)。此外該模型可以使用前面提到的Deep Compression方法繼續壓縮使其參數佔用空間大小小於0.5MB( 其中壓縮前約爲4.8MB, ALexNet約爲240MB)並且不損失精度(這個很贊,雖然AlexNet在ImageNet 數據集上已經被遠遠的拋在後面)。

小模型的優勢

  1. 提高分佈式訓練的效率,深度模型進行訓練時參數數量與機器間通信成正比,參數越少訓練時間可越短
  2. 便於客戶端更新,這個優勢顯而易見,對手機等移動設備來說這個優勢很大。
  3. 利於嵌入式部署(FPGA),FPGA通常有較小的存儲空間

設計策略

  1. 使用更小的卷積核。深度模型卷集成共享卷積核,卷積核越小參數顯然越少。
  2. 減少channel 數,這個也是很明顯的
  3. 推遲下采樣,作者認爲推遲下采用可以獲得large activation map這樣能夠使得模型不需要那麼“深”。

網絡結構

  • Fire Module
    SqueezeNet 之所以參數很少,就在於作者自行設計了Fire Module,其實就是兩層連在一起成爲一個模塊。
    前面提到過的設計策略中第一條就是使用更小的卷積核,因此在Fire Module中包含的第一層就是採用1*1卷積核,作者稱該層爲壓縮層(squeeze layer) 緊跟壓縮層的時作者稱爲拓展層(expand layer)該層包含兩種卷積核,1*1卷積核以及3*3卷積核,該層將不同卷積核的產生的特徵圖合併輸出。
    簡單來說,Fire Module = Squeeze layer + expand layer。
    對於深度模型來說,所謂的模型結構很大程度上指的是卷積層(FC層)的數量以及卷積核的大小和數目和FC層連接情況。對應與Fire Module,我們關心的時壓縮層卷積核的數量以及拓展層兩種卷積核的比例,關於這個作者做了實驗進行測試,稍後再講,下面先說一下squeezeNet的整體網絡結構。

  • 模型整體結構
     SqueezeNet 包含兩個卷積層,9個FireModule和3個下采樣層 。其中輸入數據大小爲224*224*3,第一層爲卷積層採用96個大小爲7*7的卷積核步長爲2,緊跟着一個下采用層使用maxpool 大小爲3*3步長爲2,然後是3個fire module,再然後是下采樣層,4個Fire Module,下采樣層maxpool,再跟一個Fire Module,一個卷積層,最後一層是下采樣層使用avaverge pool。值得注意的是SqueezeNet沒有全連接層這也是它模型能夠如此之小的原因,在深度模型中卷積層因爲卷積核共享相比與全連接層(FC層)有更少的參數,但卷積層佔大量的計算。
     
    這裏寫圖片描述

模型評估及探索

由於之前關於模型壓縮的論文大都集中於ALexNet上,本文作者也使用AlexNet作爲評估的baseline,具體見下表:

這裏寫圖片描述

SR: squeeze ration,squeeze層filter的數目與expand層layer數目之比
這裏寫圖片描述

總結

這篇文章中作者提出一種新的網絡結構稱爲squeezeNet,相比於AlexNet其參數更少,並且保證模型性能與AlexNet相當。此外通通過使用deep compression 的方法,能夠對模型進一步進行壓縮,並且不損失精度。
    -

第一次寫博客,如有不足之處敬請指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章