模型压缩:CNN和Transformer通用,修剪后精度几乎无损,速度提升40%
前言
随着目标检测的蓬勃发展,近年来提出了几种深度卷积神经网络模型,例如R-CNN、SSD和YOLO等。然而,随着网络变得越来越复杂,这些模型的规模不断增加,这使得在现实生活中将这些模型部署到嵌入式设备上变得越来越困难。因此,开发一种高效快速的物体检测模型以在不影响目标检测质量的情况下减小参数大小至关重要。
PART/ 1
前言
深度学习模型在目标检测的性能上取得了重大突破。然而,在传统模型中,例如Faster R-CNN和YOLO,由于计算资源有限和功率预算紧张,这些网络的规模使其难以部署在嵌入式移动设备上。
深度学习领域的加速发展极大地促进了目标检测的发展,其在人脸检测、自动驾驶、机器人视觉和视频监控等方面的广泛应用。随着目标检测的蓬勃发展,近年来提出了几种深度卷积神经网络模型,例如R-CNN、SSD和YOLO等。然而,随着网络变得越来越复杂,这些模型的规模不断增加,这使得在现实生活中将这些模型部署到嵌入式设备上变得越来越困难。因此,开发一种高效快速的物体检测模型以在不影响目标检测质量的情况下减小参数大小至关重要。
PART/ 2
摘要总结
今天我们分享的技术,是通过减少网络信道的传统信道修剪方法难以有效地修剪具有深度卷积层和某些有效模块(如流行的反向残差块)的有效CNN模型。由于存在一些归一化层,通过减少网络深度的先验深度修剪方法不适合于修剪一些有效的模型。此外,通过直接移除激活层来微调子网会破坏原始模型权重,阻碍修剪后的模型实现高性能。
为了解决这些问题,研究者提出了一种新的有效模型深度修剪方法。新方法为子网提出了一种新的块修剪策略和渐进训练方法。此外,将修剪方法扩展到视觉Transformer模型。
最终实验结果表明,在各种修剪配置中,新方法始终优于现有的深度修剪方法。将新方法应用于ConvNeXtV1,获得了三个修剪后的ConvNeXtV1模型,这些模型超过了大多数具有可比推理性能的SOTA有效模型。新方法还在视觉Transformer模型上实现了最先进的修剪性能。
PART/ 3
动机
Network Pruning
神经网络在计算机视觉领域已被广泛应用,表现出非凡的能力。然而,复杂的网络架构对高效的实时部署提出了挑战,并需要大量的计算资源和能源成本。在端侧和边缘侧部署网络具体的挑战:
模型体积大;
FLOPs(float-point operations,浮点操作);
耗能;
处理器架构和处理速度;
内存占用;
推理时延;
这些挑战可以通过网络压缩等优化来克服。网络剪枝(Network Pruning)是网络压缩主要技术之一,是一种减小内存大小和带宽的重要技术。剪枝就是通过去除网络中冗余的通道(channels),滤波器(filters),神经元节点( neurons), 网络层(layers)以得到一个更轻量级的网络,同时不影响性能。
剪枝的不同分类:
根据网络元素类型,可以分为神经元剪枝和连接剪枝;
根据剪枝前后网络结构是否是改变,可以分为结构化剪枝和非结构化剪枝;
根据在推理阶段是否有剪枝,可以分为静态剪枝和动态剪枝;
结构化剪枝可以包括神经元剪枝和连接剪枝,但是是改变了剪枝前的网络结构。非结构化剪枝并没有改变网络结构,而是将分支权重改为0,这样权重为0的分支对整个网络没有影响,从而相当于减掉了该分支。如果观察到在某些迭代权重为0的分支对本轮迭代作用很大(影响性能),可以动态恢复非结构化剪枝造成的为零权重,提供网络性能。神经元剪枝会改变网络结构,属于结构化剪枝。连接剪枝,在权重设置为0并没有改变网络结构时属于非结构化剪枝,在连接删除改变网络结构时属于结构化剪枝。
Structural Reparameterization
在block内不存在非线性激活函数的情况下,结构重新参数化技术有助于将多个卷积层合并为单个卷积层。这种合并有效地减少了神经网络在推理过程中的内存需求,从而加速了模型推理。RepVGG区分了训练和测试结构,使普通网络能够超越ResNet的性能。此外,DBB将多分支结构合并为一个卷积,显著地超过了传统多分支单元的速度。
Neural Architecture Search (NAS)
既然网络不是设计出来的,我们要搜,那么怎么搜网络结构呢?理解这个问题,你就能了解NAS的最基本的思想。想象你是一个考试命题组的出题人,你要出高考题,那怎么出题呢?首先这是高考,你肯定只能出高中生学过的内容,所以需要框定一个出题的范围,这便是搜索空间。确定了出题范围,我们还需要知道到底怎么出题,到底是出选择题好呢,还是填空题好呢?这是出题的策略,对应到这个问题上,就是搜索策略。现在题也出完了,但是我们还需要知道这个考卷的题目出的好不好,一个好的高考试卷应该有一定的区分度!所以我们需要一个评判的标准去了解这个题目出的好不好,这个标准和可以是专家评议,或者学生调研等等,也就是相当于我们需要给我们一个评价的指标。
围绕搜索空间、搜索策略以及评价搜索的指标三个维度展开搜索最优的网络,先确定在哪些模块(卷积,池化等等)里面搜索组合一个网络,然后用什么样的方式组合我们的网络,最后得出的网络我们如何评价它是否好用。这便是NAS算法自动搜索的基本思想。
PART/ 4
新框架详解
深度修剪方法旨在通过提出新的具有重新参数化技术的块修剪策略来减少模型深度,而不是直接省略块。如下图所示,块修剪策略在块合并中将复杂而缓慢的块转换为简单而快速的块。对于块,将激活层替换为标识层,将LayerNorm(LN)或GroupNorm(GN)层替换为BatchNorm(BN)层,并在块末尾插入带有BatchNorm层的激活层,以创建重新参数化的条件。然后,重新参数化技术可以合并BatchNorm层、相邻的卷积或全连接层,并跳过连接,如下图所示:
Depth Pruner on CNN
将新方法应用于CNN模型可以参考上图所示的管道。应该先找到基本块,并参考上图中的修剪块来设计相应的修剪块。对于块中的激活层,将其替换为标识层。对于块中不是BatchNorm层的规范化层,将其替换为BatchNorm图层,否则无需执行任何操作。
最后,将在块的末尾插入一个带有BatchNorm层的激活层。如果像ResNet34块这样的位置已经存在激活层,则只需要在块末尾的激活层之后插入BatchNorm层。修剪块完成后,回顾超网训练、子网搜索、子网训练和子网合并过程。将获得修剪后的CNN模型。对于普通的CNN模型,可以定义可以包括两个或多个顺序卷积层的块。
Depth Pruner on Vision Transformer
研究者还将提出的深度修剪器应用于Vision Transformer模型。Vision Transformer块通常具有多头自注意(MHSA)模块和包括两个全连接层的MLP模块。特别是,利用DeiT作为展示修剪流程的案例。如上图所示,为了构建Supernet,在原始模型的LN和活化(GELU)层旁边添加BN旁路,并在剩余添加操作后插入GELU和BN块。经过子网搜索和子网训练,获得了子网,其原始LN和修剪块的GELU操作都被BN取代。添加残余物后,连接GELU&BN块。然后合并子网以获得快速修剪的模型,如上图所示。
PART/ 5
实验及可视化
下表与一些常见的有效模型进行了比较,因为ConvNeXtV1没有压缩方法。在AMD平台上使用表中较慢的网络EfficientFormerV2-S2作为基准,测试所有网络的速度。作者将模型分为不同 Level ,深度剪枝方法在不同 Level 上实现了可比速度下的更高精度:
在今天分享中,研究者为有效的CNN和Vision Transformer模型提供了一个统一的深度修剪器,以在深度维度上修剪模型。深度修剪器包括四个步骤,即超网训练、子网搜索、子网训练和子网合并。提出了一种新的块修剪方法和渐进训练策略,以更好地利用基线模型权重。在子网合并过程中,使用重新参数化技术使子网变得更浅、更快。将新方法应用于几个CNN模型和transformer模型。SOTA修剪性能证明了新方法的优越性。未来,研究者们将在更多的Transformer模型和任务上探索新方法。
最后的最后
感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。
因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
大模型知识脑图
为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
经典书籍阅读
阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
面试资料
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
相关知识
模型压缩:CNN和Transformer通用,修剪后精度几乎无损,速度提升40%
基于深度卷积神经网络的移动端花卉识别系统
基于python编程的五种鲜花识别
深度学习在植物叶部病害检测与识别的研究进展
AI助力智慧农田作物病虫害监测,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建花田作物种植场景下棉花作物常见病虫害检测识别系统
【调参记录】基于CNN对5类花卉植物数据一步步提升分类准确率
农作物病虫害检测关键技术问题,如何破解?
基于深度学习特征的植物病虫害检测
基于深度学习和迁移学习的识花实践
基于 CNN 和迁移学习的农作物病害识别方法研究
网址: 模型压缩:CNN和Transformer通用,修剪后精度几乎无损,速度提升40% https://www.huajiangbk.com/newsview134999.html
上一篇: 节水型修剪技术对雨养枣林地土壤水 |
下一篇: 沙枣树修剪更新施肥技术措施 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039