论文提出应答极低计算量场景的轻量级网络MicroNet,蕴含两个外围思路Micro-Factorized convolution和Dynamic Shift-Max,Micro-Factorized convolution通过低秩近似将原卷积分解成多个小卷积,放弃输入输出的连接性并升高连接数,Dynamic Shift-Max通过动静的组间特色交融减少节点的连贯以及晋升非线性,补救网络深度缩小带来的性能升高。从试验后果来看,MicroNet的性能非常强劲

起源:晓飞的算法工程笔记 公众号

论文: MicroNet: Towards Image Recognition with Extremely Low FLOPs

  • 论文地址:https://arxiv.org/abs/2011.12289

Introduction


  论文将钻研定义在一个资源非常缓和的场景:在6MFLOPs的限定下进行分辨率为224x224的1000类图片分类。对于MobileNetV3,原版的计算量为112M MAdds,将其升高至12M MAdds时,top-1准确率从71.7%升高到了49.8%。可想而知,6M MAdds的场景是非常刻薄的,须要对网络进行仔细的设计。惯例的做法可间接通过升高网络的宽度和深度来升高计算量,但这会带来重大的性能降落。
  为此,论文在设计MicroNet时次要遵循两个设计要领:1)通过升高特色节点间的连通性来防止网络宽度的缩小。2)通过加强非线性能力来弥补网络深度的缩小。MicroNet别离提出了Micro-Factorized Convolution和Dynamic Shift-Max来满足上述两个准则,Micro-Factorized Convolution通过低秩近似缩小输入输出的连接数但不扭转连通性,而Dynamic Shift-Max则是更强有力的激活办法。从试验后果来看,仅须要6M MAdds就能够达到53.0%准确率,比12M MAdds的MobileNetV3还要高。

Micro-Factorized Convolution


  Micro-Factorized Convolution次要是对MobileNet的深度拆散卷积进行更轻量化的革新,对pointwise convolution和depthwise convolution进行低秩近似。

Micro-Factorized Pointwise Convolution

  论文将pointwise convoluton分解成了多个稠密的卷积,如上图所示,先对输出进行维度压缩,shuffle后进行维度扩大,个人感觉这部分与shufflenet根本一样。这样的操作在保障输出与输入均有关联的状况下,使得输出与输入之间的连接数缩小了很多。

  假设卷积核$W$的输入输出维度雷同,均为$C$,Micro-Factorized Convolution可公式化为:

  $W$为$C\times C$矩阵,$Q$为$C\times \frac{C}{R}$矩阵,用于压缩输出,$P$为$C\times \frac{C}{R}$矩阵,用于扩大输入,$Q$和$P$均为蕴含$G$个块的对角矩阵。$\Phi$为$\frac{C}{R}\times \frac{C}{R}$排列矩阵,性能与shufflenet的shuffle channels操作一样。合成后的计算复杂度为$\mathcal{O}=\frac{2C^2}{RG}$,上图展现的参数为$C=18$,$R=2$,$G=3$。$G$的大小由维度$C$和降落比例$R$而定:

  公式2是由维度数$C$与每个输入维度对应输出维度的连接数$E$之间的关系推导所得,每个输入维度与$\frac{C}{RG}$个两头维度连贯,每个两头维度与$\frac{C}{G}$个输出维度连贯,因而$E=\frac{C^2}{RG^2}$。如果固定计算复杂度$\mathcal{O}=\frac{2C^2}{RG}$和压缩比例R,失去:

  公式3的可视化如图3所示,随着$G$和$C$的减少,$E$在缩小。在两者的交点$G=\sqrt{C/R}$处,每个输入维度刚好只与每个输出维度连贯了一次,其中$\Phi$的shuffle作用很大。从数学上来说,矩阵$W$可分为$G\times G$个秩为1的小矩阵,从大节结尾处的合成示意图可看出,矩阵$W$中$(i,j)$小矩阵理论为$P$矩阵的$j$列与$Q^T$的$j$行的矩阵相乘后果(去掉空格)。

Micro-Factorized Depthwise Convolution

  论文将$k\times k$深度卷积合成为$k\times 1$卷积与$1\times k$卷积,计算与公式1相似,$\Phi$为标量1,如上图所示,可将计算复杂度从$\mathcal{O}(k^2C)$升高为$\mathcal{O}(kC)$。

