论文阅读:2020GhostNet华为轻量化网络

创新:(1)对卷积进行改进(2)加残差连接

1、Ghost Module

1、利用1x1卷积获得输入特征的必要特征浓缩。利用1x1卷积对我们输入进来的特征图进行跨通道的特征提取,进行通道的压缩,获得一个特征浓缩。
2、利用深度可分离卷积获得特征浓缩的相似特征图(Ghost)。在获得特征浓缩之后,利用深度可分离卷积进行逐层卷积,进行跨特征点的特征提取,获得额外的特征图,也就是Ghost。

将这两个进行堆叠就是输出的特征层

在这里插入图片描述

2、Ghost Bottlenecks

Ghost Bottlenecks是由Ghost Module组成的瓶颈结构,其实本质上就是用Ghost Module,来代替瓶颈结构里面的普通卷积。

Ghost Bottlenecks有两个种类(输入进来的步长为1选第一种,输入进来的步长为2选第二种),如下图所示。先来看第一个Ghost Bottleneck,可以分为两个部分,分别是主干部分和残差边部分。在主干部分,使用两个ghost模块对输入的特征层进行特征提取;在残差边部分,什么都不处理,直接将输入和输出进行逐元素求和。这样,第一个瓶颈结构就构建完成了,由于它的步长为1,所以不会对输入进来的特征图进行高和宽的压缩,它的功能是加深网络的深度。

当我们需要对特征层的宽高进行压缩的时候,需要设置第二个Ghost Bottlenecks,即在Bottlenecks里添加一些卷积层。在主干部分里,首先用ghost module进行特征提取,提取完成后使用一个步长为2的深度可分离卷积对输入特征层进行高和宽的压缩,然后再用一个ghost模块进行特征提取。在残差边部分,也会添加上一个步长为2的深度可分离卷积和1x1的普通卷积,然后将输入和输出进行相加。第二个瓶颈结构的步长为2,它的功能就是改变输入特征层的宽高。

在这里插入图片描述

(1)ghost module

(2)判断stride=2?,是否用深度可分离卷积

(3)判断是否使用注意力机制模块

注意力机制模块:(即插即用)(这个注意力机制模块类似于SEnet)

1)全局平均池化

2)1*1卷积降维

3)激活

4)1*1卷积升维

(升维降维之后)最终输入与输出通道数相同,然后再取sigmoid,使输出值在 [0,1] 之间,输出值即为每个通道的权重,这个结果乘以输入的特征层,就完成这个注意力机制的添加了

(4)ghost module

(5)判断步长=1?输入通道=输出通道?如果输入通道不等于输出通道,利用DWconv和1*1conv调整通道数,保证主干与残差可以相加

最终将有效特征层(4、6、8)取出来,利用这三个有效特征层进行加强特征提取网络的构建

标题:GhostNet:从廉价的运算中得到更到的特征

摘要:因为有限的内存和计算资源,在嵌入式设备中部署卷积神经网络(CNNs)是困难的。特征图的冗余是那些成功CNNs的一个重要特征,但是很少有关于网络架构设计的研究。这篇论文提出了一个新颖的Ghost模型,从廉价的运算中得到更到的特征图。基于本征特征图集,我们应用一系列低成本的线性运算去生成许多重影特征图,它能够完全的揭露隐藏在本征特征图下的信息。这个提出来的Ghost模块可以当做是一个即插即拔的组件,去升级已有的卷积神经网络。Ghost bottlenecks设计用来存储Ghost模块,然后就可以轻松地构建轻量级的GhostNet。在基准上进行的实验表明,在基准模型中,这个提出来的Ghost模型是卷积层的一个引人注目的替代品,而且在ImgeNet ILSVRC-2012分类数据集上,我们的GhostNet用相似的计算成本可以获得比MobileV3更高的检测性能(即top-1 75.7%的准确率)。

