微软、浙江大学等机构的研究人员提出了一种one-shotDNN剪枝框架,可以是一个轻量级的架构在大型神经网络中获得,这可以显着降低所需的计算能力,同时保持模型的高性能。大型神经网络学习速度很快,而且通常优于较小的模型,但它们巨大的资源需求限制了它们在现实世界中的部署。剪枝是最常见的DNN压缩方法之一,旨在减少冗余结构,瘦身DNN模型并提高其可解释性。然而,现有的剪枝方法通常是启发式的、任务特定的、耗时的、泛化性差的。在一篇名为《 Only Train Once: A One-Shot Neural Network Training And Pruning Framework》的论文中,来自微软、浙江大学等机构的研究人员针对上述问题给出了解决方案,并提出了一种one-shotDNN剪枝框架。它允许开发人员无需微调即可从大型神经网络获得轻量级架构。这种方法在保持其高性能的同时显着降低了模型所需的计算能力。论文链接:https://arxiv.org/pdf/2107.07467.pdf本研究的主要贡献总结如下:One-Shottrainingandpruning。研究人员提出了一种名为OTO(Only-Train-Once)的一次性训练和剪枝框架。它可以将一个完整的神经网络压缩成一个轻量级的网络,同时保持高性能。OTO大大简化了现有剪枝方法复杂的多阶段训练流水线,适用于各种架构和应用,因此具有通用性和有效性。零不变群(ZIG)。研究人员定义了一组零不变的神经网络。如果一个帧被划分为ZIG,它允许我们在不影响输出的情况下修剪零组,其结果是一次性修剪。此功能适用于许多流行的结构,例如全连接层、残差块和多头注意力。新的结构化稀疏优化算法。研究人员提出了半空间随机投影梯度(Half-SpaceStochasticProjectedGradient,HSPG),这是一种解决结构稀疏性导致正则化问题的方法。研究团队在实践中展示和分析了HSPG在促进零基团(相对于标准近端方法)方面的优势。ZIG和HSPG设计为独立于网络,因此OTO对许多应用程序都是通用的。实验结果。使用本文提出的方法,研究人员可以同时从头开始训练和压缩完整模型,而无需对推理速度和参数减少进行微调。该方法在诸如CIFAR10的VGG、CIFAR10/ImageNet的ResNet50和SQuAD的Bert等基准上取得了SOTA结果。方法和实验描述OTO的结构非常简单。给定一个完整的模型,可训练的参数首先被划分为一个ZIG集,从而产生一个结构化的稀疏优化问题,该问题由一个新颖的随机优化器(HSPG)高度组稀疏地解决。最后,通过修剪这些零组来获得压缩模型。团队提出的HSPG随机优化算法是针对非光滑正则化问题设计的。与经典算法相比,该算法在保持相似收敛性的同时更有效地增强了组稀疏搜索。为了评估OTO在unfine-tunedone-shottraining和pruning中的性能,研究人员对CNN的基准压缩任务进行了实验,包括CIFAR10的VGG16、CIFAR10的ResNet50和ImagetNet(ILSVRC2012),研究人员将OTO与当前的每个SOTA算法进行了比较在Top-1准确率和Top-5准确率、剩余的FLOPs和相应的基线参数方面。表1:CIFAR10中的VGG16和VGG16-BN模型性能。在CIFAR10上的VGG16实验中,OTO减少了83.7%的浮点数和97.5%的参数数量,表现不俗。在CIFAR10上的ResNet50实验中,OTO在没有量化的情况下优于SOTA神经网络压缩框架AMC和ANNC,仅使用12.8%FLOPs和8.8%参数。表2:CIFAR10上的ResNet50实验。在ResNet50的ImageNet实验中,OTO减少了64.5%的参数,实现了65.5%的浮点减少,与baseline的top-1/5精度相比只有1.4%/0.8%的差距。表3:ResNet50上的ImageNet。总体而言,OTO在所有压缩基准测试中均取得了SOTA结果,展示了该模型的巨大潜力。据研究人员称,未来的研究将侧重于将量化和应用结合到各种任务中。
