[论文解读] Directional Pruning of Deep Neural Networks
该论文提出方向性剪枝(directional pruning),一种新颖的方法,通过近端梯度算法在深度神经网络的平坦最小值山谷中识别稀疏最小化器,实现高达92%的稀疏度而无需微调。该方法在ResNet50上实现ImageNet上的最先进性能,同时相比SGD的计算开销极低。
In the light of the fact that the stochastic gradient descent (SGD) often finds a flat minimum valley in the training loss, we propose a novel directional pruning method which searches for a sparse minimizer in or close to that flat region. The proposed pruning method does not require retraining or the expert knowledge on the sparsity level. To overcome the computational formidability of estimating the flat directions, we propose to use a carefully tuned $\ell_1$ proximal gradient algorithm which can provably achieve the directional pruning with a small learning rate after sufficient training. The empirical results demonstrate the promising results of our solution in highly sparse regime (92% sparsity) among many existing pruning methods on the ResNet50 with the ImageNet, while using only a slightly higher wall time and memory footprint than the SGD. Using the VGG16 and the wide ResNet 28x10 on the CIFAR-10 and CIFAR-100, we demonstrate that our solution reaches the same minima valley as the SGD, and the minima found by our solution and the SGD do not deviate in directions that impact the training loss. The code that reproduces the results of this paper is available at https://github.com/donlan2710/gRDA-Optimizer/tree/master/directional_pruning.
研究动机与目标
- 解决在不依赖微调或专家定义稀疏度阈值的情况下剪枝深度神经网络的挑战。
- 识别位于损失景观平坦最小值山谷内的稀疏模型,确保对训练损失的影响最小。
- 开发一种利用损失函数局部几何结构的剪枝方法,特别是与海森矩阵小特征值相关的平坦方向。
- 在保持模型精度的同时实现高稀疏度(例如92%),尤其适用于资源受限的部署场景。
- 通过避免微调并使用具有收敛性保证的改进优化方案,将计算开销降至最低。
提出的方法
- 该方法将剪枝形式化为在平坦方向子空间内的扰动,该子空间定义为SGD解处海森矩阵对应于近似零特征值的特征向量张成的空间。
- 使用带ℓ₁-正则化项的近端梯度算法,通过迭代方式在保持损失的同时缩小参数,确保扰动保持在平坦区域内。
- 关键步骤是将训练权重的符号向量投影到平坦子空间上,得到一个引导剪枝的定向向量,同时最小化损失增加。
- 该算法通过改进的优化器gRDA实现,其结合了软阈值化和较小的学习率,以确保收敛到平坦山谷中的稀疏解。
- 该方法通过确保剪枝方向位于平坦子空间内,避免了微调,从而在剪枝过程中保持损失稳定。
- 该方法具有理论基础:扰动方向被选择为最小化与权重符号向量的ℓ₂距离,从而最大化可安全剪枝的参数数量。
实验结果
研究问题
- RQ1我们能否在不进行微调的情况下,识别出位于损失景观平坦最小值山谷内的稀疏模型?
- RQ2在稀疏化过程中,使训练损失增加最小的最优剪枝方向是什么?
- RQ3我们能否在使用ResNet50的ImageNet上实现高稀疏度(例如92%)的同时保持模型精度?
- RQ4与标准SGD相比,所提出的剪枝方法在实际运行时间与内存使用方面的计算成本如何?
- RQ5剪枝后的模型是否能达到与SGD相同的最小值,损失和泛化误差是否得以保持?
主要发现
- 所提出的定向剪枝方法在ResNet50上实现了92%的稀疏度,同时在ImageNet上保持了与完整模型相当的测试精度,在高度稀疏的设置下优于现有剪枝方法。
- 在VGG16与CIFAR-10、WRN28x10与CIFAR-100上,该方法达到与SGD相同的最小值,损失和测试误差无显著偏差。
- 该方法使用的gRDA优化器仅导致实际运行时间略微增加(约比SGD慢15%),且内存占用增加极少,gRDA与SGD的峰值GPU内存消耗差异小于一个标准差。
- 该方法成功地在与平坦子空间对齐的方向上剪枝参数,通过将符号向量投影到海森矩阵的零空间得到验证,确保了损失增加最小化。
- 实证结果表明,剪枝后的模型保持了泛化性能,gRDA与SGD的测试误差曲线在多个架构和数据集上高度重合。
- 代码已公开,支持可复现性,并为定向剪枝方法的进一步基准测试提供了基础。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。