介绍

      深度卷积神经网络在很多计算机视觉工作上显示了卓越的性能,比如图像识别,目标检测和语义分割。传统的CNNs通常需要大量的参数和浮点运算(FLOPs)去获得一个令人满意的精度,比如RestNet-50大约有25.6M个参数,并且需要4.1B个浮点运算处理一张尺寸为224*224的图片。因此,深度神经网络设计的最新趋势是去为移动设备(比如智能手机和自动驾驶车)探索可移植、高效的、性能可接受的网络架构。

      在过去的几年中,提出了一系列的方法去研究紧凑的深度神经网络,比如网络剪枝(network pruning)、低位量化(low-bit quantization)、知识蒸馏(knowledge distillation)等。Song Han提出在神经网络中去剪枝不重要的权重。Hao Li使用L1正则化去修剪过滤器来获得高效的CNNs。Mohammad Rastegari为获取高压缩率和加速率,将权重和激活函数量化为一位数据。 Geoffrey Hinton 为了将知识从大的模型转换成一个更小的模型,引入了知识蒸馏。但是通常被称作是他们基线的预处理深度神经网络所限制。

      除了这些方法,有效的神经网络架构有很大的潜力去构建参数和计算更少的、非常高效的深度网络,而且最近获得了很大的成功。这种类型的方法也可以为自动研究方法提供新的研究单元。举例来说,MobileNet使用depthwise和pointwise卷积构建了一个单元,使用更大的卷积核来逼近原始的卷积层,并且获得了可比较的性能。ShuffleNet进一步探索了一个通道转移操作(a channel shuffle operation)去提高轻量级模型的性能。

       在训练有素的深度神经网络的特征图中,丰富甚至是冗余的信息常常保证了对输入数据的全面理解。举个例子来说,图片1提供一些由ResNet-50所生成的输入图像的特征图,而且这里存在很多相似的特征图对,像彼此的重影。特征图中的冗余可能是一个成功的深度神经网络重要的特征。我们不是避免冗余的特征图,我们倾向于采用他们,但是用一个低成本的方法

      在这篇论文中,我们介绍了一个新颖的Ghost模块,通过使用更少的参数来生成更多的特征。特别地,在深度神经网络中的,一个普通的卷积层会被分成两个部分。第一个部分涉及普通的卷积,但是它们总的数量会得到严格地控制。根据从第一个部分得到的本征特征图,之后使用一系列简单的线性运算去生成更多的信息。Ghost模块中,所有必要参数的数量和计算复杂度与那些在普通卷积神经网络中的相比已经下降了,并没有改变输出特征图的尺寸。基于Ghost模块,我们构建了一个高效的网络架构,即GhostNet。我们首先替换了基准网络架构中原始的卷积层,用来论证Ghost模块的有效性,然后在一些基准视觉测试集上验证了我们GhostNets的优越性。实验结果表示,在保持相似识别性能的同时,提出的Ghost模型能够减少通用卷积层的计算成本,并且GhostNets可以超越最高水准的高效深度模型,比如MobileNetV3,在移动设备上进行多种快速推理任务。

      论文的剩余部分安排如下:第二部分简要总结了这个领域的相关工作,紧接着Ghost模型和GhostNet在第三部分,实验和分析在第四部分,最后,总结在第五部分。

相关的工作

      这里,我们从两个部分回顾现有的减轻神经网络负担的方法:模型压缩和紧凑的模型设计。

2.1 模型压缩

      对于一个给定的神经网络,模型压缩旨在减少计算量、能源和存储成本。剪枝连接(Pruning connections)剪掉了神经元之间不重要的连接。通道修剪(Channel pruning)进一步针对移除无用的通道,以便在实际中更容易加速。模型量化(Model quantization)代表神经网络中的权重和激活函数,其离散值用于压缩和计算加速。特别地,二值化方法(Binarization methods)只使用一位值,通过高效的二值运算可以极大加速模型。张量分解(Tensor decomposition)通过利用权重的冗余和低级属性减少参数和计算量。知识蒸馏(knowledge distillation)利用更大的模型来教导更小的模型,这能够提升较小模型的性能。这些方法的性能通常决定于给定预训练的模型,在这个基础运算和架构上的提升将会让他们走的更远。

2.2 紧凑的模型设计

      随着在嵌入式设备上部署神经网络的需求出现,最近几年提出了一系列紧凑的模型。SqueeeNet使用一个bottleneck的方法达到了AlexNet级别的精度,参数比AlexNet的少了五十倍。Xception利用depthwise卷积操作,更有效的使用模型的参数。MobileNets是一系列的基于深度可分离卷积的轻量级深度神经网络。MobileNetsV2提出了倒残差块,MobileNetV3进一步使用AutoML技术用更少的FLOPs获得了更好的性能。ShuffleNet使用转移操作改善了通道组之间的信息流交换。对于紧凑的模型设计,ShuffleNetV2进一步考虑了在目标硬件上的实际速度。尽管这些模型用更少的FLOPs获得了更好的性能,但是他们从没有很好的开发出特征图之间的相关性和冗余。

