- 論文:https://arxiv.org/abs/1602.07360
- github: https://github.com/forresti/SqueezeNet
簡介:
- SqueezeNet是一個經典分類模型, 主要特點是模型參數量少, 在Imagenet上精度和AlexNet差不多,模型大小是AlexNet的 之一左右,壓縮後可以小於0.5M。
- SqueezeNet主要提出Fire模塊,可以有效減少參數量。
Method
- SqueezeNet主要從卷積核大小、卷積輸入通道大小兩方面減少參數量,優化下采樣方法最大化精度。
- 卷積核可以減少計算量,相對卷積核,減少9倍的參數量
- 減少卷積輸入通道,可以減少計算量
- 通過延遲下采樣,作者認爲大的feature map有利於提升分類精度。
Fire Module
- Filre module由兩部分組成:1) sequeeze layer 2) expand layer
- sequeeze layer主要由卷積輸出feature map, 對應method中第一點。
- expand layer 由 和卷積組合成,兩種卷積核輸出結果concat做爲輸出,這樣可以有效減少計算量, 對應method中第二點。
Model
- 模型分爲三種, 基礎模型最左邊,由2個conv,9個fire module, 3個max pool模塊組成。中間和最右邊一個主要是加入殘差塊。
實驗
- 參數表
- SequeezeNet 基礎模型大小爲4.3M
- 不同通道ratio和expand layer中 卷積數目比例在imagenet上分類精度。可以看出1.0ratio和37.5時精度最大。卷積核數目所佔比例上升導致模型變大,但是到37.5時候就不影響精度。
- 3個不同SequeezeNet在imagenet上分類精度,可以看出網絡2精度最大。top-1達到60.4%,模塊大小維持不變。
總結
- SequeezeNet參數量是AlexNet 且在imagenet上維持相等精度,對模型進行壓縮可以達小於0.5M(6bit),適用於FPGA和對內存要求小的計算設備,可以適用於目標檢測、自動駕駛等領域。