> 文章列表 > 论文笔记:GhostNet: More Features from Cheap Operations

论文笔记:GhostNet: More Features from Cheap Operations

论文笔记:GhostNet: More Features from Cheap Operations

1 论文简介

论文:GhostNet: More Features from Cheap Operations(华为诺亚团队)
源代码:https://github.com/huawei-noah/ghostnet

2 动机

由于内存和计算资源的限制,在嵌入式设备上部署卷积神经网络非常困难。
论文笔记:GhostNet: More Features from Cheap Operations
本文提出的GhostNet:

  • 降低计算复杂度:只保留固有特征
  • 保持特征多样性:将固有特征进行线性变换得到冗余特征。

图1的分析如下:

  • (1)固有特征;
  • (2)线性变换;
  • (3)冗余特征。

在分类任务中,GhostNet在速度精度平衡上比 mobilenetv3 好。

3 相关工作

3.1 模型压缩(Model Compression)

  • Pruning connections
  • Channel pruning
  • Model quantization
  • binarization methods
  • Tensor decomposition
  • Knowledge distillation

3.2 紧凑模型设计(Compact Model Design)

  • MobileNets
  • MobileNets V2
  • MobileNets V3
  • ShuffleNet
  • ShuffleNet V2

4 具体方案

论文笔记:GhostNet: More Features from Cheap Operations
常规的卷积操作:

  • 输入数据: X ∈ R c × h × w X \\in \\mathbb{R}^{c \\times h \\times w} XRc×h×w c c c为通道数(如3通道,RGB), h h h为图片的高度, w w w为图片的宽度;
  • 输出数据: Y ∈ R h ′ × w ′ × n Y \\in \\mathbb{R}^{h' \\times w' \\times n} YRh×w×n h ′ h' h为输出特征映射的高度, w ′ w' w为输出特征映射的宽度, n n n个通道;
  • 操作: Y = X × f + b Y = X \\times f + b Y=X×f+b f ∈ R c × k × k × n f \\in \\mathbb{R}^{c \\times k \\times k \\times n} fRc×k×k×n为卷积操作, k × k k \\times k k×k为卷积核大小, b b b为偏置;
  • 缺点:因为 n n n c c c一般取值很大(例如256或512),导致计算量大。

建议的GhostNet操作:

  • 输入数据: X ∈ R c × h × w X \\in \\mathbb{R}^{c \\times h \\times w} XRc×h×w c c c为通道数(如3通道,RGB), h h h为图片的高度, w w w为图片的宽度;
  • 输出数据: Y ′ ∈ R h ′ × w ′ × m Y' \\in \\mathbb{R}^{h' \\times w' \\times m} YRh×w×m h ′ h' h为输出特征映射的高度, w ′ w' w为输出特征映射的宽度, m m m个通道( m ≤ n m \\leq n mn);
  • 操作1: Y ′ = X × f ′ Y' = X \\times f' Y=X×f f ′ ∈ R c × k × k × m f' \\in \\mathbb{R}^{c \\times k \\times k \\times m} fRc×k×k×m为卷积操作, k × k k \\times k k×k为卷积核大小,为了简化,取消了偏置 b b b
  • 操作2:为了特征多样性,对操作1得到的固有特征进行线性变换, y i j = Φ i , j ( y i ′ ) , ∀ i = 1 , … , m , j = 1 , … , s y_{i j}=\\Phi_{i, j}\\left(y_{i}^{\\prime}\\right), \\quad \\forall i=1, \\ldots, m, \\quad j=1, \\ldots, s yij=Φi,j(yi),i=1,,m,j=1,,s y i ′ ∈ Y ′ y_{i}^{\\prime} \\in Y^{\\prime} yiY为第 i i i个固有特征映射, Φ i , j \\Phi_{i, j} Φi,j为第 j j j个线性变换,通过线性变换,可以得到 { y i j } j = 1 s \\{y_{ij}\\}_{j=1}^s {yij}j=1s; 通过线性变换,我们可以得到 n = m ⋅ s n = m \\cdot s n=ms个冗余特征 Y = [ y 11 , y 12 , … , y m s ] Y = [y_{11}, y_{12}, \\dots, y_{ms}] Y=[y11,y12,,yms]