Skip to main content
QUICK REVIEW

[论文解读] Centripetal SGD for Pruning Very Deep Convolutional Networks with Complicated Structure

Xiaohan Ding, Guiguang Ding|arXiv (Cornell University)|Apr 8, 2019
Advanced Neural Network Applications参考文献 69被引用 16
一句话总结

本文提出了一种名为Centripetal SGD(C-SGD)的新优化方法,该方法在权重空间中使卷积神经网络中的多个滤波器收敛到相同的参数值,从而实现无性能损失的滤波器剪枝。通过将冗余滤波器合并为单个代表性滤波器,并将其输入通道参数重新分配,C-SGD可在训练后立即实现网络瘦身而无需微调,在CIFAR-10和ImageNet上实现了最先进的性能,且精度下降极小。

ABSTRACT

The redundancy is widely recognized in Convolutional Neural Networks (CNNs), which enables to remove unimportant filters from convolutional layers so as to slim the network with acceptable performance drop. Inspired by the linear and combinational properties of convolution, we seek to make some filters increasingly close and eventually identical for network slimming. To this end, we propose Centripetal SGD (C-SGD), a novel optimization method, which can train several filters to collapse into a single point in the parameter hyperspace. When the training is completed, the removal of the identical filters can trim the network with NO performance loss, thus no finetuning is needed. By doing so, we have partly solved an open problem of constrained filter pruning on CNNs with complicated structure, where some layers must be pruned following others. Our experimental results on CIFAR-10 and ImageNet have justified the effectiveness of C-SGD-based filter pruning. Moreover, we have provided empirical evidences for the assumption that the redundancy in deep neural networks helps the convergence of training by showing that a redundant CNN trained using C-SGD outperforms a normally trained counterpart with the equivalent width.

研究动机与目标

  • 解决非常深、结构复杂的CNN中受结构依赖约束的滤波器剪枝问题。
  • 通过在剪枝过程中实现零性能损失,消除剪枝后微调的需求。
  • 探究深度网络中的冗余性是否能提升训练收敛性和泛化能力。
  • 开发一种方法,其保留表征能力优于直接置零滤波器幅值。
  • 提供实证证据表明冗余滤波器的收敛可提升训练稳定性和性能。

提出的方法

  • C-SGD引入一种新颖的损失项,促使某一层中的多个滤波器在权重超空间中收敛到相同的参数值。
  • 该方法采用类似向心力的更新规则,将滤波器参数拉向一个共享中心点,以最小化簇内滤波器间平方偏差的总和。
  • 滤波器被分组为簇(例如,每层5/8的滤波器),优化目标是最小化偏差度量 $\chi = \sum_{i\in\mathcal{L}} \sum_{j\in\mathcal{P}_i} \| \mathbf{K}^{(i)}_{:,:,:.j} - \mathbf{c}^{(i)} \|_2^2 $,其中 $\mathbf{c}^{(i)}$ 为簇中心。
  • 训练完成后,将相同的滤波器合并为一个,其输入通道参数被加总到剩余的滤波器中,从而实现无需精度损失的即时剪枝。
  • 该方法避免使用组Lasso正则化,转而采用直接的参数聚类,相比基于幅值的正则化,计算成本更低。
  • C-SGD在标准训练过程中以恒定学习率应用,实现了滤波器簇的指数级收敛。

实验结果

研究问题

  • RQ1是否可训练CNN中的滤波器使其在参数空间中变得完全相同,从而实现无需微调的剪枝?
  • RQ2将相同滤波器合并是否比置零滤波器幅值更好地保留网络表征能力?
  • RQ3C-SGD能否在具有残差连接和密集连接等复杂结构的非常深网络中提升训练收敛性和泛化能力?
  • RQ4与组Lasso正则化和基于幅值的剪枝相比,C-SGD在精度和稳定性方面表现如何?
  • RQ5与具有相同网络宽度的标准训练相比,冗余滤波器聚类是否能带来更好的性能?

主要发现

  • 在ResNet-56和DenseNet-40上,C-SGD剪枝后实现了零性能损失,且无需微调,而基于幅值或组Lasso的方法则无法做到这一点。
  • 在CIFAR-10上,基于C-SGD的剪枝在将每层滤波器减少到3个后,ResNet-56的Top-1精度达到93.8%,优于基于幅值和APoZ的方法。
  • 在ImageNet上,C-SGD在剪枝后的ResNet-56(每层3个滤波器)中实现了76.1%的Top-1精度,比基线方法高出超过2%。
  • 在C-SGD下,平方核偏差总和 $\chi$ 单调且指数下降,表明滤波器簇的收敛稳定且迅速。
  • 组Lasso正则化需要600个周期,剪枝后仍导致约10%的精度下降,而C-SGD在少于100个周期内即达到相当或更优的性能。
  • 由于避免了正则化中昂贵的平方根运算,C-SGD的训练速度是组Lasso的两倍。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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