引用本文:
[如本文对读者朋友们的研究有所帮助,请添加如下参考文献]
纪荣嵘,林绍辉,晁飞,吴永坚,黄飞跃. 深度神经网络压缩与加速综述[J]. 计算机研究与发展, 2018, 55(9): 1871-1888.
Ji Rongrong,Lin Shaohui,Chao Fei,Wu Yongjian,Huang Feiyue. Deep Neural Network Compression and Acceleration: A Review. Journal of Computer Research and Development, 2018, 55(9): 1871-1888.
1.原因
对于深度神经网络而言,其无论参数、计算量、数据存储或者说是网络深度与宽度等等都会限制深度神经网络在嵌入式、便携式工具上的拓展应用
2.加速、压缩任务
2.1 卷积层:计算耗时长,可以通过权值共享策略进行网络存储压缩,涉及到的是网络的计算加速
2.2 全连接层:因为是神经元之间的全连接,所以其网络参数尤其的多,因此涉及到的是网络模型的内存压缩
而这两项任务设计到很多学类门课:机器学习、参数优化、计算架构、数据压缩、索引、硬件加速。
3.主流方法
深度神经网络的压缩与加速的主要方法有:参数剪枝、参数共享、低秩分解、紧性卷积核设计、知识蒸馏
参数剪枝:主要通过设计判断参数重要与否的准则,移除冗余的参数.可用于卷积层和全连接层,需要逐层逐步进行网络压缩。
参数共享:主要探索模型参数的冗余性,利用Hash或量化等技术对权值进行压缩.可用于卷积层和全连接层,需要逐层逐步进行网络压缩。既能适应模型重训练,也能够通过预训练网路产生作用。
低秩分解:利用矩阵或张量分解技术估计并分解深度模型中的原始卷积核.可用于卷积层和全连接层,能够在CPU/GPU的条件下,实现端对端的训练。既能适应模型重训练,也能够通过预训练网路产生作用。
紧性卷积核:紧性卷积核的设计主要通过设计特殊的结构化卷积核或紧性卷积计算单元,减少模型的存储与计算复杂度.并且该种