首页 > 其他分享 >轻量化CNN网络 - ShuffleNet

轻量化CNN网络 - ShuffleNet

时间:2024-01-18 14:23:47浏览次数:26  
标签:GConv 网络 ShuffleNet 轻量化 MAC CNN FLOPs V2

1. ShuffleNet V1

论文:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

网址:https://arxiv.org/abs/1707.01083

提出了``Channel Shuffle`的思想,在Shuffle Unit中全是GConv和DWConv。

GConv虽然能够减少参数与计算量,但GConv中不同组之间信息没有交流。

在ResNeXt网络中,PWConv的计算量占据了全部计算量的$93.4%$。使用的GConv的计算量是比较少的。

所以,在ShuffleNet V1中,作者将所有的升维和降维的$1\times1$的卷积全部换为了GConv。

图(b)为stride=1的情况,图(c)为stride=2的情况。

ShuffleNet V1网络结构


2. ShuffleNet V2

论文:ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

网址:https://arxiv.org/abs/1807.11164

补充:

FLOPS:每秒浮点运算次数,可以理解为计算的速度,是衡量硬件性能的一个指标。

FLOPs:浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。(1GFLOPs = $10^9$FLOPs)

  • 在ShuffleNet V2论文中,作者提出,计算复杂度,不能只看FLOPs,还要参考其他的一些指标。(最近读的一篇论文:Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks指出提高网络速度,不仅要降低网络的FLOPs,同时要提升FLOPS,因此提出了一种新型的PConv,提出了一种新的网络FasterNet,论文网址:https://arxiv.org/abs/2303.03667)

  • 作者提出了4条设计高效网络的准则。

  • 提出了新的block设计。

4条设计高效网络的准则

1.Equal channel width minimizes memory access cost(MAC)

当卷积层的输入特征矩阵与输出特征矩阵channel相等时,MAC最小(保持FLOPs不变时)

2.Excessive group convolution increase MAC

当GConv的groups增大时(保持FLOPs不变时),MAC也会增大。

3.Network fragmentation reduces degree of parallelism

网络设计的碎片化(分支)程度越高,速度越慢

虽然碎片化可以提高我们网络的准确率,但是同时也会降低网络的效率。

4.Element-wise operations are non-negligible

Element-wise操作带来的影响是不可忽略的。

Element-wise操作包括:ReLU、AddTensor(相加操作)、AddBias(使用偏执)等。这种操作的特点是,FLOPs很小,但是MAC很大。

根据4条准则,ShuffleNet对网络进行了更新。

(a)(b)为shufflenet V1,(c)(d)为ShuffleNet V2中stride分别为1和2的两种情况。

ShuffleNet V2网络结构

标签:GConv,网络,ShuffleNet,轻量化,MAC,CNN,FLOPs,V2
From: https://www.cnblogs.com/mango1698/p/17972412

相关文章

  • 【动手学深度学习_李沐】笔记:(五)卷积神经⽹络(convolutional neural network,CNN)
    【五、卷积神经网络】笔记1.从全连接层到卷积特点(沃尔多检测器):①平移不变性:不管出现在图像中的哪个位置,神经⽹络的底层应对相同图像区域做出类似的响应,因此能够以相同的⽅式处理局部图像②局部性:神经⽹络的底层只探索输⼊图像的局部区域,这些局部特征可以融会贯通,在整个......
  • 【代码复现(吐槽向)】Revisiting a Methodology for Efficient CNN Architectures in Pr
    【论文写不出来,痛苦中】这篇文章是我看到框架最简单,效果最好的对于公开数据集的攻击没有之一。代码:KULeuven-COSIC/TCHES20V3_CNN_SCA(github.com)吐槽:1坑:TF的版本问题,有了torch,谁用TF,但是偏偏GITHUB上所有的SCA的代码都是TF写的,还有丧心病狂TF1.x,版本安装几十年,不如选一个服......
  • 深度学习3D网格分割网络---MeshCNN
    MeshCNN是2019年提出的直接在3DMesh上进行分类和分割的网络,MeshCNN在3D网格上定义了定义了卷积和池化层,依据三维模型边的连通关系将其转换为一个图来研究。最终能够在来自SHREC11数据集的30个类上达到98.6%的精度,并且在部件和人体数据集上有很好的分割性能。论文主页:https://ra......
  • Yolov5 + Siamese 孪生神经网络 or CNN 图像分类训通杀点选验证码
    声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请在公众号【K哥爬虫】联系作者立即删除!前......
  • 轻量化动态编译库 Natasha v8.0 正式发布!
    .NET8.0与动态编译Hello各位小伙伴,我于2024年1月10日发布了Natasha一个全新的里程碑版本v8.0,对于老用户而言,此次发布版本号跨度较大,是因为我决定使用新的版本号计划,主版本号将随Runtime版本号的增加而增加。浅谈.NET8.0在.NET8.0Runtime方向的深度解析文章出来......
  • [BIG2015] 2. 基于操作码序列和TextCNN分类
    目录构建词表构建整数索引语料构建dataset和dataloader构建训练函数和推理函数训练、推理和结果分析导入包:importpandasaspdimportosimportnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.feature_extraction.textimportCountVectorizer#For......
  • 基于CNN和双向gru的心跳分类系统
    CNNandBidirectionalGRU-BasedHeartbeatSoundClassificationArchitectureforElderlyPeople是发布在2023MDPIMathematics上的论文,提出了基于卷积神经网络和双向门控循环单元(CNN+BiGRU)注意力的心跳声分类,论文不仅显示了模型还构建了完整的系统。以前的研究论文总......
  • 经纬恒润轻量化网络自动化测试系统TestBase_DESKNAT重磅发布!
        经纬恒润桌面式网络自动化测试系统TestBase_DESKNAT2.0产品重磅发布! ......
  • 大模型被偷家!腾讯港中文新研究修正认知:CNN搞多模态不弱于Transfromer
    前言 在Transformer占据多模态工具半壁江山的时代,大核CNN又“杀了回来”,成为了一匹新的黑马。腾讯AI实验室与港中文联合团队提出了一种新的CNN架构,图像识别精度和速度都超过了Transformer架构模型。切换到点云、音频、视频等其他模态,也无需改变模型结构,简单预处理即可接近甚至超......
  • 人工智能大模型原理与应用实战:从YOLO到Faster RCNN
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让计算机自主地完成人类常见任务的学科。在过去的几年里,人工智能技术的发展取得了显著的进展,尤其是在深度学习(DeepLearning)领域。深度学习是一种通过神经网络模拟人类大脑工作原理的机器学习方法,它已经被广泛应用于图......