3种轻量化框架总结

news2024/9/29 17:26:59

一般的卷积神经网络的参数量和计算量都很大,很难应用在资源有限的场景中。为了解决这个问题,通常是在训练好的模型上进行优化,如通过对模型压缩减少计算量和存储成本,也可以通过剪枝连接方法去掉了不重要的神经元连接或者通道修剪去掉非必要的通道实现加速,还可以将浮点模型转为定点的量化方法实现模型压缩和计算加速。知识蒸馏也是不错的办法,用大模型作为老师,通过知识蒸馏让大模型教导出小模型来实现参数量和计算量的减少。但是这些方法的性能上线取决于原始模型。除了以上方法,研发轻量级模型是减少参数量和计算量的一种很优秀的方法。神经网络的主要参数量和计算量是因为矩阵乘法共享的,轻量的神经网络架构应当去构建参数量和计算量更少的、更高效的深度网络。

MobileNets

图图1 标准卷积和深度可分离卷积

MobileNetV1将普通卷积替换为深度卷积和逐点卷积。普通卷积的卷积核是直接用在所有的输入通道上,而深度卷积分为两部分进行计算,首先按照通道分别对特征图分别进行卷积,并将输出特征图进行拼接,随后使用逐点卷积进行通道卷积得到特征图,逐点卷积是卷积核为1x1的卷积,通道数和输入特征图一致。理论上如果MobileNetV1采用3x3卷积核,那么深度可分离卷积相较普通卷积可以降低大约9倍的计算量。

普通的残差结构先用1x1的卷积降维,再升维的操作。在MobileNetV2却是相反的操作,原因是将残差块替换为了深度可分离卷积之后,参数减少,提取的特征也相对减少,如果再进行压缩的话,能提取的特征就更少了,MobileNetV2为了避免特征减少需要先扩张高维,再经过深度可分离卷积提取特征,随后将卷积提取的特征降到低维。因此残差结构是先升维,再降维的操作。由于ReLU6激活函数对于低维的信息可能会造成比较大的瞬损失,对于高维的特征信息造成的损失很小。所以使用一个线性的激活函数避免特征损失。

MobileNetV3进一步使用AutoML技术用更少的FLOPs获得了更好的性能。MobileNeX重新思考了反向瓶颈的必要性,并声称经典的瓶颈结构也可以实现高性能。

ShuffleNet

ShuffleNetV1认为在轻量级网络中,过多的使用1x1卷积导致严重损害网络的准确性,将1x1卷积替换为分组卷积,分组卷积就是将输入特征图分成不同的组,每个组由单独的卷积核进行组内做卷积,如图3所示,图中分组卷积,表示特征图只和对应的卷积核做卷积。每组卷积都生成一个特征图,共生和组数相同个数的特征图。分组卷积可以用少量的参数量和运算量就能生成大量的特征图。由于分组卷积只会在组内进行卷积,这导致特征图组和组之间无法实现信息的交互,通过扰动通道操作打乱原有特征顺序再进行重组,可以实现不同组之间信息交互。

图3 分组卷积

ShuffleNetV2分析FLOPs和方法在目标硬件上的实际速度差异原因:首先是 MAC (memory access cost)存储访问成本,这时导致分组卷积运行时间有着很大的运行成本的直接原因。在相同计算量下,并行程度高的网络要比其他的网络速度快很多。在计算量相等的情况,网络部署实现平台的不同,最后所呈现的网络运行时间也有差异。此外,在早期的一些工作,通过张量分解来实现矩阵乘法加速,后来的工作证实尽管计算量降低了75%,但是图像处理器上的运行时间却变慢了,原因是硬件供应商通过软件算法硬件化对3x3卷积进行优化。ShuffleNetV2总结了4条高效网络准则:

  1. 相等的信道宽度使内存访问成本最小化。
  2. 过多的分组卷积会增加内存访问成本。
  3. 网络分支过多会降低其并行化程度
  4. 元素级别操作是不可忽略的,尽管它们具有较小的计算复杂度,但内存访问成本相对较重。

根据上述四条。ShuffleNet V2引入了通道分离操作,如图4(a)所示。在每个单元开始之前,输入通道`c`被分成两个分支 。根据准则三,其中一个分支保持恒等映射。另外的分支包括三个具有相同输入输出通道卷积。两个1x1卷积不再分组,因为开始的分支结构已经产生了两个分组。然后,两个分支进行通道级别的融合操作。最后在进行通道打乱操作,用来网络增强信息交互能力。对于空间下采样操作,如图4(b)所示,通道分离操作被移除,然后输出通道的数量翻倍。

