本文列出了一些经典的轻型神经网络架构设计的集合,广泛用于移动设备等。轻量级网络的评论文章通常包含模型压缩和处理技巧,可参阅以下系列文章

https://github.com/senbinyu/Computer_Vision_Literatures

1. 综述文献推荐

  • Cheng Yu et al., 2017, A survey of model compression and acceleration for deep neural networks

  • Cheng Jian et al., 2018, Recent advances in efficient computation of deep convolutional neural networks

  • Li Yahui et al., 2018, Lightweight Network Research Based on Deep Learning: A Review

2. 各种网络的综述

shuffleNet, 2018

  • v1, Zhang Xiangyu
    在ResNeXt中,使用组转换(几个通道); 在mobileNet中,是一个极端的情况,每个通道是一个组,分别进行传输。 在mobileNet-va论文中,1 * 1转换(逐点转换)占94%的MAdds。 ShuffleNet试图避免此问题。 而且,尚未利用不同信道之间的关系。 (组内的卷积不利于通道间信息交流)
  1. 通道转换(channel shuffle) 使用1 * 1组转换来替换1 * 1标准转换,以保存MAdds。 组数目,g通常不会太大,例如1,2,3,4,8等。太多的组可能导致每个组中的输入通道太少,从而可能导致性能变差。分成不同的group,然后洗牌式调换,permute,但是又不能用过多的group,否则会导致每组的通道太少

  2. 带有随机shuffle和不带有随机shuffle以及带有移动网络的随机播放之间的比较。 在保持相似的网络规模时,shuffleNet的性能优于VGG,ResNet,ResNeXt和mobileNet.作者对比了有无shuffle,明显的有shuffle的表现更好

Refer to paper ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

  • v2, Ma Ningning, Zhang Xiangyu, 2018
    FLOP只是影响模型速度等众多因素中的一种。在这里,作者为有效的cnn架构设计提出了更实用的指导原则。
  1. 使用内存访问成本(MAC参数)来衡量内存成本。 作者将单纯从FLOPs这个非直接指标衡量模型给转到MAC上,这个指标更能反映内存损失。MAC需要更小才能达到更高的速度。 有一些观察结果:G1 发现channel最好保持一致,因此通道号尝试相同(shuffleNet-v1中的bottleNeck与此相反);G2 group数目不能过大,g 组不能太大(在shuffleNet-v1中尝试更多组); G3 模型碎片化(像Googlenet的inception结构)会降低模型的并行能力,即网络碎片会降低并行度(mobileNet v2反对); G4 element-wise的操作会影响性能,逐个元素的操作是不可忽略的(深度使用ReLU6也是矛盾的)。一大堆观点都与之前的发现不太符合。

  2. 因此,做了一些修改,如下图所示。 这些操作均遵循上述准则。 例如,再次用1 * 1 conv替换1 * 1 group conv以遵循第二条规则,通道号尝试保持相同。 在这些指导下,shuffleNet-v2在准确性和速度上均取得了令人满意的结果。在此,尽量和发现的原则G1-G4一致

  3. 与densitytNet和condenseNet的联系。 特征通道的一半(当c’= c / 2时)直接通过该块并加入下一个块,例如densityNet和condenseNet中的feature复用。 它们都支持相邻层之间的连接比其他层更牢固

Refer to paper ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

MNASNet, Tan Mingxing et al., 2019

mobile NASNet,在ImageNet上是mobileNet-v2的1.8倍速度,pixel mobile的推理延迟为78ms。 但是,架构搜索的计算成本很高。

  1. 使用强化学习方法搜索架构,其准确性主要取决于架构的设计,而无需大量修改参数。 这表明搜索的体系结构是好的。 但是该架构类似于MobileNet-v2,这也意味着尽管搜索结构模仿了MobileNet,但人类的设计也非常不错,说明人工设计的网络架构也是非常精简有效的

Refer to paper MnasNet: Platform-Aware Neural Architecture Search for Mobile

MobileNet, Andrew G. Howard et al. 2017

  • v1, 适用于移动和嵌入式视觉应用的高效模型。 与squeezeNet相比,参数要少得多,准确性更高。
  1. 深度可分离卷积:两部分,1)深度卷积,对于M个通道,我们有M个内核,每个通道对应一个内核; 2)逐点卷积,我们使用1 * 1内核进行卷积,因此是逐点卷积,请参见下图。 这两个操作可以保存参数。 原来是M∗N∗DK∗DK∗imageSizeM * N * D_K * D_K * imageSizeM∗N∗DK​∗DK​∗imageSize,现在是M∗DK∗DK∗imageSizeM * D_K * D_K * imageSizeM∗DK​∗DK​∗imageSize + N∗M∗imageSizeN * M * imageSizeN∗M∗imageSize。 M是输入通道,N是输出通道

  2. 较薄的模型,即模型压缩。 模型收缩超参数α\alphaα,用于输入和输出通道。 ρ\rhoρ用于图像分辨率,但是ρ\rhoρ仅减少FLOP,但不减少参数数量。

  3. MobileNet可用于许多领域,例如对象检测,大规模地理定位,人脸属性。 在“人脸”属性中,蒸馏得到了验证,小型网络的行为类似于大型模型。

