深度学习模型压缩方法综述(二)

模型轻量化之模型剪枝-Pruning 学术界的 SOTA 模型在落地部署到工业界应用到过程中,通常是要面临着低延迟(Latency)、高吞吐(Throughpout)、高效率(Efficiency)的挑战。而模型压缩算法可以将一个庞大而复杂的预训练模型转化为一个精简的小模型,从而减少对硬件的存储、带宽和计算需求,以达到加速模型推理和落地的目的。 近年来主流的模型压缩方法包括:模型量化、模型剪枝、知识蒸馏、轻量化网络设计、张量分解等。 阅读详情

深度学习模型压缩方法综述(一)
深度学习模型压缩方法综述(二)
深度学习模型压缩方法综述(三)

前言

上一章,将基于核的稀疏化方法的模型压缩方法进行了介绍,提出了几篇值得大家去学习的论文,本章,将继续对深度学习模型压缩方法进行介绍,主要介绍的方向为基于模型裁剪的方法,由于本人主要研究的为这个方向,故本次推荐的论文数量较多,但都是非常值得一读的。

基于模型裁剪的方法

对以训练好的模型进行裁剪的方法,是目前模型压缩中使用最多的方法,通常是寻找一种有效的评判手段,来判断参数的重要性,将不重要的connection或者filter进行裁剪来减少模型的冗余。同样也分为regular和irregular的方式。 这类方法最多,下面列举几篇典型的方案。

  • Pruning Filters for Efficient Convnets 论文地址
    作者提出了基于量级的裁剪方式,用weight值的大小来评判其重要性,对于一个filter,其中所有weight的绝对值求和,来作为该filter的评价指标,将一层中值低的filter裁掉,可以有效的降低模型的复杂度并且不会给模型的性能带来很大的损失,算法流程如下:
    这里写图片描述
    裁剪方式如下:
    这里写图片描述
    对于ResNet之类的网络:
    这里写图片描述
    作者在裁剪的时候同样会考虑每一层对裁剪的敏感程度,作者会单独裁剪每一层来看裁剪后的准确率。对于裁剪较敏感的层,作者使用更小的裁剪力度,或者跳过这些层不进行裁剪。目前这种方法是实现起来较为简单的,并且也是非常有效的,它的思路非常简单,就是认为参数越小则越不重要。

  • Network Trimming: A Data-Driven Neuron Pruning Approach towards Efficient Deep Architectures 论文地址
    作者认为,在大型的深度学习网络中,大部分的神经元的激活都是趋向于零的,而这些激活为0的神经元是冗余的,将它们剔除可以大大降低模型的大小和运算量,而不会对模型的性能造成影响,于是作者定义了一个量APoZ(Average Percentage of Zeros)来衡量每一个filter中激活为0的值的数量,来作为评价一个filter是否重要的标准。APoZ定义如下:
    这里写图片描述
    这里写图片描述
    作者发现在VGG

模型压缩综述:剪枝、量化、知识蒸馏 参考综述文章 * 2017-A Survey of Model Compression and Acceleration for Deep Neural Networks * 2018-Recent Advances in Efficient Computation of Deep Convolutional Neural Networks 参考博客: https://www.sohu.com/a/232047203_473283 https://www.jianshu.com/p 阅读详情

相关推荐

深度学习每层的通道数如何计算_深度学习模型加速与压缩常用方法)轻量化网络结构设计...

