赞
踩
论文名:Comparing Rewinding and Fine-tuning In Neural Network Pruning
论文作者:Alex Renda et.al.
期刊/会议名:ICLR 2020
本文作者:XMU_MIAO
日期:2020/11/22
许多神经网络剪枝算法分三个步骤进行:1)训练一个完整的网络,2)从网络中移出不想要的结构以压缩网络,3)重训练剩余部分恢复精度。标准的再训练技术 f i n e − t u n i n g fine{-}tuning fine−tuning使用一个固定的较小的学习率从最后训练值(网络初始化训练结束得到的网络权重)来训练未剪枝的权重。
在这篇文章中,对比了 f i n e − t u n i n g fine{-}tuning fine−tuning与其他重训练技术。 W e i g h t r e w i n d i n g Weight\,\,rewinding Weightrewinding回退未剪枝权重为网络训练早期的值并从使用原网络的从回退点开始对应的训练策略(学习率调整策略)。 L e a r n i n g r a t e r e w i n d i n g Learning\,\,rate\,\,rewinding Learningraterewinding(本文提出的)从最后训练值来训练未剪枝的权重,训练策略则与 W e i g h t r e w i n d i n g Weight\,\,rewinding Weightrewinding一样。两种 r e w i n d i n g rewinding rewinding技术都优于 f i n e − t u n i n g fine{-}tuning fine−tuning,形成了一种与网络无关的剪枝算法的基础,该算法与几种更特定于网络的最新技术的精度和压缩比相匹配(相似)。
剪枝是一类用于从网络中删除 w e i g h t s weights weights、 f i l t e r s filters filters、 n e u r o n s neurons neurons或其它结构的技术。剪枝能够压缩各种任务的标准网络,包括CV和NLP,同时保持原始网络的准确性。
在文献中确定了两类剪枝技术:第一类,在整个标准训练过程中对网络进行修剪,在训练结束时产生一个修剪后的网络;另外一类,在标准训练之后再进行剪枝。 特别的是,标准训练之后对网络进行剪枝会造成精度下降,因此,标准做法是对剪枝后的网络进行再训练以恢复精度。剪枝和再训练可以迭代进行,直到达到目标稀疏度或精度阈值。这样做通常比一次性 ( o n e − s h o t ) (one{-}shot) (one−shot)剪枝获得更高的精度。基于再训练的剪枝算法的单一迭代过程如下所示:
(1)训练一个完整的网络
(2)根据一些启发式方法修剪网络结构
(3)重训练网络 t t t个 e p o c h s epochs epochs以恢复剪枝带来的精度损失
本文对比了三种重训练技术, f i n e − t u n i n g fine{-}tuning fine−tuning、 W e i g h t R e w i n d i n g Weight\,\,Rewinding WeightRewinding以及 L e a r n i n g R a t e R e w i n d i n g Learning\,\,Rate\,\,Rewinding LearningRateRewinding,以下用简单的示意图来表示三种技术:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。