轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习

0.摘要

在mobilenet ShuffleNet之后,华为推出了自己的轻量化网络,提出ghost模块,思想比较简单,作者觉得反正有很多feature map是特征冗余的,不如直接用基础特征图来制造冗余的feature map。用cheap operation(简单的线性操作)来代替部分卷积运算。
作者也用了别的技术来压缩模型:剪枝(神经元)、剪枝(通道)、二值化法、张量分解、知识蒸馏

轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第1张图片

1.模型压缩

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

2.ghost模块

2.1结构

先要进行普通的卷积操作来获得基础特征:在这里插入图片描述

使用的廉价操作就是最简单的线性计算
在这里插入图片描述
卷积和ghost模块对比:
轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第2张图片

ghost module:
轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第3张图片
三步走:首先用常规卷积得到基础特征图;再使用廉价操作获得ghost特征图;最后使用concat获得最终结果
作者也在获得基础特征的时候使用了不同的卷积核来减小计算量,但随之提高了存储量。然后作者借鉴了mobile net中的深度卷积和点卷积来代替普通卷积,在实际应用的过程中
Ghost bottleneck主要由两个堆叠的Ghost模块组成。第一个Ghost模块用作扩展层,增加了通道数。这里将输出通道数与输入通道数之比称为expansion ratio。第二个Ghost模块减少通道数,以与shortcut路径匹配。然后,使用shortcut连接这两个Ghost模块的输入和输出。这里借鉴了MobileNetV2,第二个Ghost模块之后不使用ReLU,其他层在每层之后都应用了批量归一化(BN)和ReLU非线性激活。上述Ghost bottleneck适用于stride= 1,对于stride = 2的情况,shortcut路径由下采样层和stride = 2的深度卷积(Depthwise Convolution)来实现。出于效率考虑,Ghost模块中的初始卷积是点卷积(Pointwise Convolution)。
轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第4张图片

2.2计算复杂度

轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第5张图片
这个网络是靠线性计算来节约计算和存储空间的,所以冗余特征的个数s就是压缩率的一个总要参数

2.3网络结构

轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第6张图片

3.实验结果

轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第7张图片

轻量型骨干网络之GhostNet: More Features from Cheap Operations论文学习_第8张图片

你可能感兴趣的:(论文学习,卷积,神经网络,网络,深度学习,人工智能)