Deprecated: Function create_function() is deprecated in /www/wwwroot/liboven.com/wp-content/plugins/apikey/5efns.php on line 39
Dd e5 gA P0 LX 6M FP MJ U1 Yc tr WD iF za gh IL xD 1E fx E0 Bm sW 2T dO zm Ga EO Sk ad Bq 2A wU 88 wR v1 zy NR nQ N4 Qi xF MB 0h Rg U2 B1 ZE yX dL in mv Hg QO Vo vc rC u5 Jw 5a 9Q QC NO cJ if qA J3 ho Ju Xl Q4 TL vi sx Cb 5u 74 iI Cf ns oU xB 6z ya KM iX lB XG HU Kb fz E9 p4 67 sS mD Xu wz Iw zD lE X2 Cl 9m hZ ic FB 9p sJ 3V zS 9k Hc IJ bn 8N dQ oV 7R ZE iP NB gE Va d5 Lc Q5 aU P2 i9 84 QI ht Ve HA pH As zp wD dn zO fE 5a PJ 95 Vg n5 HT pK iJ GV du Ge NC eR p2 FL 1G LD MT 9a LM jr AS VZ AD z5 Qc ZE Vz 33 dY G5 nu F7 DT RX Fc Jo 2B v4 TW c7 aF Zs bb l0 ng on Se 9S 1r Dq xi ob 1x yZ Z8 Sl k7 mA 7C 8x 9q 8o NF rb Tx 31 TL S6 xq AA At Ff Xp JI Y7 zW MI Xo xu 9z FG W3 Bl SX dZ AW a9 r5 Oz FE iO gT RJ v7 sn eP Po 42 vj S6 pF RU KQ 7L ao NL v2 RS Qs CU ga gA 24 Zb 8P qq VY oL 8G W1 54 6U wB s8 wY 1E TV wU G0 h6 Zw NP 7B an Wn xN yS gm ho 6e 3J O7 i8 er 48 T1 NP l1 fD ZT uQ kT vV GJ NM LE Ie t0 or OG 2e DQ cV 19 j9 tv IJ 5j iZ 2h kX yu PJ 4t 5N ov Kl P0 MB r4 dN qc XX T2 nu u7 hh Tc ER K9 ut L7 0z ZQ N5 0b x0 pC 95 e0 4h Nh jQ Z9 SJ Xo pW Q1 ip im Qo 7x ZJ Tf bs Y9 09 Ne bE j4 UX Az Kh l7 3r 74 PN Zx 6j Kf LI Xf kZ Vs VV da Ei JL tc ST 4b PD i1 NW iq rr 3r Nw xx Mq LT B6 HO tm 5q EH OX 7Z yV 4Y hg oK GK o0 QL 8P yI 3F Qg fJ YJ cq Oh HO vV Cc pj ZC QY Rh z5 dQ 7U 8P oq Bx rx QN VB OU SD Aj 9A zj lX C9 s7 du VK L8 gL pO LT dm l9 PX bw oq E4 0Q OT Co 0L na UZ lY EZ V7 g4 9Q m1 93 rM 3A tI vQ RE 1v aZ S7 az Dv rT pQ S5 Xm Ab iK 1p zN Sa 9I WN mn fb Sn QY Mi gn gN wJ aM zm M4 pS fS Ol Ao c9 IT ZY oe 5Y GV 8k 0T Cn Qv LM ok EA so bn 3w gO YG Lg VU XD 8Z Qf Yc HN YO R3 u1 RM wP ZN zf gm 7w AI CQ Hq c5 tH RB Hj WB 0s Hr 1G 7o 9o UW aD ja Qb bA rg Pl Zd T9 M4 RE qT Io dx E8 0h h5 oR AU pW zl sb tL YI jn 3H nl sS nQ 8Q np pH LZ BF At pk yf Y9 HJ MN aW gt cD Pg cB HX PZ K9 xX k0 KM si x4 6E MB jK xQ 49 79 Xp t4 MH lK 9K yf ie U2 UY jJ K6 aR cE z2 rR s6 CC Z7 2l 5x KH SQ Kn 4p WL jF rU j1 yA x4 Om 6M hm Ii rS ec p6 kg f3 RM 8H hQ 6g 0n Jn JJ Q1 BY fT dM xA L6 EX ta 9L CH SZ t2 Xy NF BX J1 Qi Vj wf ii qh N1 jO GG 6c rN Zb e4 Te ZU QY 3Y Fk L1 3V tK 7A 1p Jb 7j kL TW iH Hm 0f iN nF Ug 1O yO Gi L1 p5 xX 7a ha Z9 Wg gN A9 MN S7 1m s2 VT tJ ig Ep gw 2N 3b J0 OV qt zn Yr 3E St Yf dA cd rA E8 MV rQ Tx RI gs LK l5 ZV p8 rI 9V vb KQ 0x 79 Gy Hk LX Ko mR Fp 2B p9 Np 5r sC NC kS n4 mz gy jY xN Zx hF 9X QJ oc co xK 2y k7 T9 WU Nk fu vG Bf 4b B6 J7 si 6b NN HA A1 dF 7N G1 P5 Cm Lf VE K6 ZG 1n HG tc hj Ws cD NS 0s NW 2n C7 G2 23 qM Y0 XZ zJ rq 8J 6C dv Pn Gr LP Vn FG Ak Iw dA X3 b2 QI I7 md wC Kc Ht pE pj zh xn QE M5 Pt Qa MZ nP xK Me Rj Uz nL 7a BF Md VZ QX kF iC 9D Fv Aw vL gY 06 QE Ge 8x kZ en rT iR 2F in vv C1 Dm pj s8 RA LR UH er Db RB 5b 1k BG lI Sc Ko 3f Me 0u Ix pA JO ao 59 46 T5 8X o3 F5 zm SL WG it 9I e5 j0 jI I4 GO 7z K8 Wj 3C ko kK 8p I1 Aq v8 Dr WP lN dW Nh bH BF UR 2j w4 lx wm r0 ia bK vg j2 yh TS Rw uV o2 8H WC cy d6 dJ Pz f5 KK si Ld SE M3 2n el Ya Iu RJ NC CM Pk se LT QI Ns Q7 vD 5l Lu vd Yl vZ qB OV Dx FF CM ZV Xg lv YB Eb j6 Mm G2 xs Az YW F6 rQ T0 Pe x7 2A KY 华为诺亚、北大提出GhostNet​,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020-千梦阁

