2021-08-20

阅读CV论文笔记--MicroNet: Improving Image Recognition with Extremely Low FLOPs

简介

在本文中介绍了MicroNet,它是一种高效的卷积神经网络具有极低的计算成本。在边缘设备上非常需要这样的低成本网络,但是通常会遭受明显的性能下降。

MicroNet基于2个设计原则来处理极低的FLOPs:

1、通过降低节点连接性来避免网络宽度的减小;
2、通过在每层引入更复杂的非线性来补偿网络深度的减小。
首先,提出Micro-Factorized卷积,将点和深度卷积分解为低秩矩阵,以便在通道数量和输入/输出连接性之间取得良好的平衡。其次,提出了一个新的激活函数,称为Dynamic Shift-Max,以通过最大化输入特征图与其圆形通道移位之间的多次动态融合来改善非线性。融合是动态的,因为它们的参数适用于输入。

基于Micro-Factorized卷积和动态Shift-Max,MicroNet系列在低FLOPs情况下比现有技术具有显著的性能提升。
在这里插入图片描述

相关工作

2.1、高效卷积
MobileNets将 k × k
卷积分解为深度卷积和点态卷积;ShuffleNets采用Group卷积和Channels随机简化PointWise Convolution;也有学者利用Butterfly transform逼近Pointwise Convolution;EfficientNet找到输入分辨率和网络宽度/深度之间的适当关系;MixNet在一个卷积中将多个内核大小混合在一起;AdderNet用加法代替了大量的乘法;GhostNet应用线性变换来生成ghost feature maps;Sandglass翻转反向残块结构,减少信息损失,并训练一个网络支持多个子网络。

2.2、高效推理
高效推理为每个输入自适应定制合适的子网络。并使用强化学习来学习控制器,以跳过现有模型的一部分。MSDNet允许基于预测可信度的简单样本提前退出。搜索最佳的MSDNet。采用图像分辨率实现有效的推理。

2.3、动态神经网络
动态网络通过对输入参数的自适应调整来提高模型的表达能力。HyperNet使用另一个网络为主网络生成参数。SENet通过压缩全局上下文重新衡量Channel。SKNet适应关注不同大小的卷积核。Dynamic 卷积是根据多个卷积核的关注程度对它们进行聚合的结果。Dynamic ReLU适应ReLU中两个线性函数的斜率和截距,使用分组全连接层直接生成卷积权值。将动态卷积从空间不可知扩展到空间特定。提出了一种动态群卷积算法,可对输入通道进行自适应分组。将动态卷积应用于实例分割。学习跨尺度的语义分割的动态路由。

3 MicroNet
在这里插入图片描述

设计原理

极低延迟同时限制了网络宽度和深度。如果把卷积层看作一个图,输入和输出之间的连接由核参数的加权。这里将连接性定义为每个输出节点的连接数。因此,连接的数量等于输出通道的数量和连接的乘积。当计算成本固定时,通道数便与连接数发生冲突。作者认为,两者之间的良好平衡可以有效地避免通道缩减,提高层的表达能力。因此,第1个设计原则是通过降低节点连通性来规避网络宽度的降低。我们通过在更小的尺度上分解点态和深度卷积来实现这一点。

当一个网络的深度显著降低时,它的非线性便会受到约束,导致性能下降。于是作者提出了第2个设计原则通过提高每层的非线性度来补偿网络深度的减小,这里通过设计一个新的激活函数(动态Shift-Max激活函数)来实现这一点。

3.2、 Micro-Factorized卷积
为了平衡通道数量和输入/输出的连接性。作者在一个更小的尺度上对PointWise和DepthWise的卷积进行因式分解。

