美文网首页
GhostNet(More Features from Chea

GhostNet(More Features from Chea

作者: cshun | 来源:发表于2020-02-28 10:14 被阅读0次

    arxiv:https://arxiv.org/pdf/1911.11907arxiv.org
    github:https://github.com/iamhankai/ghostnet.pytorch

    (在ARM CPU上的表现惊人)(CVPR2020)


    目的及意义

    文章提出了一种Ghost模块(和depth-wise convolution有点像的),用来降低卷积神经网络的计算成本。
    模块可以即插即用,来代替常规的卷积操作。
    在保持网络性能的前提下,将原始模型转换为紧凑模型。
    具体结构下面介绍。

    ghost模块解析
    常规的卷积操作

    C×H×W大小的特征图需要N个C×K×K的卷积核进行卷积,得到N×H×W的特征图。
    C为输入特征图通道数,H为高,W为宽,N为输出特征图的通道数,K为卷积核大小。计算量如下


    计算量
    Ghost module

    C×H×W大小的特征图首先与M个C×K×K的卷积核进行卷积,得到M×H×W的特征图。(M<N,且M*S=N)
    之后对M×H×W进行S-1次分组卷积(文章中说是对每个通道均进行linear opera-
    tion操作,和大小为d×d,d可以为1,3,5...)得到S-1个M×H×W大小的特征图,最后S个叠加到一起得到N×H×W的特征图。


    计算量

    两种方法计算量对比(相较于常规卷积操作,ghost module大约可以缩小S倍的计算量)
    例如c=256,512或者其他,s=2,3后者其他,s<<c


    这样我们可以看出ghost模块可在缩小S倍计算量的前提下代替传统卷积操作。

    为什么可以怎么做呢?

    论文中指出,复杂的卷积神经网络中,存在着很多相似的通道(下图所示),相似的通道在CNN中是存在一定道理的,虽然网络裁剪的过程中往往更倾向于删减掉这些通道。那ghost module中linear opera-
    tion即是在减少计算量的前提下来增加这些相似通道。(也就是,既然人家网络存在着相似层,那我们也就不去想着怎么减少它了,而是找一种更高效的操作去直接生成它。我猜应该是这样子的。)


    为了方便使用,提出两种结构

    stride=1也没啥好说的
    stride=2中用到了mobilenet中的DWConv(stride=2)来进行下采样,并且对输入特征图进行downsampling layer来保证Add操作时特征图的H×W一致。

    参数D和S的尝试

    有效减少计算量的同时精度得到了很好的保留


    对比效果

    相较于mobilenet v3,相似计算量时ghost net在准确度上也有一定的提升



    结论

    Ghost可降低CNN卷积操作的计算成本。先卷积生成一定数量的特征图,再进一步应用一定数量的廉价变换操作,有效地生成ghost特征图。该方法是一个即插即用的模块,并通过实验证明在保持可比性能的前提下,将原始模型转换为紧凑模型。此外,使用所提出的新模块构建的GhostNet在效率和准确性方面都优于最先进的轻量级神经架构。
    ghost modual其实和可分离卷积有点像。

    相关文章

      网友评论

          本文标题:GhostNet(More Features from Chea

          本文链接:https://www.haomeiwen.com/subject/ykexhhtx.html