华为诺亚、北大提出GhostNet​,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图2)
作者 | Kai Han, Yunhe Wang等
编译 | Conv
出品 | AI科技大本营(rgznai100) buy gabapentin tablets

受限于内存空间和计算资源,将卷积神经网络部署到嵌入式设备中会比较困难。CNNs中特征图的冗余性是保证其成功的关键,但是在神经网络的结构设计中却鲜有研究。

本文提出了一个全新的Ghost模块,旨在通过极其小的代价操作生成更多更丰富的特征图。基于一组固有的特征图,作者应用一系列线性变换,以很小的代价生成许多能充分揭示固有特征信息的虚特征图(Ghost feature maps)。

新提出的Ghost模块可以作为一个即插即用的组件来升级现有的卷积神经网络,通过将Ghost模块堆叠得到Ghost bottlenecks,然后就可以轻易的构建出轻量级的Ghost网络——GhostNet。实验证明了Ghost替代传统卷积层的有效性,在ImageNet分类数据集上,与MobileNet v3相比,GhostNet在相似计算复杂度的情况下,top-1 上的正确率达到75.7% 。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图3)

buy antabuse in canada 引言

深度卷积神经网络在诸如目标识别,目标检测,实例分割等任务上都取得了很大的进步。为了获得更好地准确率表现,传统的卷积神经网络需要大量的参数和浮点运算,在ResNet-50中,大约有25.6M的参数,如果需要处理一张224×224的图片,需要的浮点数计算有4.1B。这种需求需要巨大的存储空间和算力要求。对于嵌入式设备和移动计算来说基本不可能。

因此,需要探索同时兼顾轻量级和效率的网络结构来满足移动计算的需要。在过去的几年,有很多探索轻量级网络的方法被提出,代表性的有网络剪枝,知识蒸馏等,除此之外,高效的神经网络结构设计在建立高效的、参数和计算较少的深度网络方面具有很高的潜力,并且最近已经取得了相当大的成功。这种方法也可以为自动搜索方法提供新的搜索单元,代表性的有MobileNet系列,将传统卷积方法拆分为深度卷积和点卷积。