Combining Micro-Factorized Pointwise and Depthwise Convolutions

  论文提供了两种Micro-Factorized Pointwise Convolution和Micro-Factorized Depthwise Convolution的组合办法:

  • 惯例组合,间接将两种操作进行组合,这种状况下,两种操作的输入输出维度都是$C$。
  • lite组合,如上图所示,减少Micro-Factorized Depthwise Convolution的卷积核数,对输出进行维度扩大,而后用Micro-Factorized Pointwise Convolution进行维度压缩。

  绝对于惯例组合,lite组合的计算更高效,因为缩小了Pointwise卷积的计算量,足以补救depthwise卷积核的减少。

Dynamic Shift-Max


  论文提出Dynamic Shift-Max交融输出特色,综合输入维度对应的各分组的特色(循环偏移)进行非线性输入。因为Micro-Factorized pointwise convolution仅关注分组内的连贯,Dynamic Shift-Max可作为其补充。

Definition

  定义$C$维输出向量$x=\{x_i\}(i=1,\cdots, C)$,将输出分为$G$组,每组蕴含$\frac{C}{G}$维,$N$维向量的循环偏移可示意为$x_N(i)=x_{(i+N)} mod\ C$,将维度循环偏移扩大到分组循环偏移:

  $x_{\frac{C}{G}}(i,j)$对应第$i$维输出$x_i$对于$j$分组的偏移, Dynamic Shift-Max将多个($J$)分组偏移进行联合:

  $a^k_{i,j}(x)$为输出相干的参数,可由均匀池化接两个全连贯层简略实现。对于输入$y_i$,将对应每个分组的偏移维度进行$K$次交融,每次交融都有专属的$a^k_{i,j}(x)$参数,最初取交融后果的最大值。

Non-linearity

  Dynamic Shift-Max提供了两方面的非线性:

  • 输入$K$个的交融$J$个分组维度的后果中的最大值,相似于思考多种指标特色
  • 参数$a^k_{i,j}(x)$是输出相干的函数,这是动静的

  上述两个个性使得Dynamic Shift-Max表达能力更强,可能补救网络深度缩小带来的损失。最近提出的dynamic ReLU可认为是Dynamic Shift-Max的$J=1$特例,仅思考每个维度本身。

Connectivity

  Dynamic Shift-Max可能晋升组间的维度交换,补救MicroFactorized pointwise convolution只专一于组内连贯的有余。图4为简略的动态分组偏移$y_i=a_{i,0}x_{\frac{C}{G}}(i,0)+a_{i,1}x_{\frac{C}{G}}(i,1)$,$K=1$,$J=2$以及固定的$a^k_{i,j}$,留神排列矩阵$\Phi$与后面的不太一样。能够看到,只管这样的设计很简略,但仍然可能无效地晋升输入输出的关联性(矩阵$W$的秩也从1升为2)。

Computational Complexity

  Dynamic Shift-Max蕴含$CJK$个参数$a^k_{i,j}$,计算复杂度蕴含3局部:

  • 均匀池化(前面的两个全连贯输入输入为1,可疏忽):$\mathcal{O}(HWC)$
  • 生成公式5的参数$a^k_{i,j}(x)$:$\mathcal{O}(C^2JK)$
  • 对每个维度和特色图地位进行Dynamic Shift-Max: $\mathcal{O}(HWCJK)$

  当$J$和$K$很小时,整体的计算量会很轻量,论文设置为$J=2$以及$K=2$。

MicroNet Architecture


  论文设计了3种不同的Mircro-Block,外面均蕴含了Dynamic Shift-Max作为激活函数:

  • Micro-Block-A:应用lite组合,对分辨率较高的低维特色特地无效。
  • Micro-Block-B:在Micro-Block-A根底上加了一个 MicroFactorized pointwise convolution进行维度扩大,每个MicroNet仅蕴含一个Micro-Block-B。
  • Micro-Block-C:与Micro-Block-B相似,将lite组合替换为惯例组合,可能集中更多的计算在维度交融,如果输入输出维度一样,则减少旁路连贯。

  MicroNet的构造如表1所示,须要留神的是两种卷积的分组数$G_1$和$G_2$,论文将公式2的束缚改为$G_1G_2=C/R$。

Experiments: ImageNet Classification


  ImageNet上的后果。

  从MobileNet到MicroNet的批改比照,每个批改的晋升都很大,论文还有很多对于各模块的超参数比照试验,由趣味的能够去看看。

Conclusion


  论文提出应答极低计算量场景的轻量级网络MicroNet,蕴含两个外围思路Micro-Factorized convolution和Dynamic Shift-Max,Micro-Factorized convolution通过低秩近似将原卷积分解成多个小卷积,放弃输入输出的连接性并升高连接数,Dynamic Shift-Max通过动静的组间特色交融减少节点的连贯以及晋升非线性,补救网络深度缩小带来的性能升高。从试验后果来看,MicroNet的性能非常强劲。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】