轻量模型之SqueezeNet网络

简介

2016年2月,《AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size》 发表在ICLR-2017。
论文地址:https://arxiv.org/abs/1602.07360
模型地址:https://github.com/DeepScale/SqueezeNet
核心思想:

  1. 大量使用1x1卷机代替3x3卷积。减少参数和计算量。
  2. 使用squeeze层减少输入通道数。
  3. 将欠采样操作延后,可以给卷积层提供更大的激活图:更大的激活图保留了更多的信息,可以提供更高的分类准确率 。

核心结构

Fire module

本文使用fire module作为网络的基础模块。根据提出的三点策略:1,大量使用1x1卷积代替3x3,因此squeeze部分使用1x1代替3x3,减少参数。2. expand部分,使用s1x1 < e1x1 + e3x3, 这样squeeze layer可以限制输入通道数量,即以上提到的策略二。
轻量模型之SqueezeNet网络_第1张图片

网络结构

SqueezeNet 以conv1开始,然后使用 8个 fire模块,同时可以看出 pooling放在网络的较后部分,保留更大feature,对应策略三。左边第一个是堆叠fire模块的squeezeNet, 后面两个参考了ResNet结构,引入跳层。
轻量模型之SqueezeNet网络_第2张图片

网络参数表

下图,作者展示SqueezeNet的参数量,以maxpool1为例:输入是55x55x96的feature map, fire2 有squeeze部分有16个1x1conv, expand有64个1x1, 64个3x3.
因此一共参数有:(1196 + 1) * 16 + (1∗1∗16+1)∗64+(3∗3∗16+1)∗64=(1552+1088+9280)=11920。
轻量模型之SqueezeNet网络_第3张图片
进一步的采用模型压缩的方法,模型可达到0.5M。
轻量模型之SqueezeNet网络_第4张图片

你可能感兴趣的:(模型压缩与加速)