[2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural

Title Venue Type Code
Asymptotic Soft Filter Pruning for Deep Convolutional Neural ECCV F PyTorch(SFP)

具体的参考
Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks

Abstract

我们提出一个渐近的软滤波器利用剪枝(ASFP)方法加速深度神经网络的推理过程。
首先,我们在再培训阶段更新修剪后的过滤器。因此,被修剪模型的优化空间不会缩小,而是与原模型相同。这样,模型就有足够的能力从训练数据中学习。
其次,我们渐近地修剪网络。在训练过程中,我们先删除几个过滤器,然后渐进地删除更多的过滤器。
用渐近剪枝法,得到训练的信息

思路

  • 剪枝的方式。采用软剪枝的方式,即剪掉的卷积核设置成0,之后,在继续当做原始模型进行训练。
  • 剪枝的设置。一开始设定一个全全局的裁剪比例,然后,每间隔一定的时间,在上一次的基础上增加一定的比例进行剪枝,直到预设的全局剪枝比例。

一些关键词

  • 迭代式剪枝
  • 软剪枝
  • 可恢复性剪枝方法
  • 渐进式软剪枝
  • 通道剪枝(由Feature map?)?卷积核剪枝?(针对核本身)

1 Introduction

  • 目前问题
  1. 模型容量降低
  2. 无法恢复的卷积核信息丢失。
  • 方法操作对象
    卷积核

  • 总述
    在第一个训练epoch之前,选择小的 L 2 L_2 L2范数的滤波器并将其设置为零。
    然后我们对模型进行再培训,从而可以更新之前修剪过的过滤器。
    在下一个训练时期之前,我们将用小的 L 2 L_2 L2范数修剪一组新的过滤器。
    这些训练过程一直持续到收敛为止。
    最后,具有小的 L 2 L_2 L2范数的滤波器将不会进一步更新,并且被裁剪
    这种软方式使得压缩后的网络具有更大的优化空间和模型容量。

  • 贡献

  1. 我们提出了一种软方法,允许在训练过程中重构以前的修剪滤波器。这种软方式可以显著地保持模型的能力,使网络能够从无到有地同时进行训练和修剪
  2. 为了避免严重的信息丢失,我们建议渐近地对滤波器进行修剪,以进行后续的训练
  3. 在CIFAR-10和ImageNet上的实验证明了所提出的ASFP的有效性和高效性

2 Related Works

  • 矩阵分解

  • 量化

  • 权重剪枝

  • 修剪卷积核:
    数据相关的卷积核修剪
    数据无关的卷积核修剪。

3 Algorithm

相关图解

  • 图1.
    硬过滤器修剪vs .软过滤器修剪。我们将修剪后的过滤器标记为橙色虚线框。对于硬卷积核剪枝,在整个训练过程中被剪枝的滤波器始终是固定的。因此,由于橙色虚线框在训练中毫无用处,降低了模型容量,从而影响了性能。相反,我们的软修剪方法允许在训练过程中更新被修剪的过滤器。通过这种方法,可以从修剪后的模型中恢复模型容量,从而获得更好的精度
    [2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第1张图片

  • 图2
    HFP和SFP的修剪和训练过程。
    之前在训练中,我们首先选择一些具有预先定义重要性的过滤器评估。HFP在训练前直接删除这些过滤器;对于SFP,这些设置为0并保持不变。训练中(第一阶段至)(N), HFP的模型尺寸比原模型小。而对于SFP,零值过滤器(过滤器2和过滤器5)经过处理后变为非零培训时代1。然后我们再次评估过滤器的重要性和修剪过滤器3和4。模型大小将不会减少,但与原来的相同。训练结束后,最终的修剪模型是HFP的历元N模型。而对于SFP,我们删除历元N的零值筛选器(筛选器3和筛选器6),以得到最终结果修剪模型
    [2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第2张图片

  • 图3.
    HFP(第一行)、SFP(第二行)和ASFP(第三行)的概述。
    (a):卷积核在修剪之前实例化。
    (b):卷积核实例化修剪之后。
    ©:重构后的卷积核实例化。过滤器按照它们的p准则和小的过滤器(紫色矩形)排列被选中进行修剪。

[2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第3张图片

算法流程

【v】裁剪流程:
.----------------------------------------------------
0、设定全局裁剪比例 (上一次的比例 + 本次的递增比例。递增比例 = 全局的裁剪比例 * 3/4)
.-------------------
0.1、求当前的裁剪比例。
.-------------------
1、求模型权重的 L2 范数
.-------------------
2、将 L2 范数结果小的置0
-.------------------
3、进入模型新的一轮训练,更新全部的权重(包含被置零的卷积核全部权重。即全零卷积核,与非零卷积核)
.-------------------
4、直到模型全部收敛(收敛是没有收敛条件的,epochs训练裁剪完,就算结束)
.-------------------
5、完全去掉被置 0 的卷积核
.-------------------

[2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第4张图片

4 Experiments

修剪ResNet在CIFAR-10上的总体性能

[2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第5张图片

在CIFAR-上从零开始修剪和预先训练VGGNet10. “FT”表示对修剪后的模型进行“微调”

[2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第6张图片

修剪ResNet在ImageNet上的整体性能。
[2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第7张图片

在不同的测试条件下,CIFAR-10在ResNet-110上的精度是不同的

[2019IEEE Transactions on Cybernetics ] Asymptotic Soft Filter Pruning for Deep Convolutional Neural_第8张图片

你可能感兴趣的:(M_模型压缩)