中文

训练中剪枝滤波器以高效优化深度学习网络

机器学习 2020-03-06 v1 机器学习

摘要

现代深度网络拥有数百万至数十亿参数,导致在训练期间以及资源受限的边缘设备推理期间对内存和能量有高要求。因此,人们提出了剪枝技术以移除深度网络中不太重要的权重,从而降低其内存和计算需求。剪枝通常在训练原始网络之后进行,随后进行进一步重训练以补偿剪枝期间产生的精度损失。剪枝-重训练过程迭代重复,直到达到精度与效率之间的最佳权衡。然而,这种迭代重训练增加了网络的整体训练复杂度。在这项工作中,我们提出一种动态训练中剪枝过程,其中我们在训练本身期间剪枝深度网络卷积层的滤波器,从而避免了单独重训练的需要。我们用三种不同的已有剪枝策略(即基于平均激活的剪枝、随机剪枝和基于 L1 范数的剪枝)评估我们的动态训练中剪枝方法。我们对在 CIFAR10 上训练的 VGG-16 的结果表明,与其他所探索技术相比,L1 范数在剪枝 80% 滤波器后精度下降小于 1%,提供了最佳性能。我们进一步在 CIFAR100 上评估了基于 L1 范数的剪枝机制。结果表明,与原始网络相比,训练中剪枝在剪枝 50% 滤波器后产生几乎无精度损失的压缩网络,而在高剪枝率(>80%)下损失约 5%。所提出的剪枝方法在 CIFAR10、CIFAR100 和 ImageNet 上相比带 10 个周期重训练的训练减少了 41% 的计算量和内存访问量。

关键词

引用

@article{arxiv.2003.02800,
  title  = {Pruning Filters while Training for Efficiently Optimizing Deep Learning Networks},
  author = {Sourjya Roy and Priyadarshini Panda and Gopalakrishnan Srinivasan and Anand Raghunathan},
  journal= {arXiv preprint arXiv:2003.02800},
  year   = {2020}
}