
摘要
我们展示了我们称之为稀疏学习的可能性:在训练过程中保持权重稀疏的同时加速深度神经网络的训练,并达到与密集模型相当的性能水平。我们通过开发稀疏动量算法实现了这一目标,该算法利用指数平滑梯度(动量)来高效地识别出能够减少误差的层和权重。稀疏动量根据每层的平均动量大小重新分配被剪枝的权重。在同一层内,稀疏动量根据零值权重的动量大小增长权重。我们在MNIST、CIFAR-10和ImageNet数据集上展示了最先进的稀疏性能,相比其他稀疏算法,分别将平均误差相对降低了8%、15%和6%。此外,我们还证明了稀疏动量能够可靠地再现密集模型的性能水平,同时提供最高5.61倍的训练加速。在我们的分析中,消融实验表明,动量重新分配和增长的好处随着网络深度和规模的增加而增加。此外,我们发现稀疏动量对超参数的选择不敏感,这表明稀疏动量具有鲁棒性和易用性。
代码仓库
google-research/rigl
tf
GitHub 中提及
TimDettmers/sparse_learning
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-classification-on-cifar-10 | WRN-22-8 (Sparse Momentum) | Percentage correct: 95.04 |
| image-classification-on-mnist | LeNet 300-100 (Sparse Momentum) | Percentage error: 1.26 |