研究方法

      在这个部分,我们首先会介绍Ghost模块,从原始的卷积层中使用更少的过滤器生成更多的特征图,然后开发了一个新的GhostNet,拥有一个非常高效的架构和优异的性能。

3.1 为了得到更多特征的Ghost模块

      深度卷积神经网络通常由大量的卷积组成,这导致了大量的计算开销。尽管最近的成果,比如MobileNet和ShuffleNet已经引入了depthwise卷积和shuffle操作,使用更小的卷积过滤器(浮点运算数量)构建高效的CNNs,但是剩下的1*1卷积核仍然占用相当大的内存和FLOPs。

      如图1所示,考虑到主流CNNs计算得到的中间特征图中广泛存在着冗余,我们提出减少必要的资源,即减少生成它们的卷积过滤器。在实际过程中,假设输入数据X∈𝑅𝑐×h×𝑤,其中c是输入数据的通道数,h和w分别是输入数据的高和宽,任意卷积层生成n个特征图的操作可以表示为:

      其中∗表示卷积运算,b是偏置项,Y∈𝑅h′×𝑤′×𝑛是n通道的输出特征图,f∈𝑅𝑐×𝑘×𝑘×𝑛是这个层的卷积过滤器。此外h′和𝑤′分别是输出数据的高和宽,k×𝑘是卷积过滤器f的内核尺寸。在卷积过程中,FLOPs必要的数量可以计算为n∙h′∙𝑤′∙𝑐⋅𝑘⋅𝑘,这个结果通常成千上万,因为过滤器n的数量和通道数c通常非常大。

      根据公式1,要优化的参数的数量(在f和b中)显然由输入的维度和输出特征图所决定。如图1所示,卷积层的输出特征图数量经常包含很多的冗余,有些是非常相似的。我们指出,使用大量的FLOPs和参数来一个个的生成冗余的特征图是不必要的。假设用一些廉价的变换产生的输出特征图是一些本征特征图的“重影”,这些本征特征图尺寸通常很小而且由原始卷积核产生。特别地,m个本征映射图𝑌′∈𝑅h′×𝑤′×h使用基本的卷积产生:

      其中𝑓′∈𝑅𝑐×𝑘×𝑘×𝑚是使用的过滤器,m≤𝑛并且为了简单起见,偏置项忽略不计。为了让空间尺寸(也就是h′和𝑔′)和输出特征图的一致,超参数比如过滤器的尺寸,步长,填充和那些在原始卷积的一样(公式1)。为了进一步获得期望的n个特征图,我们提出在本征特征图上𝑌′上,根据下面的函数,使用一系列廉价的线性运算来生成s个重影特征:

      其中,𝑦′是𝑌′中的第i个本征特征图,在上面函数中,Φi,𝑗是第j个生成的第j个重影特征图𝑦𝑖,𝑗的(除了最后一个)线性运算。也就是说,𝑦′可以有一个或者多个重影特征图{𝑦𝑖𝑗}𝑗=1𝑠 。Φi,𝑠是恒等映射来保存像图2的本征特征图。通过使用公式3,我们可以得到n=m∙𝑠个特征图Y=𝑦11,𝑦12,…., 𝑦𝑚𝑠作为像图2(b)表示的Ghost模型的输出数据。注意线性运算Φ在每一个通道上运行,它的计算成本比原始的卷积要低。在实际过程中,在一个Ghost模型中可以有各种各样的线性运算,比如3*3和5*5线性内核,这个在实验部分将会分析。

      和已有方法的不同。这个提出来的Ghost模块和已有的高效的卷积方案有着很大的不同。i)和这些广泛使用1*1pointwise的卷积相比,Ghost模块中的基本的运算可以有自定义的内核模块。ii)已有的方法采用pointwise卷积去跨通道处理特征,并且之后采用depthwise卷积去处理空间信息。相反,Ghost模块采用原始的卷积首先生成少量的本征特征图,然后利用廉价的线性运算去扩充特征和增加通道。iii)这些去处理每个特征图的运算受之前高效架构里的depthwise运算或者shift运算限制,然而Ghost模型中的线性运算有这个很大的多样性。iv)此外,恒等映射映射等价于Ghost模块中的线性变化,去保存本征特征图。

      复杂度分析。因为我们可以使用在公式3中提出的Ghost模型去从生成和原始卷积层相同数量的特征图,我们可以轻松的将Ghost模型和现有的精心设计的网络架构整合在一起去降低计算成本。这里我们进一步分析了使用Ghost模块在内存使用和理论加速上的好处。举例来说,这里有1个恒等映射和m∙𝑠−1=𝑛𝑠∙(𝑠−1)个线性运算,并且每个线性预算的平均内核尺寸等于d×𝑑。理论上,n∙(𝑠−1)个线性运算可以有不同的形状和参数,但是在线推理会受到阻碍,特别是考虑到CPU和GPU显卡的效用。为了高效的运算,我们推荐在一个Ghost模型中使用相同的尺寸(比如3*3或者5*5)的线性运算。用Ghost模型升级普通卷积的理论加速比是:

 其中d×𝑑和k×𝑘有着相似的大小,而且s⋘𝑐。相似的,参数压缩率可以计算为:

