卷积神经网络 (CNN) 在各种应用中的成功伴随着计算和参数存储成本的显著增加。最近为减少这些开销所做的努力包括修剪和压缩各个层的权重,同时力求不牺牲性能。在本文中,我们提出了一种受神经网络可解释性启发的 CNN 修剪新标准:使用从可解释人工智能 (XAI) 概念中获得的相关性分数,自动找到最相关的单元,即权重或过滤器。通过探索这个想法,我们将可解释性和模型压缩研究联系起来。我们表明,我们提出的方法可以在迁移学习设置中有效地修剪 CNN 模型,在这种设置中,在大型语料库上预训练的网络可以适应专门的任务。该方法在广泛的计算机视觉数据集上进行了评估。值得注意的是,我们的新标准不仅在进行连续再训练时与最先进的修剪标准相比具有竞争力或更好,而且在资源受限的应用场景中,其表现明显优于这些先前的标准,在这种场景中,要迁移到的任务的数据非常稀缺,并且人们选择不进行微调。我们的方法能够迭代压缩模型,同时保持甚至提高准确性。同时,它的计算成本与梯度计算的数量级相当,并且应用起来相对简单,无需调整修剪的超参数。
摘要 — 现代深度神经网络,尤其是最近的大型语言模型,具有巨大的模型大小,需要大量的计算和存储资源。为了能够在资源受限的环境中部署现代模型并加快推理时间,研究人员越来越多地探索修剪技术作为神经网络压缩的热门研究方向。从 2020 年到 2024 年,已经发表了三千多篇修剪论文。然而,关于修剪的最新综合评论论文却很少。为了解决这个问题,在这篇调查中,我们对现有的深度神经网络修剪研究工作进行了全面的回顾,分类为 1) 通用/特定的加速,2) 何时修剪,3) 如何修剪,以及 4) 修剪与其他压缩技术的融合。然后,我们对八对对比设置(例如非结构化/结构化、一次性/迭代、无数据/数据驱动、初始化/预训练权重等)进行了彻底的比较分析,并探讨了几个新兴主题,包括大型语言模型、视觉变压器、扩散模型和大型多模态模型的修剪、训练后修剪以及不同级别的监督修剪,以阐明现有方法的共性和差异,并为进一步的方法开发奠定基础。最后,我们就选择修剪方法提出了一些有价值的建议,并展望了神经网络修剪的几个有前途的研究方向。为了促进未来对深度神经网络修剪的研究,我们总结了广泛的修剪应用(例如,对抗鲁棒性、自然语言理解等),并建立了一个精选的数据集、网络和不同应用的评估集合。我们在 https://github.com/hrcheng1066/awesome-pruning 上维护了一个存储库,它是神经网络修剪论文和相应开源代码的综合资源。我们将不断更新此存储库,以包含该领域的最新进展。
卷积神经网络(CNN)被广泛用于图像分类。为了使CNN适合在资源有限的系统(如FPGA)上实现,剪枝是一种降低复杂度的流行技术。本文以VGG16为例,评估了剪枝后的CNN对FPGA加速器权重和配置内存错误的鲁棒性,并考虑了两种流行的剪枝方法(基于幅度和过滤器剪枝)。特别地,基于故障注入实验测试了原始VGG16和具有不同剪枝率的VGG16的精度损失,结果表明两种剪枝方法对权重和配置内存的错误影响不同。对于权重错误,使用两种方法剪枝的网络在剪枝率较高的情况下表现出更高的可靠性,但使用过滤器剪枝的网络可靠性相对较低。对于配置内存错误,大约30%的配置位上的错误会影响CNN操作,其中只有14%会导致显着的精度损失。但相同关键比特位对于两种剪枝方法的影响是不同的,采用基于量级方法剪枝后的网络可靠性低于原始VGG16,而采用过滤器剪枝后的网络可靠性高于原始VGG16。从CNN加速器的结构和两种剪枝方法的性质出发,解释了这种不同的影响,并评估了基于量级方法量化对CNN可靠性的影响。
网络压缩由于能够减少推理过程中的内存和计算成本而得到了广泛的研究。然而,以前的方法很少处理残差连接、组/深度卷积和特征金字塔网络等复杂结构,其中多层的通道是耦合的,需要同时进行修剪。在本文中,我们提出了一种通用的通道修剪方法,可应用于各种复杂结构。特别地,我们提出了一种层分组算法来自动查找耦合通道。然后,我们基于 Fisher 信息推导出一个统一的度量来评估单个通道和耦合通道的重要性。此外,我们发现 GPU 上的推理加速与内存 2 的减少而不是 FLOPs 的减少更相关,因此我们采用每个通道的内存减少来规范重要性。我们的方法可以用来修剪任何结构,包括具有耦合通道的结构。我们对各种骨干网络进行了广泛的实验,包括经典的 ResNet 和 ResNeXt、适合移动设备的 MobileNetV2 以及基于 NAS 的 RegNet,这些实验都针对尚未得到充分探索的图像分类和对象检测。实验结果验证了我们的方法可以有效地修剪复杂的网络,在不牺牲准确性的情况下提高推理速度。
本文探讨了在迁移学习应用中使用神经网络修剪来实现更高效的推理。目标是将神经网络集中并优化在较小的专门目标任务上。随着物联网的出现,我们看到基于人工智能的移动和嵌入式设备(如可穿戴设备和其他智能设备)的应用大幅增加。然而,随着机器学习算法的复杂性和能力不断增加,由于这些设备上资源有限,这种向边缘的推进带来了新的挑战。需要某种形式的压缩才能让最先进的卷积神经网络在边缘设备上运行。在这项工作中,我们调整了现有的神经网络修剪方法,使它们能够专门化网络,使其仅关注最初训练的子集。这是一个迁移学习用例,我们优化大型预训练网络。这与标准优化技术不同,它允许网络忘记某些概念,并使网络的占用空间更小。我们比较了不同的修剪标准,包括可解释人工智能 (XAI) 领域的标准,以确定哪种技术可以实现尽可能小的网络,同时保持目标任务的高性能。我们的结果显示了在嵌入式设备上执行神经网络时使用网络专业化的好处,无论是否使用 GPU 加速。
如今,电子游戏行业正在迅速发展,并受到越来越多的关注。该行业通过不断突破可能的界限来激发创新,从而鼓励人们创造新技术。由于这种快速变化,许多传统的策略棋盘游戏正在失去人们的兴趣。使用人工智能创建数字化版本将使这些游戏重新吸引到大量观众的关注中。国际象棋就是数字化棋盘游戏的一个很好的例子。这种游戏的许多不同实现都使用 Minimax 或 Alpha-Beta 剪枝算法 [8]。Minimax 是一种算法,它首先假设 AI 总是会移动以最大化评估函数给出的分数,而对手总是会移动以最小化该分数。对于每个节点,我们可以递归地将其分数定义为如果是最大玩家的回合,则其子节点的分数的最大值,否则为最小值。叶子节点由评估函数评分 [9]。Alpha beta 剪枝是一种改进的 Minimax 算法。该算法并不计算所有节点——它会剪掉那些不影响可能结果的节点。[9]
海量的参数和计算需求阻碍了大型语言模型 (LLM) 的广泛应用。网络剪枝为该问题提供了一个实用的解决方案。然而,现有的 LLM 剪枝工作主要集中于非结构化剪枝或需要剪枝后微调。前者依靠特殊硬件来加速计算,而后者可能需要大量的计算资源。在本文中,我们介绍了一种无需再训练的结构化剪枝方法,称为 SoBP ( S structured O ptimal Brain P runing)。它利用全局一阶信息来选择剪枝结构,然后用局部贪婪方法对其进行细化,最后采用模块重构来减少信息丢失。我们在 8 个不同的数据集上对来自 3 个 LLM 系列的 14 个模型的有效性进行了评估。实验结果表明 SoBP 优于当前最先进的方法。
深度卷积神经网络 (DNN) 取得了显著成功,广泛应用于多种计算机视觉任务。然而,其庞大的模型规模和高计算复杂度限制了其在 FPGA 和 mGPU 等资源受限的嵌入式系统中的广泛部署。作为两种最广泛采用的模型压缩技术,权重剪枝和量化分别通过引入权重稀疏性(即强制将部分权重设为零)和将权重量化为有限位宽值来压缩 DNN 模型。尽管有研究尝试将权重剪枝和量化结合起来,但我们仍然观察到权重剪枝和量化之间的不协调,尤其是在使用更激进的压缩方案(例如结构化剪枝和低位宽量化)时。本工作以 FPGA 为测试计算平台,以处理单元(PE)为基本并行计算单元,首先提出一种 PE 级结构化剪枝方案,在考虑 PE 架构的同时引入权重稀疏化,并结合优化的权重三元化方法,将权重量化为三元值({- 1 , 0 , +1 }),将 DNN 中主要的卷积运算从乘法累加(MAC)转换为仅加法,同时将原始模型(从 32 位浮点数到 2 位三元表示)压缩至少 16 倍。然后,我们研究并解决了 PE-wise 结构化剪枝与三元化之间的共存问题,提出了一种自适应阈值的权重惩罚剪枝 (WPC) 技术。我们的实验表明,我们提出的技术的融合可以实现最佳的 ∼ 21 × PE-wise 结构化压缩率,而 ResNet- 18 在 ImageNet 数据集上的准确率仅下降 1.74%/0.94% (top-1/top-5)。
摘要 深度神经网络 (deep NN) 的性能取决于大量需要训练的权重参数,这是一个计算瓶颈。更深层次的架构日益增长的趋势对资源受限设备上的训练和推理方案造成了限制。剪枝是去除深度 NN 中不重要的参数并使其更容易在资源受限的设备上部署以供实际应用的重要方法。在本文中,我们提出了一种基于启发式的新型滤波器剪枝方法来自动识别和剪枝不重要的滤波器,并加快资源有限设备上的推理过程。不重要的滤波器的选择由一种新颖的剪枝估计器 (c) 进行。所提出的方法在各种卷积架构 AlexNet、VGG16、ResNet34 和数据集 CIFAR10、CIFAR100 和 ImageNet 上进行了测试。在大规模 ImageNet 数据集上的实验结果表明,VGG16 的 FLOP 可降低高达 77.47%,实现 5 倍推理加速。与其他最先进方法相比,更流行的 ResNet34 模型的 FLOP 降低了 41.94%,同时保持了具有竞争力的性能。
如果神经网络规模较大,则往往在训练时获得更高的准确度,即使生成的模型参数过多。但是,在训练之前、之中或之后小心地删除过多的参数,也可能产生准确度相似甚至更高的模型。在许多情况下,这可以通过简单的启发式方法实现,例如删除一定比例的绝对值最小的权重,即使绝对值并不是权重相关性的完美指标。前提是,获得明显更佳的剪枝性能取决于考虑删除多个权重的综合影响,因此,我们重新审视基于影响的剪枝的经典方法之一:最佳脑外科医生 (OBS)。我们提出了一种易于处理的启发式方法来解决 OBS 的组合扩展,其中我们选择要同时删除的权重,并将其与未剪枝权重的单次系统更新相结合。我们的选择方法在高稀疏性方面优于其他方法,如果在这些方法之后应用单次权重更新,也会很有优势。源代码:github.com/yuxwind/CBS。