ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

?前言:这篇论文旨在以极低的计算成本解决性能大幅下降的问题。提出了微分解卷积,将卷积矩阵分解为低秩矩阵,将稀疏连接整合到卷积中。提出了一个新的动态激活函数-- Dynamic Shift Max,通过最大化输入特征图与其循环通道移位之间的多个动态融合来改善非线性。

在这两个新操作的基础上,得到了一个名为 MicroNet 的网络系列,它在低 FLOP 机制中实现了比现有技术显着的性能提升。在 12M FLOPs 的约束下,MicroNet 在 ImageNet 分类上达到了 59.4% 的 top-1 准确率,比 MobileNetV3 高 9.6%。

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

代码:https://github.com/liyunsheng13/micronet

欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

 

论文出发点


高效 CNN 架构的最新进展成功地将 ImageNet 分类的计算成本从 3.8G FLOPs (ResNet-50) 降低了两个数量级到大约 40M FLOPs(例如 MobileNet、ShuffleNet),性能下降合理。

然而,当进一步降低计算成本时,它们会遭受显着的性能下降。例如,当计算成本分别从 44M 下降到 21M 和 12M MAdds 时,MobileNetV3 的 top-1 准确率从 65.4% 大幅下降到 58.0% 和 49.8%。

这篇论文的目标是将极低 FLOP 机制下的精度从 21M 降到 4M MAdds,这标志着计算成本降低到另一个数量级。

处理极低计算成本(4M-21M FLOPs)的问题非常具有挑战性,考虑到输入数据大小为 224×224x3,在第一层 3 × 3 卷积、输出通道8的操作上就消耗了 2.7M MAdds。 剩余的资源太有限,无法设计有效分类所需的卷积层和 1,000 类分类器。 

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

如上图所示,减少现有高效 CNN(例如 MobileNet 和 ShuffleNet)的宽度或深度的常见策略会导致严重的性能下降。

这篇论文专注于新的算子设计,同时将输入分辨率固定为 224×224,预算成本为 4M FLOPs。

 

创新思路


这篇论文从两个角度处理极低的 FLOPs:节点连接性(node connectivity)和非线性(non-linearity),这与网络宽度和深度有关。 

首先,降低节点连接以扩大网络宽度为给定的计算预算提供了一个很好的权衡。其次,依靠改进的层非线性来补偿减少的网络深度,这决定了网络的非线性。这两个因素促使设计更有效的卷积和激活函数。

 

Methods


Micro-Factorized Convolution

分为两部分:Micro-Factorized Pointwise Convolution和 Micro-Factorized Depthwise Convolution,两者再以不同方式组合。

 

Micro-Factorized Pointwise Convolution


论文提出了微分解卷积 (MF-Conv) 将逐点卷积分解为两个组卷积层,其中组数 G 适应通道数 C 为:G = sqrt(C/R)

其中 R 是两者之间的通道缩减比。

对于给定的计算成本,该等式在通道数量和节点连接之间实现了良好的折衷。

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

如上图所示,输入通道数C分为G组,G组再通过中间一个 (C/R × C/R )的置换矩阵Φ 降低通道数,这个置换矩阵类似于shufflenet中的打乱通道顺序的操作。

 

Micro-Factorized Depthwise Convolution


ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

这个部分是引用Inception_v2中的分解卷积,在使用Depthwise的基础上,将KxK卷积核分为Kx1和1xK两部分。

 

Micro-Factorized pointwise 和 depthwise 卷积可以以两种不同的方式组合:(a) 常规组合,和 (b) lite 组合。 

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

前者只是将两个卷积连接起来。 上图所示的 lite 组合使用微分解深度卷积来扩展通道数量,通过为每个通道应用多个空间滤波器。 然后应用一组自适应卷积来融合和压缩通道数。 与其常规组合方式相比,它通过节省通道融合(pointwise)计算在学习空间过滤器(depthwise)上花费更多资源,经验证明这对于实现较低的网络层更有效。

 

Dynamic Shift-Max


考虑到Micro-Factorized pointwise 卷积更注重组内的连接,因此提出Dynamic Shift-Max,这是一种新的动态非线性,用于加强由Micro-Factorized创建的组之间的联系。

Dynamic Shift-Max 输出 K 个融合的最大值,每个融合组合多个 (J) 组位移为

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

 

其中J表示组数,i表示通道数,K表示融合后的输出数量。当J=K=2时,可以在准确率和复杂度之间取得较好的折衷。

这个公式用一句话来解释就是,每J个组,对每组的x进行加权求和,共K个融合,然后取K个中的最大值作为第i个通道上的激活函数值。

这样,DY-Shift-Max 实现了两种形式的非线性: (a) 输出 J 组的 K 个融合的最大值,以及 (b) 通过动态参数。

第一个非线性是对 Micro-Factorized pointwise 卷积的补充,它侧重于每个组内的连接,加强组之间的连接。第二个使网络能够根据输入 x 调整这种强化。这两个操作增加了网络的表示能力,补偿了减少层数所带来的损失。

 

MicroNet


ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

 

Conclusion


ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

在 12M FLOPs 的约束下,MicroNet 在 ImageNet 分类上达到了 59.4% 的 top-1 准确率,比 MobileNetV3 高 9.6%。

 

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

对 ImageNet 分类的评估。左:top-1 准确率与 FLOPs。右图:top-1 准确率与延迟。注意添加了 Mo bileNetV3 ×0.75 以方便比较。MicroNet 优于 MobileNetV3,尤其是在计算成本极低的情况下(当 FLOPs 小于 15M 或延迟小于 9ms 时,top-1 精度提高 5% 以上)。

 

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

动态 Shift-Max 与 ImageNet 上的其他激活函数的比较。

 本文来源于公众号 CV技术指南 的论文分享系列。

?欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

在公众号中回复关键字 “技术总结”可获取公众号原创技术总结文章的汇总pdf。




ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别?

其它文章

CV技术指南--精华文章汇总分类

神经网络超参数的调参方法总结

CVPR2021 | 重新思考BatchNorm中的Batch

ICCV2021 | 重新思考视觉transformers的空间维度

CVPR2021 | Transformer用于End-to-End视频实例分割

ICCV2021 |(腾讯优图)重新思考人群中的计数和定位:一个纯粹基于点的框架

卷积神经网络的复杂度分析

2021年小目标检测最新研究综述

计算机视觉中的自注意力

综述专栏 | 姿态估计综述

漫谈CUDA优化

为什么GEMM是深度学习的核心

使用深度神经网络为什么8位足够?

经典论文系列--胶囊网络:新的深度学习网络

经典论文系列 | 目标检测--CornerNet & 又名 anchor boxes的缺陷

如何看待人工智能的泡沫

使用Dice loss实现清晰的边界检测

PVT--无卷积密集预测的多功能backbone

CVPR2021 | 开放世界的目标检测

Siamese network总结

视觉目标检测和识别之过去,现在及可能

在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?

计算机视觉专业术语总结(一)构建计算机视觉的知识体系

欠拟合与过拟合技术总结

归一化方法总结

论文创新的常见思路总结

CV方向的高效阅读英文文献方法总结

计算机视觉中的小样本学习综述   

知识蒸馏的简要概述   

?ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

上一篇:Python - 面向对象编程 - 反射 hasattr、getattr、getattr、delattr


下一篇:pandas库read_csv常用参数讲解