它等于使用提出的Ghost模型的加速比(每个线性运算的内核参数都是不同的)。

3.2 构建高效的CNNs

    Ghost Bottlenecks.   利用Ghost模型的优势,我们引入了为小型的CNNs所设计的Ghost bottleneck(G-bneck)。如图3显示,这个Ghost bottleneck看起来和残差网络的残差块很类似,它整合了一些卷积层和捷径层。这个提出的Ghost Bottlenecks主要由两个堆叠的Ghost模型组成。第一个Ghost模块充当着增加通道数和膨胀层的功能,我们指定输出和输入通道数之间的比例为膨胀比。第二个Ghost模块减少通道数量来匹配捷径通道,这个捷径连接了两个Ghost模块的输入和输出。正如MobileNetV2所示,除了在第二个Ghost模块后不使用ReLU,批归一化和ReLU非线性在每一层的后面都使用,上面描述的Ghost bottlenect用于步长为1的情况。对于第二种步长为2的情况,快捷路径通过一个下采样层实现,而且步长为2的depthwise卷积插入在两个Ghost模块之间。实际过程中,为了效率,在Ghost模型这里的基本卷积是pointwise卷积。

     GhostNet.   以ghost bottleneck为基础,我们提出了如表格7所示的GhostNet。我们遵循了MobileNetV3的基本架构,因为它的优越性,而且用我们的Ghost bottlenck代替了MobileNetV3的bottleneck。GhostNet主要有一堆Ghost bottlenecks组成,它使用Ghost模块作为构造块。第一层是一个标准的带有16个过滤器的卷积层,之后跟着一系列的Ghost bottleneck逐渐增加通道数。这些Ghost bottlenecks根据他们输入特征图的大小分组到不同的阶段。除了每个阶段的最后一个步长为2,所有的Ghost bottleneck的步长为1。最后,为了最终的分类,使用一个全局平均池化层和卷积层将特征图转换成1280维的特征向量。如表格7所示,在一些ghost bottlenecks中,对残差层也使用squeeze and excite(SE)模块。和MobileNetV3相比,我们不适用hard-swish非线性函数,因为它的时延高。尽管进一步的超参调节或者基于ghost模块的自主架构搜索会进一步促进性能,但是我们提出的网络架构只是提供了一个基本的设计参考。

      Width Multiplier.   尽管在表格7中给定的模型已经可以提供低时延和可保证的精度,在一些场景下,对于特定的工作,我们可能需要更小和更快的模型或者更高的准确率。为了定制网络来满足需求,我们可以简单地在每一层均匀地乘以信道数的因子α。这个因子α叫作宽度乘法器,因为它可以改变整个网络的宽度。宽度控制器可以通过大约𝛼2来控制模型的尺寸以及计算成本的平方。通常越小的α会导致更低的时延和更低的性能,反之亦然。

实验

      在这个部分中,我们首先用提出的Ghost模型代替原始的卷积层来验证它的有效性。之后,使用新模型构建的GhostNet架构将会进一步在图像分类和目标检测的基准上进行测试。

