深度学习_经典网络_SqueezeNet详解

SqueezeNet论文地址

论文中作者在保证精度不损失的同时,将原始AlexNet压缩至原来的510倍。(Squeezenet比AlexNet参数少50倍,再使用了deep compression使得模型压缩至原来的510倍)

SqueezeNet的核心指导思想是——在保证精度的同时使用最少的参数。

这也是所有模型压缩方法的一个终极目标。

设计思想

  1. 1 × 1 1\times 1 1×1卷积核代替 3 × 3 3\times 3 3×3卷积核。理论上一个 1 × 1 1\times 1 1×1卷积核的参数是一个 3 × 3 3\times 3 3×3卷积核的 1 9 \frac{1}{9} 91,可以讲模型尺寸压缩9倍。
  2. 减少 3 × 3 3\times 3 3×3卷积的输入通道数。减少输入通道数不仅可以减少卷积的运算量,而且输入通道数与输出通道数相同时还可以减少MAC。
  3. 延迟下采样。分辨率越大的输入能够提供更多特征的信息,有利于网络的训练判断,延迟下采样可以提高网络精度。

网络架构

SqueezeNet提出了一种多分支结构——fire model。这个结构是由squeeze层和expand层构成的。squeeze层是由数s1个 1 × 1 1\times 1 1×1卷积组成,主要是通过 1 × 1 1\times 1 1×1卷积降低expand层的输入维度。expand层利用e1个 1 × 1 1\times 1 1×1和e3个 3 × 3 3\times 3 3×3卷积构成多分支结构提取输入特征,以此提高网络的精度(其中文中给出 e 1 = e 3 = 4 × s 1 e1 = e3 = 4\times s1 e1=e3=4×s1)。

深度学习_经典网络_SqueezeNet详解_第1张图片
其中,expand层中,把 1 × 1 1\times 1 1×1 3 × 3 3\times 3 3×3得到的feature map进行通道上的concat。

详细过程如下图所示:

深度学习_经典网络_SqueezeNet详解_第2张图片
可以看到feature map的输入和输出的分辨率是不变的,改变的仅仅是维数(通道数)。

这里的可调参数也是s1,e1和e3。

SqueezeNet整体网络结构如下图所示:

深度学习_经典网络_SqueezeNet详解_第3张图片
为什么保证 1 × 1 1\times 1 1×1卷积核和 3 × 3 3\times 3 3×3卷积核具有相同大小的输出, 3 × 3 3\times 3 3×3卷积核采用1像素的zero-padding和stride。

在fire9后采用50%的dropout。

由于全连接层的参数量巨大,因此借鉴NIN的思想,去除了全连接层而改用global average pooling层。

实验结果

深度学习_经典网络_SqueezeNet详解_第4张图片
注意:上图中最后一行使用了deep compression技术,对SqueezeNet进行了压缩,最终才会得到0.47M的模型,并且模型性能还不错。

Refference

轻量化网络:SqueezeNet

SqueezeNet详细解读

CNN 模型压缩与加速算法综述

你可能感兴趣的:(#,经典网络,深度学习,计算机视觉,机器学习,SqueezeNet,轻量化模型)