博客摘录「 GhostnetV1(2020)」2023年7月21日

由于内存和计算资源的限制,在嵌入式设备上部署卷积神经网络(cnn)非常困难

深度神经网络设计的最新趋势是为移动设备(如智能手机和自动驾驶汽车)探索便携式和高效的网络架构

多年来,人们提出了一系列研究紧凑深度神经网络的方法,如网络剪枝[14,39]、低比特量化[42,26]、知识蒸馏[19,57]等。Han等人[14]提出修剪神经网络中不重要的权重。[31]利用’ 1范数正则化修剪滤波器以获得高效的cnn。[42]将权重和激活量化为1位数据,以实现较大的压缩和加速比。[19]引入了知识蒸馏,将知识从较大的模型转移到较小的模型。然而,这些方法的性能通常受到预先训练的深度神经网络的上限,这些神经网络被作为它们的基线。

除此之外,高效的神经架构设计在建立参数和计算更少的高效深度网络方面具有非常大的潜力,最近已经取得了相当大的成功。这类方法还可以为自动搜索方法提供新的搜索单元[62,55,5]。例如,MobileNet[21,44,20]利用深度卷积和点卷积构造了一个单元,用更大的滤波器近似原始卷积层,并获得了类似的性能。ShuffleNet[61,40]进一步探索了channel shuffle操作来提高轻量化模型的性能。
 

2.相关工作

在这里,我们将从模型压缩和紧凑模型设计这两部分来回顾现有的神经网络轻量化方法。

2.1模型压缩
对于给定的神经网络,模型压缩旨在降低计算和存储成本[14,48,11,54]。剪枝连接[15,14,50]切断了神经元之间不重要的连接。通道修剪[51,18,31,39,59,23,35]进一步的目标是去除无用的通道,以便在实践中更容易加速。模型量化[42,24,26]表示权重或激活在神经网络中使用离散值进行压缩和计算加速。具体来说,只有1位值的二值化方法[24,42,38,45]可以通过高效的二进制运算极大地加速模型。张量分解[27,9]通过利用权重中的冗余和低秩特性来减少参数或计算量。知识蒸馏[19,12,3]利用较大的模型来训练较小的模型,从而提高了较小模型的性能。这些方法的性能通常取决于给定的预训练模型。对基本操作和架构的改进将使它们走得更远。
2.2 压缩模型设计
随着在嵌入式设备上部署神经网络的需求,近年来提出了一系列紧凑模型[7,21,44,20,61,40,53,56]。例外[7]利用深度卷积运算,更有效地利用模型参数。MobileNets[21]是一系列基于深度可分离卷积的轻量级深度神经网络。MobileNetV2[44]提出了反向残差块,MobileNetV3[20]进一步利用了AutoML技术[62,55,10],以更少的FLOPs实现了更好的性能。ShuffleNet[61]引入信道shuffle操作,提高信道组之间的信息流交换。ShuffleNetV2[40]进一步考虑了紧凑模型设计的目标硬件上的实际速度。虽然这些模型在FLOPs很少的情况下获得了很好的性能,但特征映射之间的相关性和冗余性一直没有得到很好的利用。

3.方法
在本节中,我们将首先介绍Ghost模块,利用一些小过滤器从原始卷积层生成更多的特征映射,然后开发一个具有极其高效架构和高性能的新GhostNet。

3.1Ghost Module for More Features
深度卷积神经网络[30,46,16]通常由大量的卷积组成,这会导致大量的计算成本。虽然最近的工作如MobileNet[21,44]和ShuffleNet[40]已经引入了深度卷积或shuffle操作,以使用更小的卷积滤波器(浮点数操作)构建高效的cnn,但剩余的1 × 1卷积层仍将占用相当大的内存和flops。

与现有方法的区别。所提出的Ghost模块与现有的高效卷积方案有很大的不同。i)与[21,61]中广泛使用1×1点卷积的单元相比,Ghost模块中的主卷积可以自定义内核大小。ii)现有方法[21,44,61,40]采用点卷积跨通道处理特征,然后采用深度卷积处理空间信息。相比之下,Ghost模块采用普通卷积,先生成一些固有的特征映射,然后利用廉价的线性运算来增强特征和增加通道。iii)在以往高效的架构中,处理每个特征图的操作仅限于深度卷积或移位操作[21,61,53,28],而Ghost模块中的线性操作可以有很大的多样性。iv)此外,在Ghost模块中,同等映射映射与线性变换并行,以保留固有特征映射。

