2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

作者: 机器之心 2019-12-16 14:20:04

对于剪枝技术,你了解多少?这里有一份秘籍,整理了 2019 年度的 6 篇论文所提到的最新剪枝方法。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

剪枝是一种帮助神经网络实现规模更小、效率更高的深度学习方法。这是一种模型优化技术,它删除权重张量中不必要的值,从而使得压缩后的神经网络运行速度更快,网络训练过程中的计算成本也有所降低。在将模型部署到手机等边缘设备上时,剪枝的作用更加明显现。

本篇精选了神经网络剪枝领域的一些研究论文,供大家学习参考。

论文 1:Pruning from Scratch (2019)

作者提出了一种从头开始剪枝的网络剪枝流程。他们在 CIFAR10 和 ImageNet 数据集上对多个压缩分类模型进行了试验,结果表明该流程降低了正常剪枝方法的预训练开销,同时提高了网络的准确率。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文链接:https://arxiv.org/pdf/1909.12579.pdf

下图展示了传统剪枝流程的三个阶段:预训练、剪枝和微调。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

这篇论文提出的剪枝技术包括可基于随机初始化权重学得的新的剪枝流程。通道重要性(channel importance)则可通过关联标量门控(scalar gate)值和每个网络层来学得。

优化通道重要性,可在稀疏性正则化的情况下提高模型性能。在此过程中,随机权重并未得到更新。然后,基于给定资源约束,使用二分搜索策略确定剪枝后模型的通道数配置。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

下表展示了模型在不同数据集上的准确率:

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文 2:Adversarial Neural Pruning (2019)

这篇论文主要探讨在遇到对抗扰动时网络隐特征的失真问题。该论文提出的方法是:学习贝叶斯剪枝掩码,来抑制较高级的失真特征,从而最大化其面对对抗扰动的稳健性。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文链接:https://arxiv.org/pdf/1908.04355.pdf

作者考虑了深度神经网络中隐特征的脆弱性。该方法提出剪除脆弱的特征,同时保留稳健的特征。这一过程可通过在贝叶斯框架中对抗地学习剪枝掩码来完成。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

对抗神经剪枝(Adversarial Neural Pruning,ANP)结合了对抗训练和贝叶斯剪枝方法。该论文提出的新模型及其基线模型是:

  • 标准的卷积神经网络(Standard)
  • 使用贝塔-伯努利 dropout(beta-Bernoulli dropout)的 base 网络,即贝叶斯剪枝(BP)
  • 对抗训练网络(AT)
  • 使用贝塔-伯努利 dropout 的对抗神经剪枝(ANP)
  • 使用脆弱抑制损失(vulnerability suppression loss)进行正则化得到的对抗训练网络(AT-VS)
  • 使用脆弱抑制损失进行正则化得到的对抗神经剪枝网络(ANP-VS)

下表展示了模型的性能:

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文 3:Rethinking the Value of Network Pruning (ICLR 2019)

这篇论文提出的网络剪枝方法分为两类,目标剪枝模型的架构由人类或剪枝算法来决定。在实验中,作者对比了从头开始训练剪枝模型和基于继承权重进行微调得到的剪枝模型的结果,该对比针对预定义方法和自动化方法。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文链接:https://arxiv.org/pdf/1810.05270v2.pdf

下图展示了使用基于 L1 范数的滤波器剪枝的预定义结构化剪枝所得到的结果。每一层都使用较小的 L1 范数剪掉一定比例的滤波器。「Pruned Model」列是用于配置每个模型的预定义目标模型列表。我们可以看到,每一行中,从头开始训练的模型性能至少与微调模型持平。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

如下表所示,ThiNet 贪婪地剪去了对下一层的激活值影响最小的通道。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

下表展示了基于回归的特征重建方法的结果。该方法最小化了下一层的特征图重建误差,从而实现对通道剪枝。该优化问题可以通过 LASSO 回归解决。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

至于 Network Slimming,在训练过程中,对批归一化层中的通道级缩放因子施加 L1 稀疏性。之后,利用较低的缩放因子对通道剪枝。由于通道缩放因子经过跨层对比,因此该方法能够得到自动发现的目标架构。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文 4:Network Pruning via Transformable Architecture Search (NeurIPS 2019)

这篇论文提出了直接对具备灵活通道数和层数的网络应用神经架构搜索。实现剪枝网络的损失最小化有利于学习通道数。剪枝网络的特征图由基于概率分布采样的 K 个特征图片段组成,通过反向传播将损失传输到网络权重和参数化分布。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文链接:https://arxiv.org/pdf/1905.09717v5.pdf

剪枝网络的宽度和深度是基于每个分布规模的最大概率得来的,然后通过从原始网络进行知识迁移来获取这些参数。论文作者在 CIFAR-10、CIFAR-100、ImageNet 数据集上评估了该模型。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

该剪枝方法包含三个步骤:

  • 用标准分类训练步骤训练未经剪枝的大规模网络;
  • 通过 Transformable Architecture Search (TAS) 搜索小规模网络的深度和宽度,旨在搜寻最佳规模的网络。
  • 用简单的知识蒸馏(KD)方法,将未经剪枝网络的信息迁移到搜索得到的小规模网络中去。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

