作为另一个证据,作者也比较BN统计值与真实统计值之间的距离。
值得注意的是,微调还缓解了BN统计数据不匹配的问题,因为训练过程本身会重新计算前向通过中的BN统计值,从而解决了不匹配问题。但是,BN统计信息不是可训练的值,而是仅在推断时间内计算的采样参数。我们的自适应BN正是通过在推理步骤中进行重新采样来针对此问题的,这实现了相同的目标,但是与微调相比,计算成本更低。这是我们声称自适应BN在修剪评估中比基于微调的解决方案更有效的主要原因。
EagleEye剪枝算法
第一步:Strategy generation. 再在给定的限制条件下(参数量,延迟性或者操作方式),生成了若干个剪枝策略(每一层的剪枝率组成的向量我们也可以采用其他策略生成方法,例如强化学习,进化算法等。
第二步:Filter pruning. 过滤器修剪过程会根据前一个模块生成的修剪策略修剪完整尺寸的训练模型。与普通的过滤器修剪方法类似,首先根据过滤器的L1范数对其进行排名,然后将最不重要的过滤器的r永久修剪掉。在此过程之后,可以将来自搜索空间的经过修剪的候选修剪对象准备好传递到下一个评估阶段。
第三步:The adaptive-BN-based candidate evaluation module. 基于自适应BN的候选者评估模块为从先前模块移交的修剪后的候选者提供BN统计信息适应和快速评估。给定一个经过修剪的网络,它将冻结所有可学习的参数,并遍历训练集中的少量数据以计算自适应BN统计量。接下来,我们对所有的子网络,在训练集的一小部分验证集进行准确率评估,我们在选择准确率较高的进行微调。
实验
实验1- 相关性的定量分析
实验2-基于自适应BN的评估方法的通用性
所提出的基于自适应BN的评估方法具有足够的通用性,可以插入并改进一些现有方法。例如,我们将其应用于AMC [7],这是一种基于强化学习(RL)机制的自动修剪方法。作者对这种方法的操作方式和结果进行了说明。
实验3-从修剪候选中选择最佳修剪策略的计算成本
作者提出的基于自适应BN的修剪评估将子网准确度的预测转换为非常快速且可靠的过程,因此与其他基于重型评估的算法相比,EagleEye花费的时间更少完成整个修剪过程。在这一部分中,作者将比较各种最新修剪算法的执行成本,以证明我们方法的效率。表2比较了1000个潜在的修剪候选者中选择最佳修剪策略的计算成本。在所用的方法中,EagleEye是最有效的方法。
实验4-Effectiveness of our proposed method
为了证明EagleEye的有效性,作者将其与在CIFAR-10小型数据集和大型ImageNet数据集上测试的MobileNetV1和ResNet-50模型上的几种最新修剪方法进行了比较。
ResNet表3左侧显示,在CIFAR-10数据集的Top-1准确性方面,EagleEye优于所有比较方法。为了进一步证明所提方法的鲁棒性,作者比较了在不同FLOP约束下在ImageNet数据集上ResNet-50的top-1准确性。对于每个FLOP约束(3G,2G和1G),将生成1000个修剪策略。然后,将基于自适应BN的评估方法应用于每个候选项。我们只对排名前2位的候选网络进行微调,并提供最佳的修剪模型。结果表明,EagleEye在表4中列出的比较方法中取得了最佳结果。
ThiNet
对每个层的通道进行统一的修剪,而不是寻找一个最优的修剪策略,这会严重影响性能。MetaPruning
训练了一个称为“ PruningNet”的辅助网络,以预测修剪模型的权重。但是,采用的原始评估方法可能会误导对修剪策略的搜索。如表4所示,在修剪目标不同的情况下,作者提出的算法优于所有比较方法。
MobileNet我们对MobileNetV1的紧凑模型进行实验,并将修剪结果与"过滤修剪"和直接缩放的模型进行比较。右表3显示,在所有情况下,EagleEye修剪效果均最佳。
总结与讨论
作者所提方法的亮点是一种基于自适应批归一化的快速准确的评估过程。与其他方法相比,作者所提的方法考虑到了与最终微调的收敛准确性的相关性,这是一种比较准确的剪枝策略选择方法,他可以作为一个模块或者插件用于一些剪枝方法中。