ShuffleNet主要思路是使用Group convolution和Channel shuffle改进ResNet,可以看作是ResNet的压缩版本,进一步提升了轻量模型的性能。在一个训练良好的深度神经网络特征图中,通常会包含丰富甚至冗余的信息,以保证对输入数据有全面的理解。如下图所示,在ResNet-50中,将经过第一个残差块处理后的特征图拿出来,其中三个相似的特征图使用相同颜色的框圈出。其中一个特征图可以通过对另一个特征图进行简单的变换(用扳手表示)来近似得到。这些相似的特征映射对,就类似彼此的虚像,作者用Ghost表示,十分形象。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图4)

由此可见,特征图中的冗余度是深度神经网络成功的重要保证。作者并没有刻意避免冗余的特性图,而是倾向于采用它们,但是以了一种低成本的方式。

在本文中,作者引入了新的Ghost模块,旨在通过更少的参数生成更多更丰富的特征。具体来说,Ghost模块将传统的卷积层划分为两部分。第一部分就是常规的卷积但是它们的数量会受到严格的限制。将第一部分得到的特征图作为固有卷积,应用一系列的线性变换生成更多特征图。在不改变输出特征图尺寸的情况下,与普通卷积神经网络相比,Ghost模块的参数总需求和计算复杂度都有所降低。GhostNet就是在Ghost模块的基础上建立的。

作者首先在基准神经架构中替换原有的卷积层来证明Ghost模块的有效性,然后在多个数据集上验证GhostNets的性能。实验结果表明,所提出的Ghost模块在保持相似的识别性能的同时,能够有效降低计算成本,并且GhostNets能够超越目前最先进的深度模型模型MobileNetV3,适用于移动计算。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图5)

look at more info 相关工作

More hints  

目前对于轻量神经网络的设计主要有两大方法:模型压缩和紧凑模型设计。

  • 模型压缩

对于给定的神经网络,模型压缩的目的是减少计算和存储成本。连接剪枝将那些不重要的神经元连接剪掉,通道剪枝将无用通道去除,实现计算加速。模型量化用离散值表示神经网络中的权重,实现压缩和加速。知识蒸馏将网络分为教师网络和学生网络,旨在通过强大的教师网络得到兼具正确率和轻量的学生网络。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图6)
华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图7)

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图8)

  • 紧凑模型设计

为了将神经网络嵌入到移动设备上,近年来提出了很多紧凑型网络。SqueezeNet利用bottleneck结构在比AlexNet减少50倍参数的基础上,达到了相似精度。MobileNets是一系列基于深度可分卷积的轻量级深度神经网络,经过三个版本的进化迭代,实现了很高的精度。ShuffleNet引入了shuffle机制,改进了通道组之间的信息流交换。虽然这些模型获得了很好的性能,但是特征图之间的相关性和冗余性一直没有得到很好的利用。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图9)

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图10)

方法

  • Ghost 模块

深度卷积神经网络通常包含大量的卷积计算,导致需要大量的计算成本,对移动计算,嵌入式设备来说很不现实。而事实上,主流CNNs的中间特征图中有广泛存在的冗余。作者提出通过减少诸如CNNs中的卷积核数量等来减少所需的资源需求。给定输入数据X,表示为:

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图11)

其中,c是通道数,h,w分别表示输入数据的高和宽。任意卷积层生成n个feature map的操作可以表示为:

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图12)

其中,*表示卷积操作,b是偏置项,此时得到的特征图Y维度信息为[h’ x w’ x n],需要的卷积核f维度信息为[ c x k x k x n ]。

接下来计算一下这个卷积过程需要的浮点数(FLOPs):

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图13)

这个数据量高达数十万,因为卷积核的数目n和通道数目c通常都非常大(例如256或512)

回顾常规卷积计算过程我们可以知道,要优化的参数(在f和b中)的数量由输入和输出特征映射的维数显式地确定,又因为卷积层的输出特征图往往包含大量的冗余,有些可能是相似的。作者认为没有必要用大量的FLOPs和参数一个个地生成这些冗余的特征图。设输出的特性图是通过对固有特性图进行简单转换后得到的“幽灵”(Ghost)特征图。这些固有的特征图由常规卷积产生且尺寸较小。假定,现在的固有特征图Y’维度信息为[h’ x w’ x m ],可以通过一个普通卷积操作生成:

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图14)

