Skip to main content
QUICK REVIEW

[论文解读] Speeding-up Convolutional Neural Networks Using Fine-tuned CP-Decomposition

Vadim Lebedev, Yaroslav Ganin|arXiv (Cornell University)|Dec 19, 2014
Tensor decomposition and applications参考文献 15被引用 331
一句话总结

本文提出一种两阶段方法,通过将四维卷积核张量进行基于非线性最小二乘法(NLS)的CP分解,加速卷积神经网络(CNNs),将每一层替换为四个小核卷积的序列。该方法在36类字符分类网络上实现高达8.5倍的CPU加速,仅损失1%准确率;在AlexNet上实现4倍加速,top-5错误率仅增加1%,在速度-准确率权衡上优于先前方法,通过微调实现优化。

ABSTRACT

We propose a simple two-step approach for speeding up convolution layers within large convolutional neural networks based on tensor decomposition and discriminative fine-tuning. Given a layer, we use non-linear least squares to compute a low-rank CP-decomposition of the 4D convolution kernel tensor into a sum of a small number of rank-one tensors. At the second step, this decomposition is used to replace the original convolutional layer with a sequence of four convolutional layers with small kernels. After such replacement, the entire network is fine-tuned on the training data using standard backpropagation process. We evaluate this approach on two CNNs and show that it is competitive with previous approaches, leading to higher obtained CPU speedups at the cost of lower accuracy drops for the smaller of the two networks. Thus, for the 36-class character classification CNN, our approach obtains a 8.5x CPU speedup of the whole network with only minor accuracy drop (1% from 91% to 90%). For the standard ImageNet architecture (AlexNet), the approach speeds up the second convolution layer by a factor of 4x at the cost of $1\%$ increase of the overall top-5 classification error.

研究动机与目标

  • 降低大型卷积神经网络(CNNs)的计算与内存开销,以实现在低端CPU和移动设备上的部署。
  • 解决在显著减少卷积层参数数量的同时保持高准确率的挑战。
  • 通过采用更精确的分解技术与判别性微调,改进现有的CNN加速张量分解方法。
  • 证明低秩CP分解结合全局微调可获得优于先前方法的速度-准确率权衡。
  • 在真实世界CNN架构上验证该方法的有效性,包括自定义字符分类器和ImageNet规模的AlexNet。

提出的方法

  • 使用非线性最小二乘法(NLS)计算四维卷积核张量的低秩CP分解,将其分解为秩一Tensor的和。
  • 将每个原始卷积层替换为四个类似深度可分离卷积的卷积层,每个层使用由CP分量导出的小型2D核。
  • 在层替换后使用标准反向传播对整个网络进行微调,以恢复并可能提升准确率。
  • 利用CNN核的张量代数结构,实现高效分解与层替换,无需自定义层实现。
  • 将CP分解的秩作为超参数,以控制加速与准确率损失之间的权衡。
  • 将NLS基分解与贪心算法及随机初始化的性能进行比较,以证明高质量初始化的重要性。

实验结果

研究问题

  • RQ1基于NLS的四维卷积核CP分解是否能在CNN中实现优于贪心分解方法的速度-准确率权衡?
  • RQ2在CP分解替换后进行判别性微调,是否能显著提升准确率,相比非微调近似方法?
  • RQ3所提方法是否能在保持或提升准确率的同时,实现高于先前基于张量分解方法的加速?
  • RQ4初始CP分解的质量(如NLS与贪心法)在微调后对最终性能有何影响?
  • RQ5该方法在CNN中,特别是在具有空间可变核的层中,能在多大程度上减少参数数量与内存占用?

主要发现

  • 基于NLS的CP分解方法在36类字符分类CNN上实现了8.5倍CPU加速,准确率仅下降1%(从91%降至90%)。
  • 在AlexNet架构上,第二卷积层加速了4倍,top-5分类错误率增加1%,展示了强大的实际应用潜力。
  • NLS基分解始终优于贪心分解,在某些情况下将准确率损失降低高达20个百分点(例如,在R=300时,AlexNet上贪心法损失24.15%,而NLS仅损失3.21%)。
  • 微调显著提升了性能,尤其在结合NLS提供的高质量初始化时,证实了更优初始近似能带来更好的收敛性。
  • 该方法将近似层的参数数量减少了数倍,使模型更加紧凑,适用于内存受限环境。
  • 该方法表现出正则化效应,更高秩的分解有时能改善泛化能力,并显示出在具有空间可变核的层中应用的潜力。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。