深度学习模型加速方向大致分为两种:一、轻量化网络结构设计分组卷积(group convolution,典型的如ShuffleNet和MobileNet等)分解卷积(inception结构等)Bottleneck结构(通过1x1卷积进行降维和升维等操作)神经网络结构搜索(Neural Architecture Search,简称NAS)硬件适配、常用的网络加速结构设计:分组卷积(group con...

weixin_39772651的博客 1368

(10-9)

在训练循环中,它运行了多个剪枝回调来控制模型的剪枝进程。使用大小压缩导出模型,定义一个模型,将其剪枝,并展示剪枝后的模型进行大小压缩的效果。为了提高剪枝模型的准确性,首先,查看 tfmot.sparsity.keras.prune_low_magnitude API 文档,以了解剪枝计划(pruning schedule)的概念和每种类型的剪枝计划的数学原理。上面的输出结果打印了剪枝前后的模型结构,可以看到剪枝后的模型结构与剪枝前相同,因为这里只是在模型中添加了剪枝操作,并没有实际地执行剪枝操作。

码农三叔 1946

【转载大佬】深度学习模型压缩与加速综述

深度学习模型压缩和加速算法的三个方向,分别为加速网络结构设计、模型裁剪与稀疏化、量化加速 目前在深度学习领域分类两个派别,一派为学院派,研究强大、复杂的模型网络和实验方法,为了追求更高的性能;另一派为工程派,旨在将算法更稳定、高效的落地在硬件平台上,效率是其追求的目标。复杂的模型固然具有更好的性能,但是高额的存储空间、计算资源消耗是使其难以有效的应用在各硬件平台上的重要原因。所以,卷积神经网络日...

qq_37791134的博客 574

减小模型的复杂度:可以使用正则化项Dropout等方式限制模型的复杂度;

作者:禅与计算机程序设计艺术 1.简介 许多模型在训练时会面临过拟合的问题,当模型学习到训练数据中的噪声和偶然性(即训练样本外的情况)后,它的表现可能会变坏甚至失效。为了解决这一问题,机器学习领域的研究者们提出了很多方法来约束或减小模型的复杂度。如使用正则化项(regularization item)、

AI天才研究院 797

深度学习模型部署与剪枝优化实例

深度学习模型部署与剪枝优化实例课程旨在帮助同学们快速掌握模型部署与优化方法。主要包括两大核心模块:1.基于深度学习框架PyTorch与Tensorflow2版本演示模型部署方法,使用docker工具简化环境配置与迁移问题;2.详解经典剪枝与模型设计论文并基于实例进行演示。整体风格通俗易懂,用最接地气的方式带领同学们快速掌握部署方法与优化实例。

【大模型开发】剪枝 (Pruning)技术原理与代码案例分析

以下内容将详细介绍大模型的剪枝 (Pruning) 技术:从基本概念和常用方法,到大模型(如 Transformer 类模型)特有的应用挑战与实践,再通过一个基于 PyTorch 的可运行示例演示如何对模型进行简单的剪枝操作。

人工智能(AI)技术,大模型技术,深度学习,机器学习,计算机视觉,AI工具实践应用等分享 3916

【10分钟掌握深度学习17】模型压缩及移动端部署1

一个复杂的模型可以认为是由多个简单模型或者强约束条件训练而来,具有很好的性能,但是参数量很大,计算效率低,而小模型计算效率高,但是其性能较差。在训练过程中,对权重的更新进行诱导,使其更加稀疏,对于稀疏矩阵,可以使用更加紧致的存储方式,如CSC,但是使用稀疏矩阵操作在硬件平台上运算效率不高,容易受到带宽的影响,因此加速并不明显。结构复杂的网络具有非常好的性能,其参数也存在冗余,因此对于已训练好的模型网络,可以寻找一种有效的评判手段,将不重要的connection或者filter进行裁剪来减少模型的冗余。

kaggle expert,全球排名前1000,清华计算机研究生,兴趣算法工程 1740

AI实战:深度学习模型压缩加速方法汇总

深度学习模型压缩加速方法可大致分为2大类 1、设计新的卷积计算方法 设计新的卷积计算方法,从而减少参数,达到压缩模型的效果,例如 SqueezedNet、mobileNet 比如:depth-wise 卷积、point-wise 卷积(Depthwise卷积与Pointwise卷积详解) 2、在已训练好的模型上做裁剪 先训练好模型,再在其上做fine-tuning,主要方法包括: 剪枝...

Zack的博客 2606

深度学习模型压缩与加速综述

深度学习模型压缩与加速综述 其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。 书的购买链接 书的勘误,优化,源代码资源 PDF全文链接:深度学习模型压缩与加速综述 本文作者:东尼大佬 摘要 目前在深度学习领域分类两个派别,一派为学院派,研究强大、复杂的模型网络和实验方法,为了追求更高的性能;另...

weixin_41521681的博客 699

深度学习机器学习面试题汇——模型优化,轻量化,模型压缩

1)模型优化,优化啥呢?就是压缩模型,使得存储量,计算量变小,加快运行速度,使得模型可以迁移到小设备上 2)知识蒸馏的技术可以了解一下,目的就是加速模型运算,降低存储量。 3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

weixin_46838716的博客 4873

【点云阅读笔记】点云压缩综述

点云压缩综述 点云压缩任务按照不同的标准可以将方法划分成不同的类型,主要有以下标准:(1)根据还原质量分类(有损、无损),(2)根据处理方法分类(传统方法、深度方法),(3)根据空间维度分类(一三维),(4)根据信息类型分类(几何信息、属性信息),(5)根据数据结构进行分类(树、面片、体素)。 还原质量 无损:识别并消出统计冗余,使得数据结构更加紧凑,压缩并解码后的点云和原始点云相同。 有损:通过量化删除了非必要的、无用的信息,使用适当的率失真的控制,在比特率和感知数据质量方面进行了折衷。 处理方法 传统

For Infinite 2752

PyTorch 深度学习模型压缩开源库(含量化、剪枝、轻量化结构、BN融合)

点击我爱计算机视觉标星,更快获取CVML新技术本文为52CV群友666dzy666投稿,介绍了他最近开源的PyTorch模型压缩库,该库开源不到20天已经收获219颗星,是最近值得关...

我爱计算机视觉 4430

收藏 | 卷积神经网络压缩方法总结

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达仅作学术分享,不代表本公众号立场,侵权联系删除转载于:作者 | 唐奋@知乎来源 |https://zhuanlan.zhihu.com/p/359627280编辑 | 极市平台我们知道,在一定程度上,网络越深,参数越多,模型越复杂,其最终效果越好。神经网络的压缩算法是,旨在将一个庞大而复杂的预训练模型(pre-trained ...

小白学视觉 198

转载-模型压缩和 加速

摘自,https://mp.weixin.qq.com/s/B8ZoOexwvelM7o2LU3570w,可以加载此公众号,不定期好文大放送。 为了防止原为丢失,这里做个转载记录。 摘要 目前在深度学习领域分类两个派别,一派为学院派,研究强大、复杂的模型网络和实验方法,为了追求更高的性能;另一派为工程派,旨在将算法更稳定、高效的落地在硬件平台上,效率是其追求的目标。复杂的模型固然具有更...

sdzzlove的专栏 604

深度压缩

最近在做模型压缩,看到这篇文章,分享一下。 模型压缩:主要是为了降低运算量和节省功耗。 模型计算量是衡量深度学习是否适合在移动或嵌入式端计算的最重要指标,通常用 GOP 单位来表示。例如,流行的 ResNet-18 的计算量大约是 4 GOP,而 VGG-16 则为大约 31 GOP。深度学习模型必须储存在内存里面,而内存其实还分为片上内存和片外内存两种。片上内存就是 SRAM cache,是...

羞羞滴小朋友 403
上一篇: 深度学习模型压缩方法综述(一)
下一篇: 深度学习模型压缩方法综述(三)
小时候贼聪明
博客等级 码龄16年 1377粉丝 43原创
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值