**复杂性分析。**由于我们可以利用公式3中提出的Ghost模块来生成与普通卷积层相同数量的特征映射,我们可以轻松地将Ghost模块集成到现有设计良好的神经体系结构中,以减少计算成本。在这里,我们进一步分析了使用Ghost模块在内存使用和理论加速方面的收益。例如,有1个同等映射和m·(s−1)= n/s·(s−1)个线性操作,每个线性操作的平均核大小等于d × d。理想情况下,n·(s−1)个线性操作可以有不同的形状和参数,但尤其考虑到CPU或GPU卡的效用,会阻碍在线推理。因此,我们建议在一个Ghost模块中采用相同大小的线性操作(例如3 × 3或5 × 5),以便有效地实现。用Ghost模块升级普通卷积的理论加速比为
3.2Building Efficient CNNs
**Ghost Bottlenecks.。**利用Ghost模块的优点,介绍了专为小型cnn设计的Ghost Bottlenecks.(G-bneck)。如图3所示,Ghost瓶颈看起来类似于ResNet[16]中的基本残留块,其中集成了几个卷积层和快捷方式。所提出的幽灵瓶颈主要由两个堆叠的Ghost模块组成。第一个Ghost模块充当一个扩展层,增加通道的数量。我们把输出通道的数量与输入通道的数量之比称为膨胀比。第二个Ghost减少了模块来匹配快捷路径的通道数量。然后在这两个Ghost模块的输入和输出之间连接快捷方式。批处理归一化(BN)[25]和ReLU非线性应用于每一层之后,除了根据MobileNetV2[44]的建议在第二个Ghost模块之后不使用ReLU。
上面描述的Ghost Bottlenecks是针对stride=1的。对于stride=2的情况,通过下采样层实现快捷路径,并在两个Ghost模块之间插入一个stride=2的深度卷积。在实际应用中,Ghost模块的主要卷积为点卷积,以提高效率。
**GhostNet.**基于ghost bottleneck,我们提出了如表7所示的GhostNet。由于MobileNetV3[20]的优势,我们基本上遵循了它的架构,用我们的ghost bottleneck代替了MobileNetV3中的瓶颈块。GhostNet主要由一堆ghost bottleneck组成,Ghost模块作为构建块。第一层是一个标准的卷积层,有16个滤波器,然后是一系列的ghost bottleneck和逐步增加的通道。根据输入特征映射的大小,这些ghost bottleneck被分组到不同的阶段。除了每个阶段的最后一个瓶颈是stride=2之外,所有ghost bottleneck都是用stride=1应用的。最后利用全局平均池和卷积层将特征映射转换为1280维的特征向量进行最终分类。挤压激励(SE)模块[22]也应用于一些幽灵瓶颈的残余层,如表7所示。与MobileNetV3相比,我们没有使用硬swish非线性函数,因为它有很大的延迟。所提出的体系结构提供了一个可参考的基础设计,但进一步的超参数调优或基于鬼模块的自动体系结构搜索将进一步提升性能。
Width Multiplier.
尽管表7中给出的体系结构已经可以提供低延迟和保证精度,但是在某些场景中,我们可能需要更小、更快的模型,或者对特定任务要求更高的精度。为了根据需要定制网络,我们可以简单地在每一层的通道数量上均匀地乘以一个因子α。这个因子α被称为宽度乘数,因为它可以改变整个网络的宽度。我们将宽度乘子为α的GhostNet表示为GhostNet-α×。宽度乘法器可以通过α^2对模型大小和计算代价进行二次控制。通常较小的α会导致较低的延迟和较低的性能,反之亦然。

1.作者遵循MobileNetV3的基本体系结构的优势,然后使用Ghost bottleneck替换MobileNetV3中的bottleneck;
2.GhostNet主要由一堆Ghost bottleneck组成,其中Ghost bottleneck以Ghost模块为构建基础;
第一层是具有16个卷积核的标准卷积层,然后是一系列Ghost bottleneck,通道逐渐增加。这些Ghost bottleneck根据其输入特征图的大小分为不同的阶段;
除了每个阶段的最后一个Ghost bottleneck是stride = 2,其他所有Ghost bottleneck都以stride = 1进行应用;
3.最后,利用全局平均池和卷积层将特征图转换为1280维特征向量以进行最终分类。SE模块也用在了某些Ghost bottleneck中的残留层;
4.与MobileNetV3相比,这里用ReLU换掉了Hard-swish激活函数。尽管进一步的超参数调整或基于自动架构搜索的Ghost模块将进一步提高性能,但下表所提供的架构提供了一个基本设计参考。

1.Ghost模块消融实验:当s=2、d=3的时候,Ghost模块的性能优于更小或更大的Ghost模块。这是因为大小为1的内核无法在特征图上引入空间信息,而较大的内核(例如d=5或d=7)会导致过拟合和更多计算。

2.特征图可视化:生成的特征足够灵活,可以满足特定任务的需求。

3.ImageNet分类数据集:通常较大的FLOPs会在这些小型网络中带来更高的准确性,这表明了它们的有效性。而GhostNet在各种计算复杂度级别上始终优于其他竞争对手,主要是因为GhostNet在利用计算资源生成特征图方面效率更高。

4.硬件推理速度:作者的模型总体上胜过其他最新模型,例如谷歌MobileNet系列,ProxylessNAS,FBNet和MnasNet。

5.COCO目标检测数据集:GhostNet可以在单阶段的RetinaNet和两阶段的Faster R-CNN框架上达到和MobileNetV2和MobileNetV3类似的mAP。


原文链接:https://blog.csdn.net/m0_60534571/article/details/129585737

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值