数据集和设置  为了验证提出的Ghost模型和Ghostnet架构的有效性,我们在一些基准视觉数据集上进行了实验,包括CIFAR-10,ImageNet ILSVRC 2012数据集和MS COCO目标检测基准上。

      CIFAR-10数据集用于分析所提方法的性能,它由10类六万张32*32的图片构成,五万张训练图片和一万张测试图片。采用通常的数据增强方案,包括随机裁剪和镜像(何凯明)。ImageNet是一个大规模图像数据集,它包含1000类的超过1.2M的训练数据和50K的验证数据。在训练的过程中,使用常规的数据预处理策略,包括随机裁剪和翻转。我们也在MS COCO数据集上进行了目标检测试验,我们在COCO trainval35k split上进行训练以及在有5K章图片的minival split上进行验证。

4.1 Ghost模型的有效性

4.1.1   玩具试验

      我们已经在图1中呈现了图解,指出那里有很多相似的特征图对,它可以用一些有效的线性运算高效地生成。这里我们首先进行了玩具试验来观察原始特征图和生成的ghost特征图之间的重构误差。用图1中的三对(即红,绿,蓝)为例,使用ResNet-50的第一个残差块来提取特征。用左边的特征作为输入,另一个作为输出,我们使用一个小的depthwise卷积过滤器去学习特征,即他们之间的线性运算Φ,卷积过滤器的尺寸d从1到7排序,每一对不同d的MSE(均方误差)值在表2显示。

      在表2可以看出,所有的MES值都非常的小,这论证了深度神经网络中特征图之间存在很强的相关性而且这些冗余的特征图可以由一些本征特征图产生。除了在上面实验中使用的卷积,我们也可以探索一些其他的低成本的线性运算去构建Ghost模块,比如放射变换和小波变换。但是,卷积是一个高效的运算,已经得到了当前硬件很好的支持,并且它可以涵盖大量广泛使用的线性运算比如平滑,模糊和移动等。关于线性运算Φ,尽管我们可以学习每个过滤器的尺寸,但是不规则的模型将会降低计算单元(比如CPU和GPU)的效率。因此,我们建议d在一个Ghost模块中是一个定值,并且在接下来的实验中,使用depthwise卷积去实验公式2来构建非常高效的深度卷积网络。

4.1.2      CIFAR-10

     在CIFAR-10数据集上,我们在两个热门的网络架构上验证了提出的Ghost模型,即VGG-16和ResNet-56。因为VGG-16原来是为ImageNet设计,因此我们使用它的变体,它广泛的应用于文献上来进行下面的实验。提出的Ghost模型会取代这两个模型中的所有的卷积层,并且新的模型,分别记作为Ghost-VGG-16和Ghost-ResNet-5,我们的训练测策略紧跟何凯明RestNet的配置,包括momentum,学习率等等。我们首先分析了Ghost模型中的两个超参数s和d的印象,兵器比较了Ghost-models和最高水平的方法。

超参数的分析  如公式3所述,为高效的深度网络所提出的Ghost模块有两个参数,即为生成m=n/s个本征特征图的s和为了计算ghost特征图的线性卷积的内核尺寸d*d(即depthwise卷积过滤器的内核)。这两个参数的影响在VGG-16架构上进行测试。

      首先,我们固定s=2然后再{1,3,5,7}上调节d,然后表格3中列出了在CIFAR-10验证集上的结果。我们可以看到,提出的Ghost模型d=3比更大的或者更小的那些表现要好。这是因为1*1大小的内核不能够在特征图上引入空间信息,然而更大的内核比如d=5或者d=7导致了过拟合和更多的计算。因此,在接下来的实验中,为了效果和效能,我们采用d=3。

      研究了提出的Ghost模型中所使用的内核尺寸之后,我们保持d=3,在{2,3,4,5}中调节另一个参数s。事实上,s直接和最终结果网络的计算成本相关,也就是,在公式5和公式4所示,更大的s导致了更大的压缩和加速率。从表格4的结果看出,当我们增加s的时候,FLOPs的大量减少并且准确率逐渐降低,这和预期的一样。特别的,但s=2的时候,这意味着压缩VGG-16两倍,我们的方法甚至比原始模型的要稍微好一点,这表明我们提出Ghost模型的优越性。

