轻量化模型系列--GhostNet:廉价操作生成更多特征
前言
由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络 (CNN) 很困难。特征图中的冗余是那些成功的 CNN 的一个重要特征,但在神经架构设计中很少被研究。
论文提出了一种新颖的 Ghost 模块,可以从廉价操作中生成更多的特征图。提出的 Ghost 模块可以作为即插即用的组件来升级现有的卷积神经网络。堆叠Ghost Module建立了轻量级的 GhostNet。
GhostNet 可以实现比 MobileNetV3 更高的识别性能(例如 75.7% 的 top-1 准确率),并且在 ImageNet ILSVRC-2012 上具有相似的计算成本。
论文:GhostNet: More Features from Cheap Operations
代码:https://github.com/huawei-noah/ghostnet.
欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。
出发点
多年来,已经提出了一系列方法来研究紧凑型深度神经网络,例如网络剪枝、低位量化、知识蒸馏等。网络剪枝修剪神经网络中不重要的权重、利用正则化来修剪过滤器以获得高效的 CNN; 低位量化将权重和激活量化为 1 位数据,以实现大的压缩和加速比;知识蒸馏,将知识边缘从较大的模型转移到较小的模型。
然而,这些方法的性能通常受预训练的神经网络作为其基线的上限。

训练好的深度神经网络的特征图中的丰富甚至冗余信息通常可以保证对输入数据的全面理解。例如,上图展示了 ResNet-50 生成的输入图像的一些特征图,并且存在许多相似的特征图对,就像彼此的幽灵。特征图中的冗余可能是成功的深度神经网络的一个重要特征。我们倾向于采用它们,而不是避免冗余的特征图,但以一种具有成本低的方式。
这里补充一句:一个训好的正常大小的网络中,存在大量的冗余特征图,模型剪枝(或模型压缩)、正则化属于减少冗余特征图的方式,而这篇论文认为这些冗余信息会对于正确识别或检测具有重要的作用。
推荐阅读《我们真的需要模型压缩吗》更好理解上面这段话。
主要贡献
引入了一个新的 Ghost 模块,通过使用更少的参数来生成更多的特征。 具体来说,深度神经网络中的一个普通卷积层会被分成两部分。第一部分涉及普通卷积,但它们的总数将受到严格控制。给定第一部分的内在特征图,然后应用一系列简单的线性操作来生成更多的特征图。在不改变输出特征图的大小的情况下,与普通卷积神经网络相比,这个 Ghost 模块所需的总体参数数量和计算复杂度有所降低。
基于 Ghost 模块,建立了一个高效的神经架构,即 GhostNet。 首先替换基准神经架构中的原始卷积层以证明 Ghost 模块的有效性,然后验证 GhostNets 在几个基准视觉数据集上的优越性。
实验结果表明,所提出的 Ghost 模块能够降低通用卷积层的计算成本,同时保持相似的识别性能,并且 GhostNets 可以在各种任务上超越SOTA高效深度模型,如 MobileNetV3 移动设备上的快速推理。
Methods
Ghost module

如上图所示,Ghost module先通过正常卷积,将input通道数减少,再通过一个depthwise卷积和identity(恒等变换)。
1. 前面的卷积既可以使用1x1卷积,也可以使用正常的3x3或5x5卷积。
2. 这里的Φ即为cheap operation,既可以是depthwise卷积,也可以是其它方式的卷积,例如分组卷积。这部分的作用就是生成了相似特征图。也就是前面说的,用成本更低的方式,保留了那些冗余信息。
3. 恒等映射与 Ghost 模块中的线性变换并行以保留内在特征映射。
复杂度分析
假设我们输入特征图的尺寸是h*w*c,输出特征图的尺寸是h’*w’*n,卷积核大小为k*k。
在cheap operation变换中,我们假设特征图的channel是m,变换的数量是s,最终得到的新的特征图的数量是n,那么我们可以得到等式:
n = m ∗ s
由于Ghost的变换过程中最后存在一个恒等变换(Identity),所以实际有效的变换数量是s-1,所以上式可以得到如下公式:
m ∗ ( s − 1 ) = n / s ∗ ( s − 1 )
所以,理论的速度比为:

理论的压缩比为:

其中,s远小于c。
GhostNet


Conclusion



本文来源于公众号 CV技术指南 的论文分享系列。
欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。
在公众号中回复关键字 “技术总结”可获取公众号原创技术总结文章的汇总pdf。

