导读目前在深度学习领域主要分为两类,一派为学院派(Researcher),研究强大、复杂的模型网络和实验方法,旨在追求更高的性能;另一派为工程派(Engineer),旨在将算法更稳定、更高效的落地部署在不同硬件平台上。 因此,针对这些移动端的算力设备,如何去设计一种高效且精简的网络架构就显得尤为重要。从2017年以来,已出现了很多优秀实用的轻量级网络架构, 但是还没有一个通用的项目把这些网络架构集成起来。本项目可以作为一个即插即用的工具包,通过直接调用就可以直接使用各类轻量级网络结构。 本项目主要提供一个移动端网络架构的基础性工具,避免大家重复造轮子,后续我们将针对具体视觉任务集成更多的移动端网络架构。希望本项目既能让深度学习初学者快速入门,又能更好地服务科研学术和工业研发社区。 (欢迎各位轻量级网络科研学者将自己工作的核心代码整理到本项目中,推动科研社区的发展,我们会在readme中注明代码的作者~) 后续将持续更新模型轻量化处理的一系列方法,包括:剪枝,量化,知识蒸馏等等 Github地址:https://github.com/murufeng/awesome_lightweight_networks安装使用pip install light_cnns 项目目录MobileNets系列本小节主要汇总了基于Google 提出来的适用于手机端的网络架构MobileNets的系列改进,针对每个网络架构,我将主要总结每个不同模型的核心创新点,模型结构图以及代码实现. MobileNetV1MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNetv1模型是Google针对移动端设备提出的一种轻量级的卷积神经网络,其使用的核心思想便是depthwise separable convolution(深度可分离卷积)。具体结构如下所示:
MobileNetv2MobileNetV2: Inverted Residuals and Linear Bottlenecks
mobilenetv2 沿用特征复用结构(残差结构),首先进行Expansion操作然后再进行Projection操作,最终构建一个逆残差网络模块(即Inverted residual block)。
网络模型结构如下:
import torch MobileNetv3Searching for MobileNetV3
核心改进点:
具体网络结构如下:
MobileNextRethinking Bottleneck Structure for Efficient Mobile Network Design 网络模型结构如下:
import torch ShuffleNet系列ShuffleNetv1ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
网络模型结构如下:
ShuffleNetv2
网络模型结构如下:import torch 华为诺亚轻量级网络系列AdderNet:Do We Really Need Multiplications in Deep Learning?一种几乎不包含乘法的神经网络。不同于卷积网络,本文使用L1距离来度量神经网络中特征和滤波器之间的相关性。由于L1距离中只包含加法和减法,神经网络中大量的乘法运算可以被替换为加法和减法,从而大大减少了神经网络的计算代价。此外,该论文还设计了带有自适应学习率的改进的梯度计算方案,以确保滤波器的优化速度和更好的网络收敛。在CIFAR和ImageNet数据集上的结果表明AdderNet可以在分类任务上取得和CNN相似的准确率。 网络模型结构如下:
GhostNet:More Features from Cheap Operations
简介该论文提供了一个全新的Ghost模块,旨在通过廉价操作生成更多的特征图。基于一组原始的特征图,作者应用一系列线性变换,以很小的代价生成许多能从原始特征发掘所需信息的“幻影”特征图(Ghost feature maps)。该Ghost模块即插即用,通过堆叠Ghost模块得出Ghost bottleneck,进而搭建轻量级神经网络——GhostNet。在ImageNet分类任务,GhostNet在相似计算量情况下Top-1正确率达75.7%,高于MobileNetV3的75.2% 网络模型结构如下:代码实现import torch 轻量级注意力网络架构Coordinate Attention for Efficient Mobile Network Design
针对如何有效提升移动网络的卷积特征表达能力以及通道注意力(如SE)机制能够有效建模通道间相关性但忽视了位置信息的问题,本文提出了一种新颖的注意力机制:Coordinate Attention,它通过提取水平与垂直方向的注意力特征图来建模通道间的长距离依赖关系,而且水平与垂直注意力还可以有效地提供精确的空间位置信息。 Code
精彩内容待更新欢迎大家follow和star该项目地址,我们会持续跟踪前沿论文工作,若项目在复现和整理过程中有任何问题,欢迎大家在issue中提出! Github地址:https://github.com/murufeng/awesome_lightweight_networks |
|