深度学习论文: MicroNet: Improving Image Recognition with Extremely Low FLOPs及其PyTorch实现
MicroNet: Enhancing Image Recognition Through Minimal FLOPs及其PyTorch实现
1 概述
MicroNet的提出主要的遵循以下两个设计原则:
- 减少节点间的连接密度但不减少节点数目
- 替代简单的非线性激活函数以抵消深度缩减所导致的精度损失

2 Micro-Factorized Convolution
Micro-Factorized convolution 将MobileNet中的point-wise 卷积以及 depth-wise 卷积分解为低秩矩阵,并实现了 通道数量与输入输出间的良好连通性平衡。

2-1 Micro-Factorized Pointwise Convolution
开发了一种新型的微分解卷积算法MF-Conv,并实现了将Pointwise卷积分解为两个独立的卷积层的过程。其中组数G对应于通道数量C由以下公式确定:

R是通道减少率,在保证计算复杂度的前提下(如图所示左侧部分展示了该模型的基本架构),该等式在平衡通道数量与节点连接程度方面表现出良好的性能。数学上,Pointwise卷积矩阵其结构近似于由G×G的小块矩阵构成的分块矩阵,并且每个子矩阵的秩均为1。这种设计确保了最低路径冗余并实现了最大的输入覆盖范围(如图所示左侧部分展示了该模型的基本架构),从而使得网络在相同的计算资源下能够支持更多数量的通道。
2-2 Micro-Factorized Depthwise Convolution
在深度可分离卷积的操作中,其本质是将单个K×K核拆分为一个横向和一个纵向的小核。通过这种拆分方式,在保持网络功能的同时显著降低了运算复杂度(如图所示)。
2-3 Lite Combination
先依次采用深度可分离卷积中的逐点操作前馈特征图并实现通道数量的增长,在此基础上再利用逐点操作完成缩减层的操作以减少通道数量。这种设计能够提高深度可分离卷积的整体计算效率,并且避免了通过深度可分离卷积优化后的点态操作所占用的计算资源。(如图2右侧所示)
3 Dynamic Shift-Max
该激活函数被采用以实现Dynamic Shift-Max的功能。它通过最大化其与循环通道偏移之间的多重动态融合关系来增强非线性特征的表现能力。其被称作动态的原因在于其参数设置与输入特征图之间存在密切关联
Dynamic Shift-Max(DY-ShiftMax),增强了由pointwise decomposition建立的组之间的连接。它作为一种补充手段存在,并且是因为它能够弥补微分解点状卷积在关注组内交互方面的不足。

其中a^{k}_{i,j}(x)是一个受输入变量x影响的动态权重参数。它通过一系列操作步骤生成:首先进行平均池化处理;随后应用两个连续的全连接层;最后通过激活函数Sigmoid进行归一化处理。
DY-Shift-Max就实现了两个方面的非线性:一是计算了各组融合后的最大值;二是采用了动态权重a^{k}_{i,j}(x)对各融合进行加权。
第一个非线性作为侧重于每一组内连通性的微分解pointwise卷积的基础补充,并增强了各组间的连接关系。通过网络结构设计使该类深度神经网络能够根据输入x优化这种增强功能,并进一步提升了模型的能力。这两种操作不仅增强了该类深度神经网络的表示能力,并且有效减少了计算量带来的性能损失。
4 MicroNet
4-1 Micro-Blocks
三个不同方式组合的Micro-Blocks

4-2 Architectures
不同参数和计算量的MicroNet实例化结构

