(CVPR2023)Structured Pruning for Deep Convolutional Neural Networks: A survey - 一些优化工具

泰勒展开

在结构化剪枝中,泰勒展开用于近似剪枝结构损失的变化,由于权重会被设为0,因此损失函数的变化可以表示为

用∆𝑤表示W-0,上式可进一步改写

其中L对w的二阶导由H表示,是一个Hessian矩阵,与基于正则化的方法相比,泰勒展开的修剪不需要等到激活训练的足够小

一阶展开可以通过反向传播获得,但信息较少,二阶导数计算上消耗极大,但信息更多。

泰勒一阶展开

Mol-16(2017)使用对特征图激活的导数 的泰勒展开的 一阶信息,用一阶项的绝对值衡量特征图的重要性

Mol-19(2019)使用损失对 包括过滤器权重的一阶信息的平方

泰勒二阶

需要利用Hessian矩阵H,开创性非结构化剪枝Optimal Brain Damage (OBD)(1989)Optimal Brain Surgeon(OBS)(1992)利用的就是H矩阵

结构化剪枝方法

Collaborative Channel Pruning (CCP)(2019)使用一阶导数近似Hessian矩阵,H中的非对角元素反映了两个通道之间的相互作用,因此利用了通道间的依赖性。CCP将信道选择问题建模为一个受约束的0-1二次优化问题,以评估修剪和未修剪信道的联合影响。

Eigen Damage 特征损伤(ED) (2019)是OBD和OBS的扩展,由于计算Hessian很困难,于是使用K-FAC来分解滤波器,并将权重空间投影到Kronecker因子本征空间(KFE)

Group Fisher Pruning (GFP)(2021)解决当多个层的通道耦合并需要修剪其他通道的问题,首先用层分组方法识别耦合通道,之后用Hessian矩阵作为单个通道和耦合通道的重要性标准,使用Fisher 信息将Hessian矩阵转换为一阶导的平方

Hessian-Aware Pruning (HAP)(2021)使用Hessian信息表示通道的灵敏性,修剪不灵敏的通道,使用average Hessian trace近似Hessian 矩阵,计算成本与反向传播相同,

Second-Order Structured Pruning (SOSP) (2021)提出了两种方法,SOSP-I和SOSP-H来近似H。SOSP-I基于高斯-牛顿近似,该近似使用一阶信息。SOSP-H使用快速Hessian矢量乘积近似来实现显著性

变分贝叶斯

贝叶斯推断是利用参数θ和观测数据x的已知先验分布P(θ)来推断后验概率分布P(θ|x)的方法,其计算公式如下

当涉及到大量数据时P(x)的积分难以计算,变分贝叶斯通过变分分布q(x)来近似后验分布P(θ|x),具体的说,就是最小化q(x)和P(θ|x)的Kullback–Leibler(KL)距离,由于计算KL涉及到棘手的后验分布P(θ|x),因此该问题通过等价转化,计算最大化证据下限Evidence Lower BOund (ELBO).

Variational Pruning (VP)(2019)基于随机变量指出的通道重要性,该文章认为基于确定的通道重要性剪枝是不恰当也不稳定的,BN的γ用于指示通道重要性,通过高斯分布对γ进行建模,利用高斯分布的中心性特性和来自N0σ)的样本γ作为稀疏先验分布,在优化ELBO之后,具有接近零均值和小方差的γ的分布被认为是安全的,可以进行修剪,因为这样的分布不太可能具有显著的参数

Recursive Bayesian Pruning (RBP)(2019)以冗余的后验为目标,该后验假设信道之间的层间依赖性,首先,每个输入信道由具有丢弃率r的丢弃噪声θ,然后将丢弃噪声跨层建模为马尔可夫链,以利用信道之间的层间依赖性。为了得到冗余的后验,选择了一个稀疏性诱导的类Dirac先验。此外,RBP[103]采用了重新参数化技巧[235]来缩放相应信道上的噪声θ,以考虑数据适应度。结果,可以以基于梯度的方式将丢弃率r与权重一起更新。当r大于阈值时,通过将相应的通道设置为零来进行修剪。

VIBNet (2018)使用variational information bottleneck变分信息瓶颈,这是理论上度量相邻层的冗余,Louizos et al(2017)使用马蹄形的先验分布接近通道冗余信息的分布,Neklyudov et al.(2017)使用对数正态先验,产生可处理且可解释的对数正态后验。

其他

基于SGD

Centripetal SGD(C-SGD)(2019)使冗余滤波器相同并将相同的滤波器合并为一个滤波器,而不是将滤波器归零。Regularized Modernized Dual Averaging (RMDA)(2021)为RDA算法增加了动量,并确保训练后的模型具有与原始模型相同的结构。为了修剪模型,RMDA采用Group Lasso来促进结构化稀疏性

基于ADMM

Alternating Direction Method of Multipliers乘法器的交替方向法 (ADMM)(2011)是一种优化算法,用于将初始问题分解为两个更小、更易处理的子问题

StructADMM(2021)研究不同类型的结构化稀疏性的解决方案,如filter-wise和shape-wise。

贝叶斯优化

是一种用于黑箱函数全局优化的顺序设计策略,不采用任何函数形式。当修剪涉及超大设计空间的模型时,会出现维数诅咒问题

Rollback(2021)采用RL-style自动通道剪枝,并用BO决定最佳剪枝策略

软阈值

软阈值是数字信号处理领域中的一种去噪算子,Soft Threshold Reparameterization (STR) (2020)采用该算子来学习每层优化的跨层的非均匀稀疏性budget。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值