(CVPR2023)Structured Pruning for Deep Convolutional Neural Networks: A survey - 基于激活的剪枝

 

Activation Maps是输入数据和卷积核卷积的结果,可以用于filter修剪,

根据对i层的评估所用到的激活层进行分类

当前层

Channel Pruning (CP)(2017)通过一个2步迭代的算法逐层裁枝,优化函数是LASSO回归和最小二乘法重建误差,第一步是需要找出最具代表性的通道,然后将其他的通道删掉,这一步是基于LASSO回归做的;第二步是利用选取的通道重建C层的特征图,这一步是使用最小均方误差来表示重建误差。

Hrank(2020)使用来自一小组输入数据的当前层的激活图的平均秩作为filter重要性,一个重要的发现是,无论接收到什么数据,单个滤波器都会生成具有相同平均秩的激活图,在确定平均秩之后,提出了一种逐层修剪算法来保留前k个滤波器

Coreset-Based Compression (CBC) (2018)filter的评分基于整个训练集的激活规范的平均值。然后使用二分搜索来找到满足精度约束的最少filter数量

CHannel Independence (CHIP)(2021)利用通道独立性评估,通道独立性由跨通道相关性决定,表明通道是否线性依赖于其他通道。通道的独立性越大,其重要性越高,通道重要性是通过测量激活图的核范数变化来确定的。

Average Percentage of Zero (APoZ) (2016) current layer's post-activation maps 当前层的后激活图即经过Relu之类的函数输出的激活图,激活后图的APoZ值的百分比用于衡量通道重要性,APoZ越小,说明激活图被激活的部分越大,说明对最终结果的共享越大

DropNet(2020)利用激活后图的平均值作为度量。在这个度量下,APoZ认为重要的一个小的非零激活值在DropNet中不再重要。使用该指标有两个原因。首先,一个小的平均值表示存在许多非活动节点,也意味着这些节点对学习的适应性较差。

相邻层

ThiNet(2017)使用层 l+1(下一层)激活映射来指导层 l (当前层)的修剪。主要思想是用层 l 的激活图的子集近似层 l + 1 的激活图,这些子集之外的通道被修剪。

Approximated Oracle Filter Pruning (AOFP) (2019)平行操作网络的所有层,用二分搜索的方式确定每层的剪枝数

ThiNet中采用的搜索过程是贪婪的自底向上的方法,而AOFP采用的是自顶向下的二分搜索

runtime neural pruning (RNP)(2017) and feature boosting and suppression (FBS)(2019) 利用L-1层的全局平均池化结果,这两种方法还进行动态推理修剪。

所有层

Neuron Importance Score Propagation (NISP)(2017)使用最终响应层(Final Response Layer FRL)来确定神经元的重要性,因为所有前一层的误差都会传播到FRL

Discrimination-aware Channel Pruning判别感知通道修剪 (DCP) (2018) 这些通道在没有的情况下显着改变最终损失。然而,由于传播路径长,修剪浅层通常会触发最终损失的减少较小。为了解决这个问题,将判别感知损失引入中间层的每一层,然后使用贪心算法根据基线和修剪网络之间的判别感知损失和重建损失来选择通道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值