[论文解读] Compression of Deep Convolutional Neural Networks for Fast and Low Power Mobile Applications
本文提出了一种针对深度卷积神经网络(CNN)的一次性全网络压缩方案,结合变分贝叶斯矩阵分解(VBMF)进行秩选择、Tucker分解实现核张量低秩逼近,并通过微调恢复精度。该方法在智能手机上实现了高达3.53倍的能效降低和3.41倍的运行时间提升,同时保持了极小的精度损失,有效解决了1×1卷积在压缩模型中导致的缓存效率低下问题。
Although the latest high-end smartphone has powerful CPU and GPU, running deeper convolutional neural networks (CNNs) for complex tasks such as ImageNet classification on mobile devices is challenging. To deploy deep CNNs on mobile devices, we present a simple and effective scheme to compress the entire CNN, which we call one-shot whole network compression. The proposed scheme consists of three steps: (1) rank selection with variational Bayesian matrix factorization, (2) Tucker decomposition on kernel tensor, and (3) fine-tuning to recover accumulated loss of accuracy, and each step can be easily implemented using publicly available tools. We demonstrate the effectiveness of the proposed scheme by testing the performance of various compressed CNNs (AlexNet, VGGS, GoogLeNet, and VGG-16) on the smartphone. Significant reductions in model size, runtime, and energy consumption are obtained, at the cost of small loss in accuracy. In addition, we address the important implementation level issue on 1?1 convolution, which is a key operation of inception module of GoogLeNet as well as CNNs compressed by our proposed scheme.
研究动机与目标
- 为解决在内存、功耗和计算能力受限的移动设备上部署深度卷积神经网络的挑战。
- 实现对AlexNet、VGG-S、GoogLeNet和VGG-16等复杂模型的高效全网络压缩,以支持移动推理。
- 开发一种简单、端到端的压缩流水线,可使用公开工具轻松实现。
- 分析1×1卷积对压缩模型中缓存效率和功耗的影响。
- 在不造成显著精度下降的前提下,大幅降低模型尺寸、推理时间和能耗。
提出的方法
- 利用变分贝叶斯矩阵分解(VBMF)的全局解析解进行秩选择,最小化线性核张量的重构误差。
- 对每个核张量应用Tucker分解以实现低秩逼近,从而减少参数数量和计算成本。
- 整个压缩流水线——包括秩选择、分解和微调——一次性完成,避免了迭代优化。
- 使用ImageNet训练数据集进行微调,以恢复压缩过程中损失的精度。
- 使用公开可用的工具实现该方法:VBMF(Nakajima, 2015)、Tucker分解(Bader et al., 2015)以及Caffe用于微调。
- 该方法特别针对1×1卷积造成的性能瓶颈问题,这类卷积在压缩模型和GoogLeNet的Inception模块中极为常见。
实验结果
研究问题
- RQ1一次性的、端到端的压缩方案是否能有效降低多种CNN架构下的模型尺寸、推理时间和能耗?
- RQ2基于VBMF的秩选择方法与其它秩选择方法相比,在精度和效率方面表现如何?
- RQ31×1卷积对压缩CNN中缓存效率和GPU功耗有何影响?
- RQ4在结合微调的情况下,Tucker分解在降低模型复杂度的同时,能在多大程度上保持精度?
- RQ5所提出的压缩方案是否可使用标准深度学习工具轻松实现,而无需定制开发?
主要发现
- 所提出的压缩方案在四类CNN(AlexNet、VGG-S、GoogLeNet、VGG-16)的智能手机上,平均实现了3.41倍的运行时间提升和3.53倍的能耗降低。
- 模型尺寸显著减小,最大压缩因子达到3.68倍(以参数数量计,针对VGG-S)。
- 由于1×1卷积在压缩模型中频繁使用,导致更多缓存未命中和流水线停顿周期,从而降低了GPU核心利用率和功耗,因此GPU核心的功耗在压缩模型中有所下降。
- 通过压缩全连接层,未压缩模型中的主存功耗得以降低,这些层在AlexNet和VGG-S等模型中包含数兆字节的权重。
- 尽管1×1卷积在理论上效率较高,但其较差的缓存效率导致更多停顿周期和GPU利用率下降,解释了理论与实际加速效果之间的差距。
- 压缩后的微调成功恢复了大部分精度损失,证明了所提出压缩流水线的鲁棒性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。