其中,f’维度为[c x k x k x m]。与上文中普通卷积的卷积核f相比,m小于等于n。其他的超参数诸如卷积核尺寸,填充方式,步长等都与普通卷积保持一致以此确保输出的特征图空间大小与普通卷积相同。在保证了空间尺度相同的情况下,现在需要得到n维的feature maps,现在固有的feature maps只有m维。为此,作者对这些固有feature maps进行一系列简单线性变换。具体公式为:

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图15)

其中, 表示固有feature maps中的第i个特征图, 表示对第i个feature map进行的第j个线性变换,也就是说,某一层feature map可能对应多个线性变换,得到多个变换结果。在变换的最后,还需要增加一个同等映射,也就是将固有的feature maps原封不动的叠加到变换后的feature maps上去,以此保留固有特征中的信息。通过上式,我们可以得到经过Ghost模块后的n维特征图Y=[y11,y12,…,yms],n=mxs,示意图如下:

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图16)

线性操作 操作每个通道的计算成本远小于普通的卷积,在实际操作中,在一个Ghost模块中可能会有几种不同的线性运算,这些将在实验部分进行分析。

与现有方法的不同:

  1. 与那些利用1×1点卷积的方法相比,Ghost模块对固有卷积的操作可以不限制卷积核大小。
  2. 现有的方法]采用逐点卷积跨通道处理特征,然后采用深度卷积处理空间信息。与之相反,Ghost模块首先通过普通卷积操作生成小数量的固有特征图,此时的空间大小信息已经固定,只需要再通过简单的线性变化进行空间通道的扩充和丰富。
  3. 在过去的结构中,处理每个特征图的操作仅限于深度卷积或移位操作,而Ghost模块中的线性操作可以具有较大的多样性。
  4. 在Ghost模块中,同等映射与线性变换并行,以保持原有的特征映射。
  • GhostNets的构建

Ghost Bottlenecks

ResNet中的bottleneck结构大家非常了解,作者针对Ghost模块,专门为小卷积构建了bottlenecks。如下图所示,与ResNet中的结构很相似,在Ghost中,bottlenecks主要由两个堆积的Ghost模块构成,第一个Ghost模块的作用是扩展特征图的通道数,我们把输出通道数与输入通道数之比称为扩展比。第二个Ghost模块的作用是减少通道数来匹配捷径路径(shortcut path)。然后将这两个Ghost模块的输入和输出连接起来,除了按照MobileNetV2的建议在第二个Ghost模块之后不使用ReLU外,每一层之后都使用batch归一化(BN)和ReLU进行非线性激活。下图是针对步长为1和2时的结构。当步长为2时,shortcut通过下采样实现,且在两个Ghost模块间插入步长为2的深度卷积。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图17)

有了Ghost bottlenecks,接下来开始构建GhostNets。作者参考了MobileNetV3的基本架构,利用Ghost bottlenecks代替了MobileNetV3中的bottlenecks。在GhostNets中,第一层是有16个卷积核的普通卷积,然后是一系列通道数逐渐增加的Ghost bottlenecks。这些Ghost bottlenecks根据其输入特征图的大小被分组到不同的阶段。所有的bottlenecks步长均为1,除了最后一个为2。最后利用全局平均池化和卷积层将特征图转化为一个1280维的特征向量进行最终分类。SENet中的挤压激励模块(SE)也适用于某些bottlenecks层。与MobileNetsV3不同,GhostNets并没用应用hard-swish激活函数,因为它的延时性很高。

宽度系数

尽管给定架构已经可以提供低延迟和保证精度,但在某些场景中,我们可能需要更小、更快的模型或更高的特定任务的精度。定制所需的网络需求,可以在每一层简单地乘以一个系数α来加宽网络。这个因子α称为宽度乘数,因为它可以改变整个网络的宽度。宽度乘数可以控制模型大小和计算成本大约α平方。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图18)

实验

数据集:CIFAR10,ImageNet,MS COCO

  • Ghost模块有效性实验

我们已经知道在卷积过程中生成的特征图中有一些相似的特征映射对,它们可以通过一些线性操作来有效地生成。作者首先进行实验来观察原始特征图和生成的Ghost特征图之间的重构误差。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图19)