和最高水准的比较  我们在VGG-16和ResNet-56架构上比较了GhostNet和一些具有代表性的最高水准的模型。这个比较的方法包括不同类型的模型压缩方法,𝑙1剪枝,SBP,通道剪枝(CP)和AMC。对于VGG-16,我们的模型能够以两倍的加速比获得比原始的稍微高的准确率,这表明在VGG模型中存在相当大的冗余。我们的Ghost-VGG-16(s=2)由于和最高性能的比较(93.7%),但是用非常少的FLOPs。对于ResNet-56,它已经比VGG-16小多了,我们的模型可以用两倍的加速度获得和基准可比较的精度。我们可以看出,其他最高水准的模型用相似或者更大的计算量得到低于我们的精度。

特征图的可视化  如图4所示,我们也可以可视化我们ghost模型的特征图。尽管生成的特征图来自基本的特征图,他们确实有很大的不同,这意味着生成的特征足够灵活来满足特征工作的需求。

4.1.3  ImageNet上的大模型

      接下来我们将Ghost模型嵌入在标准的ResNet-50中,并且在大规模ImageNet数据及上进行试验。ResNet-50大约有25.6M的参数和4.1B的FLOPs,7.8%的top-5误差。我们使用我们的Ghost模型代替ResNet-50中所有的卷积层来获得紧凑的模型,并且把结果和一些最高水准的方法进行比较,详情见表格6。为了公平比较,训练的设置比如优化器,学习率和批量尺寸都和何凯明的一样。

      从表格6的结果中,我们可以看到我们的Ghost-ResNet-50(s=2)获得了两倍的加速度和压缩率,但是却保持着和原始的ResNet-50一样的准确率。和最近最高水平的方法比较,包括Thinet, NISP, Versatile filters 和Sparse structure selection(SSS),在两倍的加速度设置下,我们的方法可以获得非常好的性能。当我们进一步将s增加到4的时候,基于Ghost的模型有大约4倍的计算加速率,只有0.3%准确率的下降。相反,有相似权重或者FLOPs的对比方法比我们的性能要低。

4.2  在视觉基准上的GhostNet

      在论证了提出的Ghost模型高效地生成特征图的优越性之后,我们接着验证这个如表7所示的、精心设计的GhostNet架构分别在图像分类和目标检测上的性能。

4.2.1 ImageNet classification

      为了验证所提的GhostNet的优越性,我们在ImageNet分类任务上进行了实验。我们遵循在Shufflenet使用的大部分的训练配置,除了在8GPUs上的时候,批量设置为1024,初始的学习率设置为0.4。所有的结果只显示在ImageNet验证集上单独裁剪的top-1性能。对于GhostNet,我们在初级的卷积中设置内核尺寸k=1,s=2,然后为了简单起见,在所有的Ghost模型中d=3。

      选用一些现代小型网络架构作为对比,包括MobileNet系列、ShuffleNet系列,IGCV3,PrixylessNAS,FBNet,MnasNet等。结果汇总在表格7中。模型分组成四个移动应用典型的计算复杂度级别,即~50,~150,和200-300MFLOPs。从结果中,我们可以看到在这些小型的网络中,越大的FLOPs导致了更高的精度,这表明了他们的有效性。我们的GhostNet模型在各种不同的计算复杂度等级上时钟优于其他的竞争者,因为GhostNet更有效地利用了计算资源生成特征图。

实际推理速度  因为提出的GhostNet是为了移动应用设计的,因此我们使用TFLite工具,在一个基于ARM的移动手机上测量了GhostNet的实际推理速度。我们遵循在Mobilenets中的常规设置,使用batch为1的单进程模型。从图7的结果中,我们可以看到在相同的时延下,GhostNet获得了高出MobileNetV2的0.5%的top-1准确度,而且GhostNet需要更少的运行时间获得相似的性能。举例来说,GhostNet仅仅需要40ms时延得到75.0%的准确度,但是MobileNetV3需要大约45ms处理一张图片来得到相似的准确度。综上所述,我们的模型通常优于著名的最高水准的模,也就是MobileNet系列,ProxylessNAS,FBNet和MnasNet。