下表对比了不同 ResNet 模型经过不同剪枝算法后,所得到的模型在 ImageNet 数据集上的各自表现:

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文 5:Self-Adaptive Network Pruning (ICONIP 2019)

这篇论文提出通过自适应网络剪枝方法(SANP)降低 CNN 的计算成本,通过对每个卷积层引入 Saliency-and-Pruning Module (SPM) 来实现,SPM 模块可以学习预测显著性分数,并对每个通道剪枝。SANP 会根据每个层和每个样本决定对应的剪枝策略。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文链接:https://arxiv.org/pdf/1910.08906.pdf

根据下面的架构图,SPM 模块嵌入在卷积网络的每个层中。该模块可以基于输入特征去预测通道的显著性分数,然后为每个通道生成对应的剪枝决策。

对于剪枝决策为 0 的通道,则跳过卷积运算,然后利用分类目标和成本目标联合训练骨干网络和 SPM 模块。计算成本取决于每一层的剪枝决策。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

下表展示了该方法的一些结果:

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文 6:Structured Pruning of Large Language Models (2019)

这篇论文提出的剪枝方法基于低秩分解和增强拉格朗日 L_0 范数正则化(augmented Lagrangian 10 norm regularization)的原理。L_0 正则化放宽了结构化剪枝带来的约束,而低秩分解则保留了矩阵的密集结构。

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

论文链接:https://arxiv.org/pdf/1910.04732.pdf

正则化让网络去选择待移除的权重。权重矩阵被分解为两个较小的矩阵,然后设置这两个矩阵之间的对角线掩码(diagonal mask)。在训练过程中,使用 L_0 正则化对该掩码执行剪枝。增强拉格朗日方法用于控制模型的最终稀疏程度, 论文作者将该方法叫做 FLOP (Factorized L0 Pruning)。

论文使用的字符级语言模型用在 enwik8 数据集的实验中,该数据集包含选取自维基百科的 100M 数据。作者在 SRU 和 Transformer-XL 模型上评估了 FLOP 方法。下表展示了部分结果:

2019年的最后一个月,这里有6种你必须要知道的最新剪枝技术

以上就是本次为大家介绍的几种剪枝技术,本文介绍的论文也有代码实现,大家可以亲自测试。

技术 研发 指标
上一篇:AI 遇冷?斯坦福年度 AI 报告来揭秘 下一篇:如何使用 Julia 语言实现「同态加密+机器学习」?
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

DeepMind发布神经网络、强化学习库,网友:推动JAX发展

JAX由谷歌提出,是TensorFlow的简化库。结合了针对线性代数的编译器XLA,和自动区分本地 Python 和 Numpy 代码的库Autograd,在高性能的机器学习研究中使用。

十三 ·  2天前
4个步骤成功构建出一个机器学习团队

对一个公司来说,如何从0到1构建一个机器学习团队,是很多公司非常头疼的问题,这篇文章给出了一些建议,对求职者来说,同样具有参考价值。

AI公园 ·  3天前
复工如何避免间接接触?人脸识别门禁实现硬核防控

随着返工日的临近,全国各地陆续恢复生产和工作,与此同时,疫情预防的工作也不可松懈。据悉,新型冠状病毒的传播方式主要为飞沫传播和间接接触,当下,人人出门都会佩戴口罩,并且经常洗手,可以有效预防飞沫传播,而接触公共设施的间接传播方式不容忽视。

佚名 ·  3天前
2020年的7个关键RPA趋势:从人工智能启用到更具战略性的扩展

机器人流程自动化(RPA)服务商Blue Prism公司EMEA地区首席技术官Peter Walker对使企业可以体验采用机器人流程自动化(RPA)优秀结果的2020年有望取得的重大发展进行了预测与分析。

Peter Walker ·  4天前
谈谈网络应用的12个商业聊天机器人

为了推动企业的发展,你会利用AI(人工智能)、ML(机器学习)、NLP(自然语言处理)等一系机器人商业技术。

风车云马 ·  4天前
疫情期间都用上哪些热点技术?AI、5G、RTC,大数据纷纷登场

2020年这场突入其来的疫情,在AI、5G、RTC、大数据等科技技术的帮助下,从技术和数据的维度对疫情期间的预警、防控、追踪起到了非常重要的作用。

允中 ·  4天前
5项人工智能实例,令人惊叹

为了让人工智能成为主流,科学家和研究人员付出了更多的努力。正因如此,这项独创性技术不仅已经融入了人们的日常生活,而且持续影响着多个行业。人工智能是一种不可忽视的力量,从Siri和Alexa这样的语音驱动私人助理到自动驾驶汽车,它一直在不断发展。

读芯术 ·  4天前
人工智能在网络安全运维服务中的应用

近年来,国内外网络安全形势趋于复杂,关系到国民经济命脉的关键信息基础设施在传统模式下得不到有效保护。

信息安全与通信保密 ·  2020-02-19 10:56:09
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载