HRCP·

摘要

近年来,深度学习算法在目标检测任务中表现出显著的性能,并已应用于智能网络车辆和无人机等许多领域。与视频监控等其他领域不同,智能联网车辆和无人机领域只有资源有限的平台,对模型存储和实时推理的要求很高。为了满足这些要求,开发了模型压缩方法来减少模型参数和计算。由于通道剪枝是一种粗粒度的硬件友好的权重剪枝方法,因此被广泛应用于模型压缩。大多数研究只集中在利用批量归一化(BN)层的比例因子来确定是否修剪某个通道。然而,当移位因子的值很大时,它变得非常重要。移位因子大的信道对后续层影响很大。在本文中,我们考虑了移位因子来保护这些通道。我们首先引入网络构件来分析YOLOv3-SPP3模型,并论证了在剪枝过程中移位因子对信道显著性的重要性。然后,我们提出了一种新的剪枝方法——高比率通道剪枝(HRCP),以提高剪枝模型的性能。我们的实验结果表明,当模型体积相应减少50%、88%和92%时,HRCP的性能优于SlimYOLOv3。在高比例修剪中,在相同的性能条件下,我们的HRCP可以修剪比SlimYOLOv3多9.7%的卷。

1.Introduction

近年来,随着深度学习表现出显著的性能,研究人员在智能网络车辆和无人机领域提出了各种应用,包括视频监控、目标跟踪、自动驾驶和机器人视觉。在这些应用中,目标检测一直扮演着重要的角色。目标检测用于精确地找到给定图像中现有目标的位置,并标记目标的类别[30]。有两种方法来实现对象检测算法。两级检测器首先生成区域提议,然后将每个提议分类到现有的对象类别中。它的主要代表是R-CNN系列。使用区域建议推断两级检测器需要更多的计算和运行时内存占用,使得检测速度相对较慢[28]。而单级检测器通过获得具有学习类别概率和相对于这些预定义锚点的包围盒坐标的输入图像,例如YOLO系列(YOLO [20]、YOLO9000 [21]、YOLOv3 [22]和YOLOv3-SPP3 [28])、SSD和RetinaNet,直接将对象检测视为回归问题。单级检测器将检测框定为“一步完成”,而两级检测器将其框定为“从粗到细”[32]。
考虑到智能网络车辆和无人机的存储资源和计算资源有限,即使是深度学习方法训练的单阶段目标检测模型的部署也是一个非常大的挑战,需要巨大的运行时内存占用和计算量。先压缩模型再部署是解决这个问题的有效方法。模型压缩是一种方法,研究人员可以使用一个快速而紧凑的模型来代替一个较慢、较大但性能较好的网络所学习的功能[2]。
研究人员提出了各种压缩模型的方法,如低秩分解[25]、权重量化[19,14]、权重剪枝和共享[7,24,10,13,28,29]和知识蒸馏[3]。低秩分解使用矩阵/张量分解来估计信息参数。网络量化通过减少每个需要兼职的权重的位数实现压缩。通过减少对性能不敏感的冗余参数,对网络进行加权修剪和共享。知识提取用提取的大模型知识训练一个紧凑的神经网络。其中,权重剪枝和量化可以降低网络的复杂度,解决网络过拟合的问题[5]。权重修剪通过移除冗余神经元、连接或特征图,从全局角度控制修剪速率。因此,权重剪枝成为模型压缩的首选方法。
通道修剪是权重修剪中越来越重要的方法。通道修剪直接修剪网络中不重要的特征图,减少特征图的宽度或特征图的数量,从而将原始网络缩小到更薄的网络[10]。如何以高准确率对模型进行高速剪枝一直是研究的热点
YOLOv3是单级目标检测器的典型代表,它包含大量的Batch Normalization (BN)层来加速模型收敛和解决模型过拟合[11]。张等在刘等工作[13]的基础上,将通道剪枝应用于YOLOv3,他们的SlimYOLOv3方法达到了92%的压缩比。然而,在他们提出的方法中仅使用了比例因子c。事实上,移位因子b也通过影响第4.3.1节中描述的卷积层的输出特征图和隐藏层的数据的分布,对信道信噪比产生重要影响。虽然赵等人[29]将移位因子b应用于该方法,但是它们改变了BN层的结构,这破坏了这些层的表示能力。因此,网络的原始结构应该得到保护。
在本文中,我们首先指出了YOLOv3-SPP3模型的网络构件,并从网络结构的角度分析了YOLOv3-SPP3模型。其次,我们引入BN层的移位因子b作为单独的信道评估指标,然后我们提出了一种新的修剪方法,称为高比率信道修剪(HRCP),以基于独立的比例因子和移位因子来决定哪些信道应该被修剪,哪些应该被保护。最后,我们在VisDrone2019-Det数据集上比较了由SlimYOLOv3修剪的模型和我们的解决方案的性能。实验结果表明,在任意参数大小下,HRCP剪枝模型的性能优于SlimYOLOv3剪枝模型。当参数尺寸减小88%时,与SlimYOLOv3相比,HRCP可以瘦身9.7%以上的参数,并获得相同的性能。因此,HRCP可以更有效地修剪YOLOv3SPP3模型。

2. Related work

模型压缩是研究人员在资源受限环境中部署深度学习模型时减少计算深度学习模型资源消耗的有效方法。在这一部分,我们主要研究模型压缩方法之一的模型剪枝。模型剪枝从是否硬件友好的角度分为非结构化剪枝和结构化剪枝

2.1.非结构化权重修剪

Han等人描述了一种通过修剪不重要的神经元和神经元连接来减少资源消耗的修剪方法[7]。Srinivas等人使用门变量来选择重要参数,并通过稀疏计算来精简模型[24]。这些方法对于存储空间和运行时内存优化非常有限。总之,非结构化修剪会产生不规则的网络结构。虽然这些方法可以实现剪枝目标,但是很难存储和加速剪枝后的模型。可能需要定制软硬件才能达到加速效果。

2.2.结构化权重修剪

在[10]中,何等人提出了一种通过减小特征图宽度来修剪深度卷积神经网络的通道修剪方法。之后,刘等人对BN层采用了粗粒度但更有效的剪枝方法[13],他们在训练阶段将范数应用于BN层的尺度因子,得到尺度因子的通道级稀疏性,然后根据尺度因子的值剪枝特征图(每个特征图对应一个通道)。在[13]工作的基础上,张等人将通道剪枝应用于目标检测领域[28],取得了95%的压缩比。[13,28]基于对应于BN层的特征图执行通道修剪。但是,他们只使用了BN层的一个参数,没有考虑BN层的b因子。在[29]中,赵等人将标度因子c乘以移位因子b,然后利用c的分布来选择不重要的信道。虽然赵等人考虑了b因子,但他们的方法改变了BN层本身的结构,对模型造成了破坏;它不适用于具有大量BN层网络的非常深的网络。因此,我们的工作综合考虑了BN层的两个参数,并重新定义了通道的重要性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值