4.2.2 目标检测

      为了进一步评估GhostNet的泛化能力,我们在MS COCO数据集上进行了目标检测试验。遵循FPN设置,我们使用trainval35k split作为训练数据,然后再minival split在报告均值平均精度(mAP)。两级的Faster R-CNN和FPN以及一级的RetinaNet都用作是我们的模型,而且GhostNet充当为主干特征提取器的简单替换器件。使用FPN所推荐的超参数得到ImageNet的预训练权重,我们在12的epochs上使用SGD训练所有的模型。我们将输入图片调整为短边800和不超过1333的长边。表格8显示了检测结果,其中FLOPs使用224*224图片作为惯例计算得到。GhostNet在一级RetinaNet和两级Faster R-CNN框架上,用非常低的计算成本得到了和MobileNetV2,MobileNetV3相似的mAP值。

结论

      为了减少最近的深度神经网络的计算成本,这篇论文为构建高校的神经网络架构提出了一种新颖的Ghost模型。这个基本的Ghost模型将输入卷积层分成两个部分并且利用更少的过滤器去生成一些本征特征图。之后,一定数量的廉价转换运算将会进一步用于高效的生成重影特征图。在基准模型和数据集上进行的实验论证了,提出的方法是一个即插即拔的模型,可以将原始模型转换成紧凑的模型,同时保留着可比较的性能。此外,在效率和准确率上,使用提出的新的模型的GhostNet优于最高水准的可移植神经网络。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“智农”-高标准农田

高标准农田是指通过土地整治、土壤改良、水利设施、农电配套、机械化作业等措施,提升农田质量和生产能力,达到田块平整、集中连片、设施完善、节水高效、宜机作业、土壤肥沃、生态友好、抗灾能力强、与现代农业生产和经营方式相适应的旱涝保收、稳产高产…

C++设计模式之——享元模式详解和代码案例