4 ShuffleNetV2模块

一般的深度神经网络的特征图为了保证了对输入数据的全面理解,通常都会拥有冗余的信息,因此,在普通卷积构成的网络中生成特征图中存在许多类似的特征图对,假设能够不使过多的卷积核生产这些类似的特征层就可以有效减少卷积操作。GhostNetV1基于这个假设使用一种线性变化的方式产生冗余的特征图来有效降低模型参数量和计算复杂度。具体操作,Ghost模块同样将一个普通的卷积层分成两个部分。第一个部分使用普通的卷积操作,但是卷积核总的数量会需要严格地控制。随后对第一个部分得到的原始特征图进行简单的线性运算来生成更多的冗余特征图。由于没有需改变输出特征图的尺寸,Ghost模块需要的参数量和计算复杂度与普通卷积相比下降了很多。基于Ghost模块构建了一个高效的网络架构,即GhostNet。

由于卷积的轻量级模型在建模长程依赖性方面较弱,这限制了进一步的性能改进。最近,引发自然语言处理上变革的自注意机制的模型被引入到计算机视觉中,尽管自注意力机制模块可以捕捉全局信息,但是计算量随着输入分辨率的增加以二次方的速度增长。虽然面对对象问题产生了局部注意力模块(将图像切分为多个区域,在每个区域内分别部署注意力模块)能够降低了理论复杂度,但前处理进行图像切分需要进行大量变换张量形状的操作(比如调整图片大小,转置操作等),在计算资源不富裕的设备上会产生很高的时延。比如,将局部注意力模块和轻量化模型GhostNet结合,理论上复杂度只增加了20%,但是实际的推理时延却翻了2倍。目前经过自注意力机制在图像领域确实带来了惊喜,在多个大型数据集中也超过了不少卷积神经网络,但是在小数据集和少量的计算资源下短时间还无法取代卷积神经网络。因此,GhostNetV2提出了一种新的全连接注意力机制来捕获长距离空间信息,同时保持轻量级卷积神经网络的实现效率。具体地,全连接层被分解为水平全连接和垂直全连接以聚集卷积神经网络中2维特征图中的像素,形成全局感受野的注意力矩阵。并且将该注意力机制用来改造GhostNet的残差组件,通过增加全连接注意力机制来增强中间特征。与现有其他架构相比,GhostNetV2可以在精度和推理速度之间实现更好的平衡。但是全连接层会增加参数量和计算量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/984353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SecureCRT9.1高亮配色设置

参考:http://zh-cjh.com/qita/1623.html https://download.csdn.net/download/qq_45698138/88310255?spm1001.2014.3001.5503 1.创建文件colorful-network.ini,添加如下内容 D:"Match Case"00000000 D:"Regex Line Mode"00000000 Z:"Keyword Lis…

C语言学习:6、C语言程序的循环结构

生活中,有很多循环的东西,比如钟表就是在1到12循环,太阳东升西落也是循环,春夏秋冬也是循环,人生可能也是一个循环。 while C语言中的循环可以这么描述:当某个条件成立,就一直做某件事或某些事…

微信小程序开发---基本组件的使用

目录 一、scroll-view (1)作用 (2)用法 二、swiper和swiper-item (1)作用 (2)用法 三、text (1)作用 (2)使用 四、rich-tex…

煤矿虚拟仿真 | 采煤工人VR虚拟现实培训系统

随着科技的发展,虚拟现实(VR)技术已经逐渐渗透到各个行业,其中包括煤矿行业。VR技术可以为煤矿工人提供一个安全、真实的环境,让他们在虚拟环境中进行实际操作和培训,从而提高他们的技能水平和安全意识。 由广州华锐互动开发的采煤…

如何解决基因行业海量数据传输难题?镭速传输给出答案

基因大数据是指通过基因测序、分析和应用所产生的海量数据,它揭示了生命的奥秘和规律,对于科学研究、医疗健康、生物产业等领域具有重要的价值和意义。 随着高通量测序技术的进步,基因大数据的产量呈现爆炸式增长,预计到 2025 年…

算法笔记--最大连续1的个数Ⅲ

leetcode题目链接:1004. 最大连续1的个数 III 题目描述 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 思路 这里可以转换思路,让题意更加明确:即,求一个最大连续区间…

pip安装报HTTPSConnectionPool错误解决方案

