模型剪枝-ICLR2019-RETHINKING THE VALUE OF NETWORK PRUNING

背景

1.一般认为一开始训练一个 large, over-parameterized network 是很重要的,以大模型的性能为基准进行裁剪,一般认为这个方式比从头训练一个小模型的方式是更好的。
2.一般认为裁剪后的网络模型结构及其参数权重都很重要。所以目前大部分方法都是在裁剪后的模型上进行微调

介绍

对于这些修剪算法,重要的是获得的体系结构,而不是保留的权重,尽管训练需要大模型来找到目标体系结构是必须的。

本文结论

1.如果我们的目标小模型是事先确定的,那么可以直接在数据集上训练此模型,得到的性能是最佳的,不比微调的性能差
2.对于目标模型不是事先确定的情况,从头开始训练裁剪后的模型,其得到的网络性能也是最好的,不比微调的差。

模型裁剪的过程本质上可能是一个最优网络结构的搜索过程
也就是说剪枝的主要作用是进行网络结构搜索,通过剪枝发现一个高效的网络结构,剪枝得到的权重其实没那么重要。
在这里插入图片描述
predefined target architectures 这里我们举一个例子来说明一下: prune 50% channels in each layer of VGG,不管是哪个具体的 channels 被裁剪,最终的网络结构是一样的。因为 the pruning algorithm 将每个网络层中 least important 50% channels 裁掉。具体裁剪的比例一般是经验或尝试决定
网络模型可以使用以下几个指标来描述:
model size, memory footprint, the number of computation operations (FLOPs) and power usage
本文选择了三个数据集和三个标准的网络结构
CIFAR-10, CIFAR-100 , and ImageNet
VGG, ResNet, and DenseNet

6个网络裁剪方法:
L1-norm based Channel Pruning (Li et al., 2017)
ThiNet (Luo et al., 2017)
Regression based Feature Reconstruction (He et al., 2017b)
Network Slimming (Liu et al., 2017):
Sparse Structure Selection (Huang & Wang, 2018) :
Non-structured Weight Pruning (Han et al., 2015):

实验

如果从头训练小模型,那么训练时间即迭代次数是一个关键的问题

这里我们做了两个尝试:
Scratch-E 表示和训练大模型的迭代次数一样 to denote training the small pruned models for the same epochs
Scratch-B 表示两者的计算量一样(和大模型训练的计算量)to denote training for the same amount of computation budget

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模型轻量化是指通过减少模型的大小和计算量,以达到模型压缩和加速的效果的技术。其中,剪枝和蒸馏是常用的模型轻量化方法之一。 剪枝Pruning)是一种深度学习模型压缩技术,通过去除神经网络中不必要的参数和连接来减少模型的大小和计算量。剪枝的目标是保持模型的性能不受太大影响的情况下,减少模型的存储和运行成本。剪枝可以根据不同的策略和准则进行,例如根据参数的大小或梯度的大小等进行选择。剪枝之后的模型可能会变得更加复杂,难以解释和理解。[1,2] 蒸馏(Distillation)是另一种模型轻量化方法,它通过将一个复杂模型(教师模型)的知识传递给一个简化版本的模型(学生模型)来减少模型的大小和计算量。蒸馏的目标是在保持模型性能的同时,减少模型的复杂性。蒸馏可以通过训练学生模型使其输出与教师模型的输出尽可能接近来实现。通过蒸馏,学生模型可以学习到教师模型的知识和决策能力,从而达到模型轻量化的效果。 剪枝和蒸馏可以相互结合使用,以进一步提高模型的轻量化效果。剪枝可以先对模型进行压缩,然后使用蒸馏的方法将压缩后的模型与原始模型进行知识传递,以提高轻量化模型的性能。具体步骤中,剪枝通常是在训练完成后进行,去除不必要的参数和连接,然后进行重新训练(Finetune)以得到可用的最优模型。[1,3]<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [模型轻量化-网络剪枝专栏(一)网络剪枝概述](https://blog.csdn.net/KANG157/article/details/130450717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)](https://blog.csdn.net/qq_46098574/article/details/125174256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值