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

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可公式化为:

WC\times C矩阵,QC\times \frac{C}{R}矩阵,用于压缩输入,PC\times \frac{C}{R}矩阵,用于扩展输出,QP均为包含G个块的对角矩阵。\Phi\frac{C}{R}\times \frac{C}{R}排列矩阵,功能与shufflenet的shuffle channels操作一样。分解后的计算复杂度为\mathcal{O}=\frac{2C^2}{RG},上图展示的参数为C=18,R=2,G=3G的大小由维度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所示,随着GC的增加,E在减少。在两者的交点G=\sqrt{C/R}处,每个输出维度刚好只与每个输入维度连接了一次,其中\Phi的shuffle作用很大。从数学上来说,矩阵W可分为G\times G个秩为1的小矩阵,从小节开头处的分解示意图可看出,矩阵W(i,j)小矩阵实际为P矩阵的j列与Q^Tj行的矩阵相乘结果(去掉空格)。

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=1J=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)

  当JK很小时,整体的计算量会很轻量,论文设置为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_1G_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的性能十分强劲。



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

work-life balance.
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容