Refer to paper MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

  • v2, Mark Handler, Andrew Howard et al., 2018
    v1 有一些问题,深度转换包含许多0内核,这意味着训练不够好. (depthwise训出来的kernel有不少是空的,过小的kernel size加上ReLU的激活影响,0的部分无法恢复)

创新的部分是inverted residual structures + linear bottleneck, 得到了令人满意的结果 vs mobileNet-v1: 75ms vs 113ms; 3.4M vs 4.2M parameters; 72 vs 70.6 Top1 on ImageNet.

  1. inverted residual structure, 1 * 1扩展通道+ ReLU6,3 * 3深度转换+ ReLU6,然后1 * 1使用线性函子,删除激活以保持兴趣流形manifolds of interest,反向残差带有linerar bottleneck。 (低尺寸,ReLU会破坏感兴趣的流形,因此在这里使用线性函子)

Refer to paper MobileNetV2: Inverted Residuals and Linear Bottlenecks

  • v3, Andrew Howard et al., 2019
    我们要减少参数数量以及MAdds的推理时间。 MobileNet-v3在速度和准确性方面比v2更好。 例如,与MobileNetV2相比,MobileNetV3-Large在ImageNet分类上的准确度高3.2%,同时将等待时间减少了20%。
  1. MobileNet-v2 + SE block (如下图), SE学到了各渠道的重要性。

  2. 将自动搜索与新颖的架构相结合,以构建有效的模型。 平台感知的NAS用于逐块搜索,而NetAdapt用于逐层搜索。 在逐层搜索中,请使用较小的扩展大小。

  3. 网络改进,即重新设计计算量大的层。 最后一些层计算量很大。 修改它们以减少等待时间,同时保持准确性。 在下半部分(较深的层)中使用了硬振子激活函数来处理非线性问题,从而提高了准确性。

Refer to paper Searching for mobilenetv3

condenseNet, Huang Gao et al., 2018

denseNet is good, 但是CNN的冗余很多。 修剪一些多余的分支(无用的特征图)可以达到相似的精度,并且速度更快。

  1. 像ResNeXt,shuffleNet这样的群组转换可减少参数数量。 这里最特别的是在训练阶段的学习组转换(下图b中的1 * 1 L-conv)。 这里的置换就像shuffleNet中的shuffle操作一样,可以保持输入通道的多样性。

  2. 从训练开始起,如下图(b)所示进行权重调整,同时将conv分组在一起。 在确定了阶段2(选择组)之后,它是优化阶段。 在优化阶段,修剪不重要的功能。 第j个通道与第g个组连接,计算它们的平均权重并确定可以保留哪些连接。要衡量第j个channel的输入feature map和卷积核的第g个group之间的重要性,那么就用j和g这个group之间的所有连接(g这个group有多少个卷积核,就有多少个连接)的权重的平均绝对值衡量重要性,本质上就是求权值的L1范数.

  3. on cifar-10, cifar-100, ImageNet, 与许多CNN架构相比,其性能更好(更快,更准确),例如 shuffleNet-v1, mobileNet, ResNet etc.

Refer to paper Condensenet: An efficient densenet using learned group convolutions

Xception, Chollet, Francois, 2017

基于Inception-v3,由于它使用了深度可分离卷积,因此许多研究人员将其视为轻量级网络。 如果我们不想每次都设计初始架构,只需在一个模块上均匀地使用相同的架构,网络设计就会更容易。 (这个想法在其他网络,如mobileNet中很流行。)

  1. extreme inception. 从同等的初始结构,现在仅计算部分渠道, (group = xx in pytorch).

  2. 深度可分离卷积(最初来自phd论文:Laurent Sifre,Rigid-Motion Scattering For Image Classification),大大节省了参数。 通过均匀分离特征,下图中的参数可以是m * k + 3 * 3 * k,m是特征,k是核数。
    详细信息也可以在查看mobileNet。

Refer to paper Xception: Deep Learning with Depthwise Separable Convolutions

SqueezeNet, 2016

  1. 较小的神经网络具有许多优点:例如,在分布式培训期间,需要较少的跨服务器通信; 需要更少的带宽将新模型从云导出到自动驾驶汽车; 在内存有限的FPGA和其他硬件上进行部署更可行。 SqueezeNet通过减少50倍的参数在ImageNet上达到AlexNet级别的准确性。

  2. 策略:将3 * 3内核替换为1 * 1,减少3 * 3内核的输入通道。 这两种方式都试图减少参数数量。 在网络的后期进行下采样,以便卷积层具有较大的激活图,试图保持了尽可能高的精度。

  3. fire module, 第一层: squeeze, 1 * 1 kernels, 随后是 ReLU;第二层: expansion, 1 * 1 and 3 * 3 kernels together, then ReLU. 在此expansion是一块的,最后拼接

Refer to paper SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size