报错: 解决方案:添加-i https://pypi.tuna.tsinghua.edu.cn/simple/,这里是https,而不是http,网上很多为pip install gradio -i http://pypi.tuna.tsinghua.edu.cn/simple/导致未能成功。 正确为: pip in…

多元共进|2023 Google 开发者大会主旨演讲亮点回顾

2023 Google 开发者大会 今日正式拉开帷幕 一起回顾主旨演讲精华内容 收获技术新知,实现多元共进! 主旨演讲亮点合集速览 (KN recap视频) 扫码前往官网 查看主旨演讲完整回放 Google 大中华区总裁陈俊廷首先上台分享&#x…

rrweb入门

rrweb 背景 rrweb 是 record and replay the web,是当下很流行的一个录制屏幕的开源库。与我们传统认知的录屏方式(如 WebRTC)不同的是,rrweb 录制的不是真正的视频流,而是一个记录页面 DOM 变化的 JSON 数组&#x…

文件上传漏洞-upload靶场13-16关 (图片木马-文件包含与文件上次漏洞)

文件上传漏洞-upload靶场13-16关 (图片木马-文件包含与文件上次漏洞) 简介 upload靶场到了第十三关,难度就直线上升了,在最后这7关中,包含了图片木马、竞争条件等上传技巧,这些漏洞的本质,都是…

算法:数组常见套路1---双指针、取模、打擂台法

一、数组的合并–双指针[快慢指针] 1、题目: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺…

MybatisPlus(3)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 一、查询投影🍭 查询投影是指在查询操作中,只选择…

管理类联考——数学——汇总篇——知识点突破——数据分析——计数原理——排列组合——单排与环排

👑 公式:—般地,n个不同元素作圆形排列,坐成圆形没有首尾之分,所以固定一人,共有 ( n − 1 ) ! (n-1)! (n−1)!种排法。如果从n个不同元素中取出m个元素作圆形排列共有 1 m C n m \frac{1}{m}C_n^m m1​Cn…

Windows Server 系统各版本及授权说明(附下载地址

本文为Windows Server系统各版本差异对比及授权说明。 会对相关目前仍主流使用的相关Windows Server系统版本和相关授权进行对比和功能说明。 WindowsServer2012 R2 Windows Server 2012 R2授权方式是按照物理CPU数量进行授权,比如物理服务器CPU插槽数量2&#xff…

企业数字化神经网络

随着数字化时代的到来,数据已经成为企业战略性资源和重要的生产要素。企业数字化转型的核心是充分开发和利用数据资源,以数据为驱动,对业务流程进行重构与创新,从而提升企业的核心竞争力。业务系统是企业数据资源的源头&#xff0…

Gitlab常用命令总结汇总

Gitlab常用命令 本地 初始化 全局变量 全局配置 git config --global user.name "your name" #设置全局用户名#git config --global uer.email "your email" #设置全局邮箱#版本库配置 git config --global color.ui true #让Gitlab显示不同的颜色…

吹爆这款制作电子图册的工具,真是太绝了

近年来,随着互联网技术的不断发展,电子图册成为了一种越来越受欢迎的展示方式。然而,对于很多人来说,制作电子图册并不是一件容易的事情。幸运的是,现在有一款神器出现了,让制作电子图册变得轻而易举。 这款…

易点易动库存管理系统与ERP系统打通,帮助企业实现低值易耗品管理

现今,企业管理日趋复杂,无论是核心经营还是辅助环节,都需要依靠信息化手段来提升效率。而低值易耗品作为企业日常运营中的必需品,其管理也面临诸多挑战。传统做法效率低下,容易出错。如何通过信息化手段实现低值易耗品的高效管理,成为许多企业必顾及的一个课题。 易点易动作为…

Mac电脑怎么使用NTFS磁盘管理器 NTFS磁盘详细使用教程

Mac是可以识别NTFS硬盘的,但是macOS系统虽然能够正确识别NTFS硬盘,但只支持读取,不支持写入。换句话说,Mac不支持对NTFS硬盘进行编辑、创建、删除等写入操作,比如将Mac里的文件拖入NTFS硬盘,在NTFS硬盘里新…

【C++】详解AVL树并模拟实现

前言: 之前我们为了让数据存储效率提高,引进了二叉搜索树。 但是我们发现,二叉搜索树的时间复杂度还是O(N),因为二叉搜索树并不是非常的平衡。 并不是所有树都是满二叉树,可能出现单边书这样极端的情况,所以我们引进…