目录

  • 总结
  • 混合方式
    • 定义
    • 特点
    • 1.组合参数剪枝和参数量化
    • 2.组合参数剪枝和参数共享
    • 3.组合参数量化和知识蒸馏
  • 参考文献

深度学习模型的压缩和加速是指利用神经网络参数的冗余性和网络结构的冗余性精简模型,在不影响任务完成度的情况下,得到参数量更少、结构更精简的模型。被压缩后的模型计算资源需求和内存需求更小,相比原始模型能够满足更加广泛的应用需求。在深度学习技术日益火爆的背景下,对深度学习模型强烈的应用需求使得人们对内存占用少、计算资源要求低、同时依旧保证相当高的正确率的“小模型”格外关注。利用神经网络的冗余性进行深度学习的模型压缩和加速引起了学术界和工业界的广泛兴趣,各种工作也层出不穷。

本文参考2021发表在软件学报上的《深度学习模型压缩与加速综述》进行了总结和学习。

相关链接:

深度学习模型压缩与加速技术(一):参数剪枝

深度学习模型压缩与加速技术(二):参数量化

深度学习模型压缩与加速技术(三):低秩分解

深度学习模型压缩与加速技术(四):参数共享

深度学习模型压缩与加速技术(五):紧凑网络

深度学习模型压缩与加速技术(六):知识蒸馏

深度学习模型压缩与加速技术(七):混合方式

总结

模型压缩与加速技术 描述
参数剪枝(A) 设计关于参数重要性的评价准则,基于该准则判断网络参数的重要程度,删除冗余参数
参数量化(A) 将网络参数从 32 位全精度浮点数量化到更低位数
低秩分解(A) 将高维参数向量降维分解为稀疏的低维向量
参数共享(A) 利用结构化矩阵或聚类方法映射网络内部参数
紧凑网络(B) 从卷积核、特殊层和网络结构3个级别设计新型轻量网络
知识蒸馏(B) 将较大的教师模型的信息提炼到较小的学生模型
混合方式(A+B) 前几种方法的结合

A:压缩参数 B:压缩结构

混合方式

定义

常用模型压缩与加速技术的组合,就是混合方式。

特点

混合方式能够综合各类压缩与加速方法的优势,进一步加强了压缩与加速效果,将会是未来在深度学习模型压缩与加速领域的重要研究方向。

1.组合参数剪枝和参数量化

  • Ullrich 等人[165]基于 Soft weight sharing 的正则化项,在模型再训练过程中实现了参数量化和参数剪枝。
  • Tung 等人[166]提出了参数剪枝和参数量化的一体化压缩与加速框架 Compression learning by in parallel pruning-quantization(CLIP-Q)。
  • Han 等人[167]提出了 Deep compression,将参数剪枝、参数量化和哈夫曼编码相结合,达到了很好的压缩效果;并在其基础上考虑到软/硬件的协同压缩设计,提出了 Efficient inference engine(Eie)框架[168]。
  • Dubey 等人[169]同样利用这 3 种方法的组合进行网络压缩。

2.组合参数剪枝和参数共享

  • Louizos 等人[170]采用贝叶斯原理,通过先验分布引入稀疏性对网络进行剪枝,使用后验不确定性确定最优的定点精度来编码权重。
  • Ji 等人[171]通过重新排序输入/输出维度进行剪枝,并将具有小值的不规则分布权重聚类到结构化组中,实现更好的硬件利用率和更高的稀疏性。
  • Zhang 等人[172]不仅采用正则化器鼓励稀疏性,同时也学习哪些参数组应共享一个公共值以显式地识别出高度相关的神经元。

3.组合参数量化和知识蒸馏

  • Polino 等人[173]提出了加入知识蒸馏 loss 的量化训练方法,有浮点模型和量化模型,用量化模型计算前向loss,并对其计算梯度,用以更新浮点模型。每次前向计算之前,用更新的浮点模型更新量化模型。
  • Mishra 等人[174]提出用高精度教师模型指导低精度学生模型的训练,有 3 种思路:教师模型和量化后的学生模型联合训练;预训练的教师模型指导量化的学生模型从头开始训练;教师模型和学生模型都进行了预训练,但学生模型已经量化,之后在教师模型的指导下再进行微调。

参考文献

主要参考:高晗,田育龙,许封元,仲盛.深度学习模型压缩与加速综述[J].软件学报,2021,32(01):68-92.DOI:10.13328/j.cnki.jos.006096.

[165] Ullrich K, Meeds E, Welling M. Soft weight-sharing for neural network compression. arXiv Preprint arXiv: 1702.04008, 2017.

[166] Tung F, Mori G. Clip-q: Deep network compression learning by in-parallel pruning-quantization. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2018. 78737882.

[167] Han S, Mao H, Dally WJ. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv Preprint arXiv: 1510.00149, 2015.

[168] Han S, Liu X, Mao H, et al. EIE: Efficient inference engine on compressed deep neural network. ACM SIGARCH Computer Architecture News, 2016,44(3):243254.