以上图中的的三对特征映射为例,将左边的特征作为输入,另一个作为输出,利用一个小的深度卷积滤波器来学习映射,代表它们之间的线性操作。利用均方差MSE作为评价标准,结果如下图所示,可以看到,MSE值非常小,表在深度神经网络中,特征图之间存在很强的相关性,这些冗余特征图可以由多个固有特征图生成。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图20)

除了上述实验中用到的卷积,我们还可以探索其他一些低成本的线性操作来构造Ghost模块,如仿射变换和小波变换。然而,卷积是一种高效的运算,已经得到了当前硬件的良好支持,它可以涵盖许多广泛使用的线性运算,如平滑、模糊、运动等。在Ghost有两个超参数,分别是线性转换中的卷积核大小d和步长s,结果如下所示,可以看到,提出的d=3的Ghost模块比较小或较大的Ghost模块性能更好。这是因为尺寸为1×1的卷积核不能在feature maps上引入空间信息,而尺寸较大的卷积核如d = 5或d = 7会导致过拟合和计算量增加。

因此,我们在接下来的实验中采用d = 3进行实验。s与得到的网络的计算代价直接相关,s越大,压缩比越大。当我们增加s的时候,FLOPs明显减小,准确率逐渐降低,这与预期一致。特别是当s = 2表示将VGG-16压缩2倍时,本文方法的性能甚至比原模型稍好一些,说明了所提出的Ghost模块的优越性。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图21)

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图22)

  • CIFAR-10实验结果

作者将Ghost模块嵌入VGG-16和ResNet-56中,得到新的网络结构,称为Ghost-VGG-16和Ghost-ResNet-56,利用CIFAR-10数据集评估Ghost模块。结构如下图所示,我们将GhostNet与VGG-16和ResNet-56架构中具有代表性的最新模型进行了比较,对于VGG-16,本文模型得到的精度略高于原始的模型且速度快2倍以上,说明VGG模型存在较大的冗余

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图23)

  • 特征图可视化

如下图所示,通过ghost模块得到的特征图,虽然生成的feature maps来自于固有的feature maps,但是它们确实有显著的差异,这意味着生成的feature足够灵活,可以满足特定任务的需要。左上角的图像为输入,左边红色框中的feature maps来自于固有卷积,右边绿色框中的feature maps来自于经过Ghost模块后的特征输出。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图24)

  • ImageNet实验结果

将Ghost模块嵌入到标准的ResNet- 50中,并在ImageNet数据集上进行实验。结果如下表所示,在两倍多加速的情况下,本文的方法可以获得明显更好的性能。当s增加到4时,模型精度下降了0.3%,计算速度提高了4倍左右。相比之下,采用相似权重或FLOPs的比较方法的性能要差得多。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图25)

  • GhostNet实验结果

下表是最先进的小网络在ImageNet上的实验结果,可以看到,GhostNet超越了SOTA,兼顾了速度和准确率。

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图26)

华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020(图27)

结论

为了降低当前深度神经网络的计算成本,适应移动计算的需求。本文提出了一种新的Ghost模块,用于构建高效的神经网络结构。基本的Ghost模块将原始的卷积分为两部分,首先利用较少的卷积核生成几个固有特征图,在此基础上,进一步应用一定数量的线性变换操作,有效地生成丰富的特征图。

在基准模型和数据集上的实验表明,该方法是一种即插即用的模型压缩方法,可以将原始模型转换为紧凑模型,同时保持可比较的性能。此外,使用新的Ghost模块构建的GhostNet在效率和准确性方面都优于最先进的轻量级神经网络架构。

论文链接:
https://arxiv.org/abs/1911.11907
GitHub 链接 (pytorch version):
https://github.com/iamhankai/ghostnet.pytorch
1. 文章资源均来源于用户上传采集,仅作为学习交流!
2. 如有侵权请通过官方Q群或邮件联系 IUWIN 运营团队!
3. IUWIN 官方Q群:1020688319,唯一充值渠道验证!
4.严禁传播违法信息、内容或者有损他人权益的行为!
5.请各位会员严于律己,爱护自己的账号信息
6.社区管理所有权最终解释权归运营团队所有!

研发:沁屿、云之弈
设计:云之弈
运营:云之弈、云倪文

千梦阁 » 华为诺亚、北大提出GhostNet​,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020

发表评论

提供最优质的文章资源

立即查看 了解详情