The generalization-stability tradeoff in neural network pruning

摘要

  1. 开始时,剪枝作为一种模型压缩的方法被开发出来,后来发现有防止过拟合的作用。
  2. 定义剪枝不稳定(pruning instability):即剪枝后测试精度的下降。

在这里插入图片描述

  1. 本文探究剪枝对于模型泛化能力的影响,发现结论1:随着剪枝不稳定(pruning instability)的增加,泛化能力有所提高。 PS:或者说泛化能力与剪枝稳定性呈反比。

  2. 对结论1做出了解释:剪枝相当于向模型注入噪声

    其实剪枝也是模型训练的一种后处理方式,而改善模型训练的方法之一就是增加噪声,只不过以前我们增加噪声是随机增加(其实剪枝算法也有随机的),但如果将剪枝也看做是注入噪声的方式,那么剪枝就是一种准则添加噪声的方法

  3. 更少的剪枝稳定性获得了更为平坦的模型(less pruning stability leads to more model flatness)。(我也许翻译的不对)

Introduction

  1. 模型泛化界:增加参数不会导致模型的过拟合

    其实我感觉如果你用一个resnet110 去训练 cifar10 那么必然过拟合,也不知道他们是什么意思。

  2. 剪枝界: 减少参数可以减少过拟合。那么到底谁说的对?

    这个倒是没有什么根据,完全是人们观察到的现象

  3. 我们提供了这个问题的答案,阐明了一个正则化机制的剪枝分离了其对参数计数的影响。(We provide an answer to this question by illuminating a regularization mechanism in pruning separate from its effect on parameter counts.)

    这句话倒是没有理解,各位大佬帮帮忙

  4. instability 的定义:即剪枝后测试精度的下降。而 stability 则是剪枝界的首要目标,然而我们发现:剪枝的 stability 和模型的泛化性能呈现出负相关。(we find that pruning stability is negatively correlated with the final level of generalization attained by the pruned model.)

    就是说如果我们剪枝的后的高精度和模型的泛化性能无法兼得

在这里插入图片描述

  1. 此外,我们发现就算减去最大的权重,导致了测试的精度下降(stability 下降),但模型的泛化性能却没有改变。

    这倒是一个比较好的点,因为一般的剪枝论文都关注精度下降,而没有关注模型的泛化性能。不过他这个泛化性能 是指什么呢?

  2. 得出结论:影响模型泛化性能的不是参数量的减少,而是 stability.

  3. 实验:让被剪的参数,在 finetune 之后回到网络中,泛化性能仍旧存在。所以 结论2 :剪枝提升泛化能力的关键是在于参数的永久性移除

    这个实验令人震惊,但是有点匪夷所思。

  4. Adam 算法比 SGD 算要好一些

猜你喜欢

转载自blog.csdn.net/qq_43110298/article/details/112474170