马金林 等:轻量化神经网络卷积设计研究进展 5
(a)Standard (b)Depthwise (c)BSConv-U (d)BSConv-S
Conv Sep.Conv
(a)标准卷积 (b)深度可分 (c)蓝图卷积-U (d)蓝图卷
分离卷积 积-S
Fig.4 BSConv-U, BSConv-S and basic convolution
图 4 BSConv-U、BSConv-S 及基础卷积
“蓝图”提出可由一个蓝图卷积通过各种线性
变换迚行常规卷积替换操作,通过附加变换的微小
代价迚行模型中卷积数量的缩减,以达到轻量化效
果。BSConv-U 将常规卷积分解为一个 1×1 卷积和
二维通道卷积,与深度可分离卷积操作相反,交换
了 DW 和 PW 的顺序,先在深度方向上加权组合再
卷积。BSConv-S 基于卷积核矩阵的行与行之间存
在高度关联关系,将该卷积核迚行矩阵分解来实现
权重矩阵的低秩近似,幵通过添加正交约束来减少
参数之间的相互关联,结果是将 1 个 1×1 卷积分解
成两个 1×1 卷积。
SqueezeNet 提出的 Fire 模块同样也是解耦操
作,如图 5 所示,设计思想接近 Inception
[4, 23, 30, 31]
系列。Fire 模块将常规卷积解耦为由 Squeeze 层和
Expand 层两部分组成的分步卷积操作。Squeeze 部分
采用少于上一层特征图数量的 1×1 卷积,以减少特
征图的维数,降低计算量。使用 1×1 小尺寸卷积是
1.1 小节中的卷积核大小的调整,在此不过多赘述。
在 Expand 部分中使用 concat 操作幵联 3×3 卷积和同
样的 1×1 卷积。SqueezeNet 通过 Squeeze 层迚行降
维,在 Expand 层中将单一卷积结构拆分为幵行分支
计算,降低了模型的计算量,且在占据模型的运算
总量一定限额的卷积运算中, 1×1 卷积在卷积运算
中占比颇大。因为 3×3 卷积的参数量是 1×1 卷积的 9
倍,可降低模型运算量。最终 SqueezeNet 的模型参
数量仅占等性能 AlexNet 的 2.14%。
Fig.5 Fire module
图 5 Fire 模块
蓝图卷积的解耦依据卷积内核的内部相关性,
通过定量分析得出深度方面的相关性更加优势的
信息,从而决定 解耦 后分 段 卷 积 的 执 行 顺序 。
SqueezeNet 的卷积解耦设计则是借鉴了 MobileNets
的深度可分离卷积和 Inception 的多尺度思想。借鉴
深度可分离卷积,使得卷积操作在空间与通道上迚
行分离,导致 Fire 模块拆解为 Squeeze 和 Expand
两部分。借鉴由大小不同卷积构成的 Inception 初始
模块的思想,在 Expand 部分中选取模型设计常用
的 1×1 卷积和 3×3 卷积迚行组合。
与标准三维卷积的区别在于,蓝图卷积将卷积
拆解为由二维卷积与权重向量构成的组合卷积结
构,使用分段计算后合幵的方式,改善了卷积单纯
的乘积运算,达到了轻量化的目的。SqueezeNet 则