[169] Dubey A, Chatterjee M, Ahuja N. Coreset-based neural network compression. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018. 454470.

[170] Louizos C, Ullrich K, Welling M. Bayesian compression for deep learning. In: Advances in Neural Information Processing Systems.\2017. 32883298.

[171] Ji Y, Liang L, Deng L, et al. TETRIS: Tile-matching the tremendous irregular sparsity. In: Advances in Neural Information Processing Systems. 2018. 41154125.

[172] Zhang D, Wang H, Figueiredo M, et al. Learning to share: Simultaneous parameter tying and sparsification in deep learning. In: Proc. of the 6th Int’l Conf. on Learning Representations. 2018.

[173] Polino A, Pascanu R, Alistarh D. Model compression via distillation and quantization. arXiv Preprint arXiv: 1802.05668, 2018.

[174] Mishra A, Marr D. Apprentice: Using knowledge distillation techniques to improve low-precision network accuracy. arXiv Preprint arXiv: 1711.05852, 2017.

深度学习模型压缩与加速技术(七):混合方式相关推荐

  1. 深度学习模型压缩与加速技术(三):低秩分解

    目录 总结 低秩分解 定义 特点 1.二元分解 2.多元分解 参考文献 深度学习模型的压缩和加速是指利用神经网络参数的冗余性和网络结构的冗余性精简模型,在不影响任务完成度的情况下,得到参数量更少.结构 ...

  2. 深度学习模型压缩与加速技术(二):参数量化

    目录 总结 参数量化 参数量化定义 参数量化特点 1.二值化 二值化权重 二值化权重与激活函数 2.三值化 3.聚类量化 4.混合位宽 手工固定 自主确定 训练技巧 参考文献 深度学习模型的压缩和加速 ...

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

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Pikachu5808,编辑:极市平台 来源丨https://zh ...

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

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 本文详细介绍了4种主流的压缩与加速技术:结构优化.剪枝.量化 ...

  5. 腾讯 AI Lab 正式开源PocketFlow自动化深度学习模型压缩与加速框架

    11月1日,腾讯AI Lab在南京举办的腾讯全球合作伙伴论坛上宣布正式开源"PocketFlow"项目, 该项目是一个自动化深度学习模型压缩与加速框架,整合多种模型压缩与加速算法并 ...

  6. 端上智能——深度学习模型压缩与加速

    摘要:随着深度学习网络规模的增大,计算复杂度随之增高,严重限制了其在手机等智能设备上的应用.如何使用深度学习来对模型进行压缩和加速,并且保持几乎一样的精度?本文将为大家详细介绍两种模型压缩算法,并展示 ...

  7. 深度学习模型压缩与加速

    深度神经网络在人工智能的应用中,包括语音识别.计算机视觉.自然语言处理等各方面,在取得巨大成功的同时,这些深度神经网络需要巨大的计算开销和内存开销,严重阻碍了资源受限下的使用.模型压缩是对已经训练好的 ...

  8. 一文看懂深度学习模型压缩和加速

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 1 前言 近年来深度学习模型在计算机视 ...

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

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

最新文章

  1. 广州企业“掘金”物联网蓝海
  2. 【朝花夕拾】Android性能篇之(二)Java内存分配
  3. 2019年最新10份开源Java精选资料
  4. 关于python的一些好的书籍推荐-推荐几本对于Python初学者比较好的书籍(内含PDF)...
  5. mac mysql 安装日志_Mac 安装 MySQL
  6. linux明日命令(6):rm命令
  7. 【转】 DOTA2中的伪随机及其lua实现
  8. leetcode 504. 七进制数(Java版)
  9. 干货|代码安全审计权威指南(附下载地址)
  10. go build不从本地gopath获取_跟我一起学习go语言,包依赖管理工具go mod
  11. Java LocalDate类| parse()方法与示例
  12. 底量超顶量超级大黑马指标源码_一旦出现底量超顶量形态,是超级大黑马诞生!...
  13. 有关文档流的一些注意事项
  14. 华为OJ-数独(C语言、递归)
  15. unity3d实现水果机(随机)跑马灯效果
  16. Linux C语言实现SYN包泛洪攻击
  17. 第十一届“认证杯”数学中国数学建模国际赛 (2022 CERTIFICATE AUTHORITY CUP INTERNATIONAL
  18. 多分类下的ROC曲线和AUC
  19. 如何制作自己的网页java_怎样制作自己的购物网站页面?
  20. Python读写yaml文件(使用PyYAML库)

热门文章

  1. 深度学习acc曲线与loss曲线
  2. 第三篇:工具篇之DDD(二) 领域驱动实战
  3. 网关gateway小故事
  4. 如何下载淘宝主图视频和微信公众号文章中的视频
  5. Tomcat清理日志文件无法立即释放磁盘空间
  6. Flutter 裁剪布局之 ClipRect、ClipRRect、ClipOval、ClipPath、CustomClipper
  7. FDM的WIFI打印固件
  8. 2021年1月26日博客日记
  9. 汽车销售管理系统源代码
  10. 凭傻瓜数学获重大发现:有正数x≠100…0(x/100…0)