轻量化神经网络专题文献综述相关推荐

  1. 轻量化神经网络总结:SqueezeNet、Xception、MobileNet v1、MobileNet v2、ShuffleNet v1、ShuffleNet v2

    2016.02 伯克利&斯坦福提出 SqueezeNet 在ImageNet上实现了与Alexnet相似的效果,参数只有其1/50 核心点: 1x1卷积核代替3x3卷积核 Squeeze La ...

  2. 轻量化神经网络篇(SqueezeNet、Xception、MobileNet、ShuffleNet)

    写在前面:此文只记录了下本人感觉需要注意的地方,不全且不一定准确.详细内容可以参考文中帖的链接,比较好!!! 最近看的轻量化神经网络:SqueezeNet.Xception.MobileNet.Shu ...

  3. 目标检测YOLO实战应用案例100讲-基于轻量化神经网络的目标检测算法研究与应用

    目录 基于轻量化深度神经网络的目标检测方法研究 基于深度学习的目标检测方法

  4. 大规模神经网络最新文献综述:训练高效DNN、节省内存使用、优化器设计

    ©作者 | Julia Gusak等 编辑 | 杜伟.泽南 来源 | 机器之心 在本综述论文中,研究者解释了不同技术的工作原理.评估和比较,还分析了一些实现这些技术的框架. 现代深度学习和人工智能技术 ...

  5. 什么是轻量化,轻量化模型is all your need hhh

    其实学了几个小月,我们肯定知道,MLP有多deeper ,卷积层有多少层呀 抑或是Transformer架构,大量的参数,只能用huge 来描述, 可实际上我们的设备,有时候并没有服务器那么厉害,所以 ...

  6. 沐神点赞!同济子豪兄精读AI经典论文,包括图像分类、目标检测、生成对抗网络、轻量化卷积神经网络等领域...

    读研/读博的你,是不是符合: 毕设/研一/博一科研小白刚进课题组,不知道如何写开题报告和综述? 前沿顶会.期刊论文.综述文献浩如烟海,不知道学习路径,无从下手? 导师放养,既不懂也不管,师兄各忙各的, ...

  7. 人工神经网络文献综述,人工神经网络参考文献

    人工神经网络的论文 神经网络的是我的毕业论文的一部分4.人工神经网络人的思维有逻辑性和直观性两种不同的基本方式. 逻辑性的思维是指根据逻辑规则进行推理的过程:它先将信息化成概念,并用符号表示,然后,根 ...

  8. 遗传算法优化rbf神经网络自校正控制的初值_【技术帖】轻量化设计中的NVH性能自动优化方法...

    摘 要:噪声.振动与声振粗糙度 (Noise,Vibration and Harshness,NVH)性能的自动优化是实现多学科联合优化的基础条件.以白车身模型的零件厚度作为设计变量,以针对动刚度性能 ...

  9. Google论文解读:轻量化卷积神经网络MobileNetV2 | PaperDaily #38

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  10. 轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception

    一 引言 二 轻量化模型 2.1 SqueezeNet 2.2 MobileNet 2.3 ShuffleNet 2.4 Xception 三 网络对比 一 引言 自2012年AlexNet以来,卷积 ...

最新文章

  1. 仿QQ空间用一个tableview显示多种自定义cell
  2. Swift中的模式分类
  3. [USACO2009 OPEN] 滑雪课 Ski Lessons
  4. C语言 system函数
  5. Matlab与simulink中的数据类型
  6. 数据处理-Batch Normalization
  7. UI设计干货素材|聊天APP界面,临摹学习进步快
  8. 坚持就是成功,为自己的梦想全力以赴
  9. 计算机导论学后感5000字,大学计算机导论论文3000字
  10. Linux实战(9):Docker一键搭建kms服务
  11. strtok用法详解
  12. 数仓建设保姆级5W字教程,离线实时一网打尽(理论+实战)
  13. 天龙八部八部显示服务器堵塞,天龙八部服务端各目录说明
  14. 短信或者邮件链接打开 APP(URL Scheme)
  15. React实现局部刷新
  16. 经济管理类的顶刊和核心整理
  17. 散射介质成像中弹道光子、蛇形光子、散射光子的概念
  18. 坐在车里把钱赚?百度路淘,轻松月入4万
  19. 6.7.0  ESX host上clone server时,最好server上没有镜像
  20. Office文档背景变成黑色 - 解决方案

热门文章

  1. Deepin 与 Win10 双系统 Deepin无法启动且没有引导项问题
  2. 深圳移动 神州行(大众卡/轻松卡/幸福卡)套餐资费(含香港日套餐)信息及使用方法
  3. 新品上架免费推广,新品上架前的准备
  4. 微信公众号笔记(一)
  5. 【IDEA双击快捷方式无法打开】
  6. 龙卷风代码html,龙卷风旋涡.html
  7. excel多个窗口独立显示_收藏!Excel快捷键
  8. 管理后台界面基本框架设计
  9. 如何删除Slader 大数智图PDF阅读器
  10. C# 打印自定义纸张设置