乐趣区

关于算法:MicroNet-低秩近似分解卷积以及超强激活函数碾压MobileNet-2020新文分析

论文提出应答极低计算量场景的轻量级网络 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 的限定下进行分辨率为 224×224 的 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 的性能非常强劲。



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

退出移动版