文章目录 C中实现享元模式通常涉及以下几个关键部分:一个简单的C代码片段示例享元模式的进一步说明C享元模式代码案例——咖啡店订单系统享元模式在现实世界的应用场景 C中实现享元模式通常涉及以下几个关键部分: 享元模式(Flyweight Patter…

LCR 153. 二叉树中和为目标值的路径

解题思路&#xff1a; 回溯&#xff1a;先序遍历&#xff0b;路径记录 class Solution {LinkedList<List<Integer>> res new LinkedList<>();LinkedList<Integer> path new LinkedList<>();public List<List<Integer>> pathTarge…

android 如何动态修改swap

前言 当前项目中发现&#xff0c;产品在长时间使用后&#xff0c;会概率死机&#xff0c;通过log分析&#xff0c;可能和swap 大小太小导致的&#xff0c;需要修改增大swap大小后&#xff0c;压测验证。如何查看swap大小 cat /proc/swaps C:\Users\Administrator>adb shel…

元学习(meta-learning)的通俗解释

目录 1、什么是元学习 2、元学习还可以做什么 3、元学习是如何训练的 1、什么是元学习 meta-learning 的一个很经典的英文解释是 learn to learn&#xff0c;即学会学习。元学习是一个很宽泛的概念&#xff0c;可以有很多实现的方式&#xff0c;下面以目标检测的例子来解释…

阿里Replace Anything:一键替换万物,让图像编辑更简单

最近&#xff0c;阿里巴巴智能研究院在AIGC领域可谓动作频频&#xff0c;新品发布不断&#xff0c;在之前的文章已经向大家介绍了关于Animate AnyOne, Outfit Anyone&#xff0c;AnyText, AnyDoor等相关技术&#xff0c;感兴趣的小伙伴可以点击下面链接阅读&#xff5e; AI一键…

Laravel - API 项目适用的图片验证码

1. 安装 gregwar/captcha 图片验证码接口的流程是&#xff1a; 生成图片验证码 生成随机的 key&#xff0c;将验证码文本存入缓存。 返回随机的 key&#xff0c;以及验证码图片 # 不限于 laravel 普通 php 项目也可以使用额 $ composer require gregwar/captcha2. 开发接口 …

小塔RFID技术帮您解决“仓储管理危机”!

商品积压对一个企业带来的影响是久远的&#xff0c;仓储管理流转失衡&#xff1a;库存数据不准确、繁琐人工管理费时费力、商品爆仓及库存短缺等造成“仓储管理危机”&#xff0c;让企业自身陷入困境。 优化仓储管理&#xff0c;小塔RFID仓储管理方案轻松解决。利用RFID&#x…

java数据结构与算法刷题-----LeetCode538. 把二叉搜索树转换为累加树

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 解题思路 BST二叉搜索树&#xff0c;中序遍历结果为一个升序序列…

【C语言】三子棋

前言&#xff1a; 三子棋是一种民间传统游戏&#xff0c;又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战&#xff0c;双方依次在9宫格棋盘上摆放棋子&#xff0c;率先将自己的三个棋子走成一条线就视为胜利。但因棋盘太小&#xff0c;三子棋在很多时候会出现和…

Unity(第十四部)光照

原始的有默认灯光、除了默认的你还可以创建 1、定向光源&#xff08;类似太阳、从无限远的地方射向地面的光&#xff0c;光源位置并不影响照射角度等&#xff0c;不同方向的旋转影响角度和明亮&#xff09; 1. 颜色&#xff1a;调整光的颜色2. 模式&#xff1a;混合是实时加烘…

FCU2601嵌入式控制单元获得开普「电磁兼容检验证书」

近日&#xff0c;飞凌嵌入式专为锂电池储能行业设计的FCU2601嵌入式控制单元获得了开普电磁兼容检验证书&#xff0c;此次性能检验项目包括高频干扰检验、静电放电干扰检验、辐射电磁场干扰检验、快速瞬变脉冲群干扰检验、浪涌干扰检验、工频磁场干扰检验、阻尼振荡磁场干扰检验…

基于docker实现MySQL主从复制(全网最详细!!!)

一、 通过docker镜像搭建MySQL主从 主服务器&#xff1a;容器名zi-mysql-master&#xff0c;端口3306 从服务器&#xff1a;容器名zi-mysql-slave1&#xff0c;端口3307 从服务器&#xff1a;容器名zi-mysql-slave2&#xff0c;端口3308 二、 关闭防火墙&#xff0c;启动docker…

免费百度快速收录软件

在网站SEO的过程中&#xff0c;不断更新网站内容是提升排名和吸引流量的关键之一。而对于大多数网站管理员来说&#xff0c;频繁手动更新文章并进行SEO优化可能会是一项繁琐且耗时的任务。针对这一问题&#xff0c;百度自动更新文章SEO工具应运而生&#xff0c;它能够帮助网站管…

CCF-A类 IEEE VIS‘24 3月31日截稿!探索可视化技术的无限可能!

会议之眼 快讯 IEEE VIS (IEEE Visualization Conference )即可视化大会将于 2024 年 10月13日 -18日在美国佛罗里达州皮特海滩的信风岛大海滩度假举行&#xff01;圣彼得海滩&#xff0c;以其迷人的日落和和煦的微风&#xff0c;作为激发创造力和促进可视化社区内合作的完美背…

工厂模式 详解 设计模式

工厂模式 其主要目的是封装对象的创建过程&#xff0c;使客户端代码和具体的对象实现解耦。这样子就不用每次都new对象&#xff0c;更换对象的话&#xff0c;所有new对象的地方也要修改&#xff0c;违背了开闭原则&#xff08;对扩展开放&#xff0c;对修改关闭&#xff09;。…

win中删除不掉的文件,火绒粉碎删除亲测有效

看网上的 win R 然后终端输入什么删除的&#xff0c;照做了都没有删掉 有火绒的可以试试&#xff1a; 拖进去就删掉了 很好使

选项 打光 试题总结

试题1 被测物体100100mm&#xff0c;精度要求被测物体 &#xff0c;精度要求0.1mm&#xff0c;相机距被测物体在200&#xff5e;320mm之间&#xff0c;要求选择合适的相机和镜头&#xff1f; 分析如下&#xff1a; 通常我们用的相机靶面是4:3 的所以我们要用短边来计算视场&am…

Jmeter系列(5)线程数到底能设置多大

疑惑 一台设备的线程数到底可以设置多大&#xff1f; 线程数设置 经过一番搜索找到了这样的答案&#xff1a; Linux下&#xff0c;2g的 java内存&#xff0c;1m 的栈空间&#xff0c;最大启动线程数2000线程数建议不超过1000jmeter 能启动多少线程&#xff0c;由你的堆内存…

Tomcat 下部署若依单体应用可观测最佳实践

实现目标 采集指标信息采集链路信息采集日志信息采集 RUM 信息会话重放 即用户访问前端的一系列过程的会话录制信息&#xff0c;包括点击某个按钮、操作界面、停留时间等&#xff0c;有助于客户真是意图、操作复现 版本信息 Tomcat (9.0.81)Springboot(2.6.2)JDK (>8)DDT…