2/200 AutoCompress: An Automatic DNN StructuredPruning Framework for Ultra-High Compression Rates.

  • Post author:
  • Post category:其他



AutoCompress: An Automatic DNN Structured


Pruning Framework for Ultra-High Compression Rates

来源于2020年AAAI论文


关键词:

Structured weight pruning,AutoCompress,Generic Flow,Core Algorithm


针对问题与解决方法:

由于有大量灵活的超参数,所以需要一个自动的超参数确定过程。本文提出了一个自动化结构剪枝的框架-AutoCompress,并提取了自动处理过程的通用流程。并且用VGG-16和ResNet-18 (ResNet-50)在CIFAR-10及ImageNet数据集上进行的大量实验表明,AutoCompress是在权重和flop数量上实现超高剪枝率的关键,这是以前无法实现的。


结构化剪枝优点

:在GEMM中通过降维来保持完整的矩阵,而不需要索引,从而方便硬件实现。


数据集

:CIFAR-10 and ImageNet datasets


AutoCompress:

具有以下关键性能的改进:

  1. 在自动化过程中有效的纳入结构化修剪方案的组合。

  1. 将最先进的基于ADMM的结构化权重剪枝作为核心算法,并提出了一种创新的额外净化步骤,在不损失精度的情况下进一步降低权重。

  1. 通过基于经验的引导搜索,开发了一种有效的启发式搜索方法,来取代现有的深度强化学习技术,该技术与目标剪枝问题存在潜在的不兼容性。


本文在DNN结构化剪枝的自动超参数确定过程中做出了以下创新性贡献 :


First,

详细分析了这种自动处理过程,并提取了通用流程,分为四个步骤:

(i) 动作采样

(ii) 快速动作评估

(iii) 决策

(iv) 实际剪枝和结果生成

由于超参数的搜索空间较高,步骤(i) 和(ii) 应较快。对于步骤(ii) ,因为我们不能使用耗时的、基于再训练的权重修剪(例如,固定正则化(Wen et al.2016;He,Zhang和Sun2017)或基于ADMM的技术)来评估实际的精度损失。取而代之的是,我们只能使用简单的启发式,例如,消除每个层的权值最小的预定义部分(基于所选择的超参数),并评估精度, 这类似于(AMC He et al.2018)。

步骤(iii),根据动作样本的收集和评估,对超参数值进行决策。

步骤(iv) 生成剪枝结果,这里将使用结构化权重剪枝的优化(核心)算法,算法可能更复杂,性能更高(例如,基于ADMM的算法),因为它在每一轮中只执行一次。

整体自动过程往往是迭代的,以上步骤(i)至(iv)只反映一轮。 因为很难在一个单轮中搜索到高剪枝率,并且整个权重剪枝过程将是渐进的。这适用于AMC和AutoCompress。


Second,

与以前的工作相比,我们确定了性能改进的三个来源。


滤波器修剪(与通道剪枝相关)和列修剪的有效组合

将比单独滤波器修剪(如AMC(He et al.2018))

表现得更好

,这是因为列剪枝的高度灵活性,同时在GEMM中保持硬件友好的全矩阵格式;


采用了基于ADMM的权重剪枝的核心算法:

在非结构化和结构化权重剪枝方面都产生了最新的结果。该算法的主要步骤是ADMM正则化,对基于ADMM的算法进一步改进了一个净化步骤。

ADMM正则化本质上是一个动态的、基于L2范数的正则化过程,正则化后存在大量非零的、小的权值。 在每次迭代过程中动态调整正则化目标,不对所有权值进行惩罚。 这就是ADMM正则化优于固定L1、L2正则化或投影梯度下降(projected gradient descent PGD)的原因。 为了进一步提高收敛速度,在ADMM正则化中采用了multi-ρ方法(Ye et al.2018),其中ρi值将随着ADMM迭代而逐渐增加。


改进的第三个来源

是行动抽样(步骤(i))和决策(步骤(iii))的基本原则。 在(He et al.2018)中基于DRL的框架采用了基于探索与开发的行动采样搜索。 在步骤(iii)中,利用动作样本和快速评价训练神经网络,并利用神经网络对超参数值进行决策 。


Furthermore,

我们发现DRL框架与目标剪枝问题的特点存在潜在的不相容性,并得出结论,通过基于经验的引导搜索增强有效的启发式搜索方法可以同时缓解这些问题。

GEMM(general matrix multiplication):DNN中的conv操作通常通过将权值张量和特征映射张量转换为矩阵来转化为矩阵乘法。

NAS(Neural architecture search)是AutoML的代表性应用, NAS已经部署在Google的Cloud AutoML框架中,将客户从耗时的DNN架构设计过程中解放出来。

AMC(Automl for model compression and acceleration on mobile devices. In ECCV。2018),将AutoML应用于DNN权重修剪,利用与Google AutoML类似的DRL框架为目标DNN的每一层生成权重修剪率。 AMC局限:

  1. 它采用基于固定正则化的早期权重剪枝技术;

  1. 它只考虑结构化剪枝的过滤器剪枝;

  1. 所使用的DRL框架与该问题之间的潜在不兼容性进一步限制了其实现高权重剪枝率的能力(在(He et al.2018)中报告的最大剪枝率仅为5×,并且是非结构化剪枝)。

本文重点讨论在CONV层结构化剪枝,conv层是DNN中计算量最大的层,也是现有DNN(如resnet)中的主要存储层。

经大量实验得出结论: 自动压缩是实现以前无法实现的权重数和flop数超高剪枝率的关键,而DRL无法与人类专家竞争实现高结构化剪枝率。



版权声明:本文为weixin_72380563原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。