弹性网络回归模型_数据模型剪枝

弹性网络回归模型_数据模型剪枝本文首发于PandaCV公众号。导语:模型剪枝算法核心在于找到“不重要”的参数并且实现裁剪。为寻找到较优的剪枝策略,我们往往需要尝试多种剪枝策略和剪枝策略性能评估。通常剪枝策略评估方法是将剪枝后的模型训练到收敛或者训练规定好数量epoch后进行性能比较。不管是人工调试剪枝策略还是自动搜索剪枝策略,都需要多次评估剪枝策略。剪枝策略的评估效率一定程度上影响了整体压缩效率。因此,本文提出了一种能够快速衡量剪枝后模型性能的方法,经实验能够对MobilenetV1减少50%的FLOPs情况下,仍能保证在Image

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文首发于PandaCV公众号。

导语:模型剪枝算法核心在于找到“不重要”的参数并且实现裁剪。为寻找到较优的剪枝策略,我们往往需要尝试多种剪枝策略剪枝策略性能评估。通常剪枝策略评估方法是将剪枝后的模型训练到收敛或者训练规定好数量epoch后进行性能比较。不管是人工调试剪枝策略还是自动搜索剪枝策略,都需要多次评估剪枝策略。剪枝策略的评估效率一定程度上影响了整体压缩效率。因此,本文提出了一种能够快速衡量剪枝后模型性能的方法,经实验能够对MobilenetV1减少50%的FLOPs情况下,仍能保证在Imagenet数据集上Top1精度达到70.9%。

论文链接:https://arxiv.org/abs/2007.02491

论文repo:https://github.com/anonymous47823493/EagleEye

引言

随着AI技术的发展,人们对于AI的需求也越发多样化。在手机端、嵌入式设备上部署模型的需求已经十分普遍。一般移动端、嵌入式设备无法满足神经网络的计算需求。因此,我们一般需要利用模型压缩技术,尽量不影响模型性能的前提下,减少模型的参数量和计算量,使其满足硬件的限制。

  • 将剪枝后模型训练至收敛后,评估网络性能。
  • 将剪枝后模型训练规定数量epoch后,评估网络性能。
  • 直接对剪枝后的模型评估性能

当需要进行多次迭代尝试时,前两种方法所需要的时间成本都很较大,第三种办法常常面临不准确的问题。因此,EagleEye提出一种快速并且准确衡量子网络性能的方法,加快剪枝的过程。

EagleEye

动机

传统模型剪枝的三步流程是:模型预训练、模型剪枝和finetuning。为什么会需要finetuning这个环节呢?因为剪枝后模型精度下降比较明显,finetuning能够有效提升剪枝后模型精度。EagleEye论文中,对这一现象提出了两个问题:

  • 裁剪的权重通常被认为是“不重要”的权重,为什么模型精度还会有如此大的下降?

  • 未进行finetuning的模型精度和finetuning收敛后的模型精度是否成存在正相关?

针对这两个问题,EagleNet论文中进行了研究和实验。如下图,右图主要展示了在finetuning过程中模型权重的变化情况,其中x轴表示卷积核的L1范数大小,y轴表示卷积核数量,z轴表示不同epoch下权重分布情况。在finetuning过程中,权重分布只发生了一点偏移,但是finetuning前后模型性能发生巨大变化。

在左图中,我们可以看出finetuning前后的模型性能分布差别较大,finetuning前后模型的精度没有较强的正相关 

弹性网络回归模型_数据模型剪枝

那么问题的答案是什么呢?EagleNet论文认为是网络中的BN层对于模型的精度评估有较强的影响。在没有进行finetuning的模型,模型的BN层参数继承于原模型,和当前模型的权重参数并不match,影响了模型的精度,并且导致finetuning前后模型精度不成正相关的问题在finetuning的过程,模型的精度逐渐在上升,是因为其参数在逐渐被优化,BN层的参数也在逐渐“适应”新的网络结构。但是这种方法并不高效,因此论文中引出Adaptive Batch Normalization结构,解决这个问题。

Adaptive Batch Normalization

Adaptive Batch Normalization方法是非常的朴素,论文提出的思路是将网络中的其他参数冻住,然后利用训练集(不是测试集)的样本进行前向计算,修正“继承”来的BN层参数。Adaptive Batch Normalization的方法效果对比图如下:

弹性网络回归模型_数据模型剪枝

 图中横纵坐标分别是finetuning前后模型的精度。其中,左图是没有采用Adpative BN的finetuning模型前后的模型精度关系,右图则是使用adpative BN之后的表现,可以看出成比较明显的正相关。

