目录

  • 总结
  • 低秩分解
    • 定义
    • 特点
    • 1.二元分解
    • 2.多元分解
  • 参考文献

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

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

相关链接:

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

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

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

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

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

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

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

总结

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

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

低秩分解

定义

低秩分解是指通过合并维数和施加低秩约束的方式稀疏化卷积核矩阵,由于权值向量大多分布在低秩子空间,所以可以用少数的基向量来重构卷积核矩阵,达到缩小存储空间的目的。

特点

低秩分解在大卷积核和中小型网络中都有不错的压缩效果,但是由于过去研究较为成熟,同时1×1卷积的流行,这种小卷积核不利于低秩分解方法的使用,因此不利于模型压缩与加速。

1.二元分解

  • Jaderberg 等人[96]将 w×h 的卷积核分解为 w×1 和 1×h 的卷积核,学习到的字典权重线性组合重构,得到输出feature map。
  • Liu 等人[97]使用两阶段分解法研究 filter 的通道间和通道内冗余。
  • Tai 等人[98]提出一种计算低秩张量分解的新算法,利用 BN 层转换内部隐藏单元的激活。
  • Masana 等人[99]主要解决在大数据集上训练的网络在小目标域的使用问题,证明在压缩权重时考虑激活统计量,会导致一个具有闭型解的秩约束回归问题。
  • Wen 等人[100]提出了 Force regularization,将更多权重信息协调到低秩空间中。
  • Wang 等人[101]提出了定点分解,再通过伪全精度权重复原,权重平衡和微调恢复性能。
  • 与其他基于 filter 空间或信道数的低秩分解算法不同,Peng 等人[102]的工作基于 filter 组近似,达到降低参数冗余的目的。
  • Qiu 等人[103]提出将 filter 分解为带预固定基的截断展开,展开系数从数据中学习。
  • Novikov 等人[104]提出 Tensor train 分解来压缩全连接层的稠密权值矩阵,而 Garipov 等人[105]将其推广到卷积层。
  • Wang 等人[106]提出了 ==Tensor ring 分解,==用于压缩卷积层和全连接层.

2.多元分解

  • filter 的二元分解会引入 w×h×c×d 张量和 d×n 张量,由于第 1 个张量 w×h×c×d 很大并且耗时,三元分解提出对其进行分解。
  • Kim 等人[107]提出了 Tucker 分解,对第 1 个张量沿输入通道维进行二元分解,得到 w×1、1×h 和 1×1 的卷积。由于第 2 个分量 d×n 也需要大量计算,但其在输入和输出通道维数上的秩已经很低,Wang 等 人[108]提出了基于低秩和群稀疏分解的块项分解(BTD),用一些较小的子张量之和近似原始权重张量。
  • 在三元分解的基础上,Lebedev 等人[109]提出了 CP 分解,即位 tensor 分解,将四维卷积核分解成 4 个:1×1、w×1、1×h 和 1×1的卷积,即,将 1 层网络分解为 5 层低复杂度的网络层。

参考文献

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

[96] Jaderberg M, Vedaldi A, Zisserman A. Speeding up convolutional neural networks with low rank expansions. arXiv Preprint arXiv: 1405.3866, 2014.

[97] Liu B, Wang M, Foroosh H, et al. Sparse convolutional neural networks. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2015. 806814.

[98] Tai C, Xiao T, Zhang Y, et al. Convolutional neural networks with low-rank regularization. arXiv Preprint arXiv: 1511.06067, \2015.

[99] Masana M, van de Weijer J, Herranz L, et al. Domain-adaptive deep network compression. In: Proc. of the IEEE Int’l Conf. on Computer Vision. 2017. 42894297.

[100] Wen W, Xu C, Wu C, et al. Coordinating filters for faster deep neural networks. In: Proc. of the IEEE Int’l Conf. on Computer Vision. 2017. 658666.

[101] Wang P, Cheng J. Fixed-Point factorized networks. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017.40124020.

[102] Peng B, Tan W, Li Z, et al. Extreme network compression via filter group approximation. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018. 300316.

[103] Qiu Q, Cheng X, Calderbank R, et al. DCFnet: Deep neural network with decomposed convolutional filters. arXiv Preprint arXiv: 1802.04145, 2018.

[104] Novikov A, Podoprikhin D, Osokin A, et al. Tensorizing neural networks. In: Advances in Neural Information Processing Systems. \2015. 442450.

[105] Garipov T, Podoprikhin D, Novikov A, et al. Ultimate tensorization: compressing convolutional and fc layers alike. arXiv Preprint arXiv: 1611.03214, 2016.

[106] Wang W, Sun Y, Eriksson B, et al. Wide compression: Tensor ring nets. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2018. 93299338.

[107] Kim YD, Park E, Yoo S, et al. Compression of deep convolutional neural networks for fast and low power mobile applications. arXiv Preprint arXiv: 1511.06530, 2015.

[108] Wang P, Cheng J. Accelerating convolutional neural networks for mobile applications. In: Proc. of the 24th ACM Int’l Conf. on Multimedia. 2016. 541545.

[109] Lebedev V, Ganin Y, Rakhuba M, et al. Speeding-up convolutional neural networks using fine-tuned cp-decomposition. arXiv Preprint arXiv: 1412.6553, 2014.

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

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

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

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

    目录 总结 混合方式 定义 特点 1.组合参数剪枝和参数量化 2.组合参数剪枝和参数共享 3.组合参数量化和知识蒸馏 参考文献 深度学习模型的压缩和加速是指利用神经网络参数的冗余性和网络结构的冗余性精 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. spyder jupyter集成
  2. 矩形在as3视觉编程中的几个应用方式
  3. 【干货】用Axure做原型,一秒钟提高效率的必知技巧总结
  4. 数据去中心化的场景与流程
  5. URL中允许携带sessionid带来的安全隐患。
  6. JUnit 5 –设置
  7. oracle数据泵索引创建慢,IMPDP 很慢的原因探究
  8. lisp坐标一键生成_Grasshopper自动生成坡度标注
  9. 这一次搞懂 Spring 的 Bean 实例化原理
  10. Unity游戏框架设计
  11. 网站 云服务器ecshop,ecs云服务器搭建ecshop
  12. PC验证CSR8811蓝牙芯片
  13. 模型评估——混淆矩阵confusion_matrix
  14. Keil C51对C语言的关键词扩展之八: far
  15. Windows10插了耳机电脑还是外放
  16. Win10下Python3.x环境安装和配置教程
  17. XZK-JAVA-支线任务-031303-ElasticSearch 入门
  18. 如何将html文件发送邮件,怎么给邮件发送HTML
  19. 数字世界,企业何以抵御勒索病毒?
  20. 【yolov5检测代码简化】Yolov5 detect.py推理代码简化,输入图片,输出图片和结果

热门文章

  1. SOLIDWORKS教程:SW软件常见问题解决办法
  2. Oracle使用json后乱码,nodejs读取本地中文json文件出现乱码解决方法
  3. `算法竞赛题解` LeetCode.6115 统计理想数组的数目
  4. “隐形正畸第一股”时代天使还能飞多远?
  5. 云南省二级c计算机考试试题,2015云南省计算机等级考试试题 二级C试题最新考试试题库(完整版)...
  6. 稀疏问题的解决——数据平滑 - yiyi_xuechen
  7. 过一下hibernate4-3
  8. 动态视频流切换的处理策略
  9. Zeus资源调度系统介绍
  10. 分支合并-rebase