其它文章
ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别
CVPR2021 | 重新思考BatchNorm中的Batch
ICCV2021 | 重新思考视觉transformers的空间维度
CVPR2021 | Transformer用于End-to-End视频实例分割
ICCV2021 |(腾讯优图)重新思考人群中的计数和定位:一个纯粹基于点的框架
经典论文系列 | 目标检测--CornerNet & 又名 anchor boxes的缺陷
在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?
轻量化模型系列--GhostNet:廉价操作生成更多特征的更多相关文章
- 轻量化模型之MobileNet系列
自 2012 年 AlexNet 以来,卷积神经网络在图像分类.目标检测.语义分割等领域获得广泛应用.随着性能要求越来越高,AlexNet 已经无法满足大家的需求,于是乎各路大牛纷纷提出性能更优越的 ...
- CNN结构演变总结(二)轻量化模型
CNN结构演变总结(一)经典模型 导言: 上一篇介绍了经典模型中的结构演变,介绍了设计原理,作用,效果等.在本文,将对轻量化模型进行总结分析. 轻量化模型主要围绕减少计算量,减少参数,降低实际运行时间 ...
- 轻量化模型之SqueezeNet
自 2012 年 AlexNet 以来,卷积神经网络在图像分类.目标检测.语义分割等领域获得广泛应用.随着性能要求越来越高,AlexNet 已经无法满足大家的需求,于是乎各路大牛纷纷提出性能更优越的 ...
- 轻量化模型:MobileNet v2
MobileNet v2 论文链接:https://arxiv.org/abs/1801.04381 MobileNet v2是对MobileNet v1的改进,也是一个轻量化模型. 关于Mobile ...
- 轻量化模型训练加速的思考(Pytorch实现)
0. 引子 在训练轻量化模型时,经常发生的情况就是,明明 GPU 很闲,可速度就是上不去,用了多张卡并行也没有太大改善. 如果什么优化都不做,仅仅是使用nn.DataParallel这个模块,那么实测 ...
- 基于WebGL/Threejs技术的BIM模型轻量化之图元合并
伴随着互联网的发展,从桌面端走向Web端.移动端必然的趋势.互联网技术的兴起极大地改变了我们的娱乐.生活和生产方式.尤其是HTML5/WebGL技术的发展更是在各个行业内引起颠覆性的变化.随着WebG ...
- 纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
近年提出的四个轻量化模型进行学习和对比,四个模型分别是:SqueezeNet.MobileNet.ShuffleNet.Xception. SqueezeNet https://arxiv.org/p ...
- 卷积神经网络学习笔记——轻量化网络MobileNet系列(V1,V2,V3)
完整代码及其数据,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/DeepLearningNote 这里结合网络的资料和Mo ...
- 适配抖音!三角面转换和3d模型体量减小,轻量化一键即可完成!
抖音3d特效,可谓是越来越火爆了,这个有着迪士尼画风的3D大眼,就刷屏了国内外用户的首页! 有人好奇这些特效究竟是怎么制作的?其实就是把3D模型调整适配到头部模型上,调整位置或者大小就可以制作出一个简 ...
随机推荐
- 2019-07-06 sql 连续出现次数
由手机通讯记录界面想到的问题 SELECT CASE WHEN AA.num=1 THEN AA.Tel ELSE AA.Tel+'('+CASt(AA.num AS VARCHAR(4))+')' ...
- 电脑常用快捷键及常用的DOS命令
电脑常用快捷键 Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+A:全选 Ctrl+X:剪切 Ctrl+Z:撤销 Ctrl+S:保存 Alt+F4:关闭窗口 Shift+delete:永久删除 Wi ...
- Cloud-init的安装和使用 --以ubuntu-server-14.04-amd64为例
by hyc 1.Cloud-init安装 已有了一个安装好系统的镜像. 镜像名:ubuntu-test-14.04-server-amd64.img 用户名:user 密码:1 主机名:ubuntu ...
- 加载GIF图片优化方案
前言 许多项目需要加载GIF图片,但是在直接使用UIImageView加载存在许多问题,于是查找资料做了一个加载GIF的Demo,思路来源. 思路 使用FLAnimatedImage来加载GIF图片, ...
- 【原创】利用“进程注入”实现无文件不死webshell
引子 上周末,一个好兄弟找我说一个很重要的目标shell丢了,这个shell之前是通过一个S2代码执行的漏洞拿到的,现在漏洞还在,不过web目录全部不可写,问我有没有办法搞个webshell继续做内网 ...
- HCNA Routing&Switching之地址转换技术NAT
前文我们了解了包过滤工具ACL相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15156308.html:今天我们来聊一聊地址转换技术NAT相关话题: ...
- kali虚拟机安装VMTools、更新源、安装docker、配置sqli-labs
一.安装VMTools: 传送门:关于安装VMTools 跟其他版本的虚拟机安装VMTools没什么区别,也得连网(我是kali用dhcp开nat模式) 之后按照上面的链接根据博主的步骤一步一步来即可 ...
- 武器级工具包 Immunity Canvas 7.26 泄露事件 | 附下载地址
关于Immunity Canvas Immunity CANVAS是Immunity公司的一款商业级漏洞利用和渗透测试工具,包含了480多个以上的漏洞利用,该工具并不开源,其中文版介绍如下: &quo ...
- NOIP 模拟 $16\; \rm Lost My Music$
题解 \(by\;zj\varphi\) 一道凸包的题 设 \(\rm dep_u\) 表示节点 \(u\) 的深度,那么原式就可化为 \(-\frac{c_v-c_u}{dep_v-dep_u}\) ...
- RedisTemplate实现redis分布式锁
RedisLockUtil.java package com.meeno.inner.oa.common.redis; import lombok.extern.slf4j.Slf4j; import ...