Page 11 - 《软件学报》2020年第9期
P. 11

2632                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

                         [9]
             最终,ShuffleNet 在与 AlexNet [18] 相同准确率的情况下,比后者快 13 倍.
             为了在保持网络规模的前提下进一步提高网络的性能,在后来的 MobileNet V2                     [10] 中引入了残差结构,并在
         残差结构上进行改造:首先,由于深度卷积本身不能改变特征的通道数,并且在输入通道较少的情况下无法较好
         地提取特征,因此在残差分支中,使用逐点卷积来先增加后减少特征通道数,使得深度卷积层工作在高维的特征
         之中,与之前的残差分支正好相反;其次,激活函数在高维的空间中能够有效地增加非线性能力,但是在低维空
         间中会破坏特征的表达能力,因为第 2 个逐点卷积起到降维的作用,所以去掉第 2 个逐点卷积之后的激活层,也
         就是使用了线性的 Bottleneck,如图 6 所示.由于提升了网络的表达能力,MobileNet V2              [10] 只需要 MobileNet V1 [8]
         的 2/5 的计算量就能达到相同的性能.










                         (a)   正常的 Residual Block,                      (b)  反残差结构(Inverted residual block),
                       残差分支通道数小于主分支通道数                    残差分支通道数大于主分支通道数
                                                   Fig.6
                                                   图 6
             Ma 等人  [12] 发现,FLOPs 作为一个间接的指标,只能大致地估测运行速度,与速度并不完全相符.主要原因有
         两方面:一是很多操作无法被算入 FLOPs 中,例如内存访问成本(memory access cost,简称 MAC)、并行化程度等;
         二是受到计算平台的影响.Ma 等人           [12] 提出了 4 种轻量级网络的指导方案:(1)  相同的输入输出通道数能够减少
         内存访问成本(MAC);(2)  过多的分组卷积会增加 MAC;(3)  网络的碎片化程度会减少并行化程度;(4)  不能忽
         略元素级操作.
                                         [9]
             根据以上 4 条方案,在 ShuffleNet V1 的基础上进行改进,如图 7 所示.

                                                        Channel
                                                          split
                  1×1 GConv              1×1 GConv                                1×1 GConv
                                                            1×1 Conv
                       BN ReLU                BN ReLU                   3×3 DWConv     BN ReLU

                   Channel                Channel                BN ReLU  (stride=2)  3×3 DWConv

                    shuffle   3×3 AVGPool  shuffle         3×3 DWConv        BN    (stride=2)

                                (stride=2)                                              BN
                                        3×3 DWConv                BN    1×1 GConv

                  3×3 DWConv             (stride=2)         1×1 Conv  BN ReLU     1×1 GConv

                         BN                     BN
                                                                BN ReLU                BN ReLU
                  1×1 GConv              1×1 GConv
                                                        Concat                 Concat
                       BN                    BN
                                                        Channel               Channel
                Add                   Concat             shuffle               shuffle
                   ReLU                  ReLU
                 (a)                   (b)                (c)                   (d)
                                                   Fig.7
                                                   图 7
             图 7(a)、图 7(b)分别为空间尺度不变的 ShuffleNet V1 Unit 和空间尺度变小的 ShuffleNet V1 Unit,图 7(c)、
         图 7(d)分别为空间尺度不变的 ShuffleNet V2 Unit 和空间尺度变小的 ShuffleNet V2 Unit.图 7(c)利用通道分割
   6   7   8   9   10   11   12   13   14   15   16