1)、Micro-Factorized Pointwise卷积
在这里插入图片描述
文中提出Group自适应卷积来分解PointWise卷积。假设卷积核W具有相同数量的输入和输出通道。将核矩阵W分解为两个Group自适应卷积,其中群数G依赖于通道数C,从数学上可以表示为:
在这里插入图片描述
W—>C*C矩阵;
Q的shape为C X C/R,channel的压缩率为R;
P的shape为 C X C/R,扩展返回到C作为输出的通道数量。
Group数量不是固定的,他与通道数C和减少比R相适应:
在这里插入图片描述
这种平方关系是通过平衡通道C和输入/输出连接性得到的。
在这里插入图片描述
如图3所示,随着group数G的增加C增加E减少。当G=R时,两条线相交(C=E)此时每个输出通道与所有输入通道连接一次。将得到的卷积矩阵W在数学上划分为GXG块,每个块的秩为1

2)、Micro-Factorized Depthwise卷积
在这里插入图片描述
如图所示,将一个k x k 的深度卷积核分解成一个kx1 的核和一个1xk的核。每个通道W的核矩阵的形状为kxk 他被分解为kx1 向量P和1xk向量QT。Φ是一个标量值1.这种低秩近似将计算复杂度从O(k2C)降低到O(kC)
3)、结合Micro-Factorized Pointwise and Depthwise卷积
在这里插入图片描述

作者以2种不同的方式组合了微因数分解的Pointwise和Depthwise卷积:(a)规则组合和(b)lite组合。前者只是将两个卷积连接起来。lite组合使用微因子分解的Depthwise卷积通过对每个通道应用多个Spatial卷积核来扩展通道的数量。然后应用1组自适应卷积来融合和压缩通道的数量。lite组合更有效,因为它节省了来自通道融合的计算,以弥补学习更多的Spatial卷积核。
3.3、动态Shift-Max激活函数
本文还提出了一种新的增强非线性的激活函数。它能够动态地将输入特征图与其循环组移位融合,其中的一组通道移位。动态Shift-Max也加强了Group之间的联系。这是对专注于组内连接的微因数分解Pointwise卷积的补充。
设x=xi,(i=1,…,C)
表示一个输入向量(或张量),他有C个通道,被分成G个Groups每个Group都有C/R个通道。其中N通道的循环移位可以表示为
xN(i)=x(i+N)modC
通过定义Group循环函数将通道移位扩展为Group移位:
在这里插入图片描述
其中参数aki,j(x)
可以通过平均池化后的两个FC轻松实现,类似于SENet的实现方式

在这里插入图片描述
4.1、Micro-Block-A
Micro-Block-A使用了微分解点态和深度卷积的精简组合。它在分辨率较高的低电平上是有效的。请注意,信道的数量是通过深度上的微分解卷积来扩展的,而通过组自适应卷积来压缩的。
4.2、Micro-Block-B
Micro-Block-B用于连接MicroBlock-A和Micro-Block-C。与Micro-Block-A不同的是,它使用了完全Micro-Factorized pointwise卷积,其中包括两个Group自适应卷积。前者压缩了通道数量,而后者则增加了通道数量。
4.3、Micro-Block-C
Micro-Block-C使用常规组合,将深度上的Micro-Factorized pointwise卷积连接起来。它被用于更深处的位置,因为它在通道融合(pointwise)上比lite组合花费更多的计算。当维度匹配时使用跳接。
每个微块有四个超参数:核大小k、输出通道数C、Micro-Factorized pointwise瓶颈处的缩减比R、2个Group自适应卷积的Group数对(G1,G2)。
4.4、Stem Layer
作者重新设计了Stem层,以满足低FLOPs的约束。它包括一个3×1的卷积和一个1×3的群卷积,然后是一个ReLU。第2次卷积将通道的数量增加了R倍。这大大节省了计算成本。
5 实验
5.1 ImageNet分类结果
下表2比较了4种不同的计算代价下最先进的ImageNet分类。在这4个结果中MicroNet性能优于以前的工作。
在这里插入图片描述
5.2、激活函数实验

在这里插入图片描述
5.3、Pixel-Level分类
5.3.1 COCO keypoint detection
在这里插入图片描述
5.3.2 Semantic segmentation
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值