欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

【论文笔记】MetaPruning:用于自动神经网络通道剪枝的元学习-4 实验结果

最编程 2024-04-10 15:08:26
...

在本节中,展示了提出的MetaPruning方法的有效性。首先解释实验设置并介绍如何在MobileNet V1、V2和 ResNet上应用MetaPruning,它可以很容易地推广到其他网络结构。其次,将的结果与统一的剪枝基线以及最先进的通道剪枝方法进行比较。第三,可视化通过MetaPruning获得的修剪网络。最后,进行消融研究以阐述方法中权重预测的效果。

4.1 Experiment settings

所提出的MetaPruning非常有效。因此在ImageNet 2012分类数据集上进行所有实验是可行的。

MetaPruning方法由两个阶段组成。在第一阶段,PruningNet是通过随机结构采样从头开始训练的,与正常训练网络一样需要 1 4 \frac{1}{4} 41数量的epochs。进一步延长PruningNet训练在获得的Pruned Net中几乎没有产生最终的精度增益。在第二阶段,使用进化搜索算法来找到最佳的修剪网络。通过PruningNet预测所有PrunedNet的权重,搜索时无需微调或重新训练,这使得进化搜索非常高效。在8个Nvidia 1080Ti GPU上推断PrunedNet只需几秒钟。然后从头开始训练从搜索中获得的最佳PrunedNet。对于两个阶段的训练过程,使用标准数据增强策略来处理输入图像。对于MobileNets的实验,采用与相同的训练方案;对于ResNet,采用中的训练方案。所有实验的输入图像分辨率均设置为224×224。

在训练时,将原始训练图像分成子验证数据集和子训练数据集。子验证数据集包含从训练图像中随机选择的50000张图像,每个1000类别有50张图像,而剩余的图像则组成子训练数据集。在子训练数据集上训练PruningNet,并在搜索阶段评估剪枝网络在子验证数据集上的性能。在搜索时,使用20000张子训练图像重新计算BatchNorm层中的运行均值和运行方差,以正确推断剪枝网络的性能,这仅需几秒钟时间。在获得最佳剪枝网络后,将剪枝网络从头开始在原始训练数据集上进行训练,并在测试数据集上进行评估。