工作流程

EagleEye的核心点在于利用Adaptive BN方法,一定程度上解决了传统剪枝工作流下,finetuning前后模型精度弱相关的问题。Finetuning前后模型精度具备强相关性的话,我们就能省去传统finetuning的过程,极大的加速整个迭代流程。

EagleEye的整体工作流程如下:

  • 采用随机策略生成大量的剪枝方案

  • 对于不同的剪枝策略,修正其BN层参数

  • 对于不同的剪枝策略,衡量其剪枝策略的精度,并且选取最优的剪枝策略。

  • 对于最优的剪枝策略进行finetuning,精度恢复。

弹性网络回归模型_数据模型剪枝

 

实验效果

  • 相似性实验

    论文中进行了更为详细的相似性实验,其中分别是在不同FLOPs限制的剪枝策略前提下,Adaptive BN方法效果的对比图。从实验结果,我们可以看出其方法在多种FLOPs限制下,都保持了较好的效果。

弹性网络回归模型_数据模型剪枝

 

  • 对比实验

效率方面

EagleEye主要的优势在于其省掉了finetuning步骤,在剪枝效率方面有很大的优势。其中,我们可以看出与ThiNet、AMC和Meta-Pruning方法进行对比,EagleEye所需要的GPU Hours完全不再一个数量级。

弹性网络回归模型_数据模型剪枝

弹性网络回归模型_数据模型剪枝

总结

EagleEye论文的思想比较简单,但是其一定程度上解释了剪枝后模型精度下降的原因,并且提出了修正finetuning前后模型精度弱相关的办法,从而省去了评估剪枝策略中finetuning模型过程,极大地加快剪枝迭代速度。另外,由于其方法简单,能够很方便的应用在其他剪枝算法中,提升剪枝算法速度。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170739.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月16日 上午6:36
下一篇 2022年8月16日 上午6:36


相关推荐

  • 挖矿病毒查杀

    挖矿病毒查杀转发地址:https://yq.aliyun.com/articles/657476这两天使用的公网服务器被入侵了,而且感染了不止一种病毒:一种是libudev.so,是DDoS的客户端,现象就是不停的向外网发包,也就是超目标发起DDoS攻击;另外一种是挖矿程序,除了发包之外,还会造成很高的CPU负载。下面记录一下病毒的行为和查杀方法。1.libudev.so1.1病…

    2022年5月25日
    64
  • C#彩色扭曲验证码

    C#彩色扭曲验证码该验证码生成类集合了网上大部分的验证码生成类的精华,并多次改进,现在已经形成了可在生产环节中使用的验证码。该验证码加入了背景噪点,背景噪点曲线和直线,背景噪点文字以及扭曲,调暗,模糊等。完全可以实现防识别。按照国际惯例先贴张效果图吧:#region验证码生成类//////验证码生成类///

    2022年7月21日
    18
  • 检测计算机命令,磁盘检测命令chkdsk的使用方法

    检测计算机命令,磁盘检测命令chkdsk的使用方法经常看到有很多朋友在系统开机的时候因系统自检程序时间过长而往往直接跳过磁盘检测 而直接跳过这种心急的想法有时候会引来大祸患 今天我们介绍的 chkdsk 命令是系统自带的系统修复命令 可以帮助我们解决很多常见问题 它可以帮助恢复系统文件 有时可以延缓硬盘的寿命 对此想要有了解的朋友跟随小编一起来看看吧 磁盘检测的原因多是由于系统检测到磁盘数据调用错误或者数据文件丢失而自发引起的一种自我保护措施 使用磁

    2025年6月19日
    5
  • poc测试环境准备_POC测试经验总结

    poc测试环境准备_POC测试经验总结假期还没有结束 一个个 POC 测试已经约起来了 9 月份几乎每天都有三四个 POC 在同步进行 我的很多精力都是在盯 POC 结果 有一种声音在告诉我你不要管技术了 有一波人在不停给我打电话 有客户 有销售 有合作伙伴 有领导 他们说这个测试你一定要盯 我的 9 月份就是处于这是纠结和撕扯中 也下场做了 POC 现将自己的调优思路分享给大家 一 明确测试目标 测试计划 与相关干系人达成一致意见 我们的工作

    2026年3月19日
    2
  • android之PackageManager简单介绍

    android之PackageManager简单介绍

    2021年12月5日
    48
  • 腾讯云ADP Claw升级五大防护,打造安全可用的企业级OpenClaw解决方案

    腾讯云ADP Claw升级五大防护,打造安全可用的企业级OpenClaw解决方案

    2026年3月14日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号