说明

现代深度神经网络需要大量的计算时间和计算能力来训练和部署,这限制了它们在边缘设备上的应用。受**假设(Frankle&Carbin,2018)中迭代权重剪枝的启发,我们提出了一种迭代剪枝方法DropNet,它通过剪枝节点/滤波器来降低网络复杂度。DropNet迭代地删除所有训练样本中具有最低平均postactivation value的节点/滤波器。经验上,我们表明DropNet在不同的场景中都是稳定的,包括使用MNIST和CIFAR数据集的MLP和CNN。实验表明,高达90%的节点/滤波器可以被移除,而不会有任何明显的精度损失。即使在重新初始化权重和偏差的情况下,最终修剪后的网络也表现良好。DropNet还具有类似于Oracle的精确度,它贪婪地一次删除一个节点/过滤器,以最大限度地减少训练损失,从而突出其有效性。

贡献

  1. 提出的DropNet,是一种带重新初始化权重的迭代节点/滤波器剪枝方法,它迭代地删除所有训练样本(无论是分层的还是全局的)**后平均值最低的节点/滤波器,从而降低了网络复杂度。
  2. 与几个基准指标相比,DropNet在广泛的场景中实现了有较好的鲁棒性。DropNet实现了与Oracle类似的性能,后者一次贪婪地删除一个节点/滤波器,以最大限度地减少训练损失。
  3. DropNet不需要特殊的权重和偏差初始化(与(Frankle&Carbin,2018)不同)。在随后的实验中表明,剪枝模型的随机初始化将与原始初始化一样好。这意味着可以使用现成的机器学习库和硬件轻松部署DropNet删减的体系结构。

动机

节点的预期绝对值:使用节点在所有训练样本(x1,x2,..,xt)(x_1,x_2,..,x_t)上的期望绝对值来评估其重要性。对于网络中所有nn个节点,我们具有其期望绝对值为
E(ai)=1tj=1tV(aixj)E\left(a_{i}\right)=\frac{1}{t} \sum_{j=1}^{t}\left|V\left(a_{i} \mid x_{j}\right)\right|
滤波器的预期绝对值:中E(fi)E(f_i)是所有训练样本(x1,x2,..,xt)(x_1,x_2,..,x_t)上的滤波器fif_i的期望绝对值。
E(fi)=1rj=1rE(aj)E\left(f_{i}\right)=\frac{1}{r} \sum_{j=1}^{r}\left|E\left(a_{j}\right)\right|

  1. 因为当X<=0X<=0时候,**值比较小,所以这个node的功能相当于没有启动。所以**值较小的可以删去,影响不大。
  2. 在反向传播过程中,输入权重带着比较低的期望绝对值将被更新的很小,这意味着该节点对从输入中学习的适应性较差,与移除适应性较强的节点相比,移除这些适应性较差的节点对分类精度的影响更小。

方法

DropNet使用以下度量应用算法:以所有训练样本的平均**值(分层或全局)为度量标准,在每个训练周期结束后,使用该度量对每个节点/过滤器进行重要性打分,并丢弃最不重要的节点/滤波器。DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)
DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

实验

一些说明:
minimum:修剪P比例的最低**值部分(全局)。
maxmum:最大标准是与最小作比较(全局)。
random:随机剪枝一部分节点(全局)。
minimum layermaximum layerrandom layer, 它们逐层修剪p比例的节点/滤波器。

所用模型

DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

实验1 MLP - MNIST

使用网络:

  • Model A: FC40 - FC40
  • Model A: FC20 - FC40
  • Model A: FC40 - FC20
    DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

评估:对于隐藏层具有相等数量的神经元,选择minimum layer效果更好;不等时,minimum更具有竞争力。

实验2 CNN - MNIST

使用的网络

  • Model B: Conv64 - Conv64
  • Model B: Conv32 - Conv64
  • Model B: Conv64 - Conv32
    DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

评估:与全连接层结果一致,对于卷积层具有相等数量的滤波器,选择minimum layer效果更好;不相等时,minimum具有竞争力。

实验3 CNN - CIFAR-10: Model C

使用的网络

  • Model B: Model C: Conv64 - Conv64 - Conv128 - Conv128
  • Model B: Model C: Conv128 - Conv128 - Conv256 - Conv256
    DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

评估:当删除比例少于一半时候minimumminimum layer都比较有竞争力,当删除比例再增加,minimum layer效果更好。同时表明,对于更大的卷积模型(如模型C),全局剪枝方法(minimum)可能不如分层剪枝方法(minimum laye)具有竞争力。

实验4 CNN - CIFAR-10: ResNet18/VGG19

DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)
评价:对于较大的模型,minimum layer最具竞争力,逐层度量的性能优于全局度量。这表明对于较大的模型,层之间可能存在显著的统计差异,从而跨层比较幅度可能不是修剪节点/过滤器的好方法。

事实证明,minimum几乎与ResNet18的minimum layer效果相当,但是VGG19的性能比随机度量要差。这表明ResNet18中的跳跃连接有助于减轻全局度量的一些缺陷。有趣的是,minimum往往会完全删除一些跳过连接,这表明某些跳过连接是不必要的。这意味着使用最小度量的DropNet能够自行自动识别这些冗余连接。总体而言,使用DropNet,我们可以在不显著影响模型精度的情况下将过滤器数量减少80%或更多,从而突出了其在降低网络复杂性方面的有效性,即使在较大的模型中也是如此。

实验5 实例分析 - Oracle Comparison

本实验作者对对比的对象是oracle,作者将oracle定义为在每次迭代算法时贪婪地从所有剩余的节点/过滤器中删除一个节点/过滤器的算法,从而使总体训练损失最小化。
使用的网络

  • Model A: FC20 - FC20
  • Model B: Conv20 - Conv20
    DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

评价:结果表明,总体来说,最小度量即使与oracle相比也是有竞争力的。这表明最小度量确实是具有竞争力的标准,删除节点/滤波器。此外基于算法的时间复杂度oracle相比更低。

实验6 实例分析-Random Initialization

目的:探究权重和偏差的开始初始化重要吗?
使用的网络

  • Model A: FC20 - FC20
  • Model B: Conv64 - Conv64
  • Model C: Conv64 - Conv64 - Conv128 - Conv128
    DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

评价:结果说明,对于DropNet来说,重要的只是最终的修剪后的网络架构,而不是网络的初始权重和偏差。

实验7 实例分析:Percentage of nodes/filters to Drop

目的:谈及是否可以一次删除更多节点/过滤器,以减少训练周期数,并在不影响精度的情况下更快地修剪模型。
使用的网络

  • Model A: FC20 - FC20
  • Model B: Conv64 - Conv64
  • Model C: Conv64 - Conv64 - Conv128 - Conv128
    DropNet: Reducing Neural Network Complexity via Iterative Pruning(论文阅读)

评价:总体而言,每个训练周期删除较大比例pp的节点/滤波器会导致较差的性能。结果还表明,在某些条件下,通过采用较大的pp可以更快地迭代算法1。但还需要做进一步的试验来确定最优修剪比例pp,但p=0.2p=0.2似乎是有竞争力的。

相关文章:

  • 2021-04-12
  • 2022-01-19
  • 2021-11-23
  • 2021-09-08
  • 2021-10-07
  • 2021-12-05
  • 2021-12-20
  • 2021-11-15
猜你喜欢
  • 2021-06-09
  • 2021-04-22
  • 2021-07-22
  • 2022-01-07
  • 2021-11-02
  • 2021-09-23
  • 2022-12-23
相关资源
相似解决方案