论文标题 | GhostNet: More Features From Cheap Operations |
---|---|
论文作者 | Kai Han, Yunhe Wang, Qi Tian, Jianyuan Guo, Chunjing Xu, Chang Xu |
发表日期 | 2020年01月01日 |
GB引用 | > Kai Han, Yunhe Wang, Qi Tian, et al. GhostNet: More features from cheap operations[J]. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2020, abs/1911.11907: 1577-1586. |
DOI | 10.1109/CVPR42600.2020.00165 |
论文地址:https://arxiv.org/pdf/1911.11907
摘要
本文提出了一种新颖的Ghost模块,用于通过廉价操作生成更多的特征图。该模块首先使用小型滤波器生成一些基本特征图,然后通过一系列简单的线性变换生成更多特征图。与现有方法相比,Ghost模块在保持相似性能的同时减少了参数和计算复杂度。基于Ghost模块,构建了高效的GhostNet架构。实验表明,Ghost模块可以减少普通卷积层的计算成本,而GhostNet在多个基准数据集上的表现优于其他高效模型,如MobileNetV3,在ImageNet分类任务上达到75.7%的Top-1准确率。
全文摘要
论文的标题为《GhostNet: More Features from Cheap Operations》,主要研究在嵌入式设备上部署卷积神经网络(CNN)所面临的挑战,尤其是内存和计算资源的限制。论文提出了一种新颖的Ghost模块,使用低成本操作生成更多的特征图,旨在提高神经网络的效率。
论文的主题围绕如何利用神经网络中特征图的冗余性,在降低计算成本的同时保持较高的识别性能。Ghost模块首先通过普通卷积提取少量的“内在特征图”,然后通过一系列低成本的线性变换生成更多的“幽灵特征图”。这一方法不仅减少了所需的参数数量和计算复杂度,还可以容易地嵌入到现有的卷积神经网络中,例如MobileNet。
主要结论
- Ghost模块的高效性:Ghost模块能够有效减少卷积层中计算的复杂度,同时生成与传统卷积层输出数量相当的特征图,从而在不显著降低性能的前提下实现了网络的压缩和加速。
- GhostNet的优越性:利用Ghost模块构建的GhostNet在ImageNet ILSVRC2012分类数据集上的Top-1准确率达到75.7%,优于MobileNetV3,且计算成本相似。这表明GhostNet在移动设备等资源有限的环境中更具优势。
- 实用性和可扩展性:Ghost模块可以作为一个插件模块,灵活地与其他网络结构结合,使得研究人员在设计高效深度学习模型时有了新的思路。
独特之处与现有的许多压缩和加速方法不同,Ghost模块不仅关注于剪枝、量化等方法所带来的好处,还充分利用了特征图的冗余性,通过低成本的线性变换提升了模型的表现。这一创新性的方法为神经网络的高效设计提供了新的思路,尤其适用于资源受限的嵌入式设备。
研究问题
如何设计一种新型的Ghost模块,以更高效地生成更多的特征图,同时保持与传统卷积层相当的识别性能?
研究方法
实验研究: 在基准模型和数据集上,通过替换原始卷积层为所提出的Ghost模块来验证其有效性,并进一步测试基于新模块构建的GhostNet架构在图像分类和目标检测基准上的性能。
比较研究: 将所提出的GhostNet与几种代表性的最先进模型进行比较,包括不同类型的模型压缩方法,如ℓ1剪枝、SBP、通道剪枝(CP)和AMC等。
案例研究: 通过嵌入标准ResNet-50并在大规模ImageNet数据集上进行实验,展示了Ghost模块在减少计算成本的同时保持与原始ResNet-50相当的准确性。
定量研究: 通过CIFAR-10数据集上的实验,分析了Ghost模块中两个超参数s和d的影响,并展示了不同设置下模型的权重、FLOPs和准确率。
研究思路
该论文《GhostNet: More Features from Cheap Operations》的研究思路主要集中在如何有效地在嵌入式设备上部署卷积神经网络(CNN)以满足有限的内存和计算资源的需求。论文的核心观点是利用神经网络中的特征图冗余性,提出一种新的Ghost模块,旨在通过低成本的操作生成更多的特征图,从而提高计算效率和性能。
论文提出的Ghost模块建立在卷积神经网络的基本操作之上,通过将选定的卷积层拆分为两个部分来工作:
初始卷积层:该层通过有限数量的卷积操作生成一组内在特征图(intrinsic feature maps)。
线性变换部分:在生成的内在特征图基础上,通过一系列低成本的线性变换(如深度卷积)生成多个“幽灵特征图”(ghost feature maps)。这些线性变换可以是简单的操作,如1x1卷积或其他低复杂度的运算。
通过这种方法,Ghost模块能够在几乎不增加计算复杂度的情况下,扩展输出特征图的数量。
论文的研究方法主要包括以下几个步骤:
- Ghost模块的设计:将传统的卷积层改为由一个生成少量内在特征图的卷积操作以及多个产生幽灵特征图的线性变换组成。
- Ghost瓶颈的引入:在Ghost模块的基础上,设计了Ghost瓶颈,允许将多个Ghost模块堆叠起来。这种结构不仅保留了特征信息,同时大大降低了参数量和计算量。
- 网络架构的构建:在现有的网络结构(如MobileNetV3)中替换掉传统的卷积层,构建新的GhostNet架构。
- 实验验证:在多个标准数据集(如CIFAR-10和ImageNet)上进行实验,比较GhostNet与其他轻量级网络(如MobileNetV3)的性能,以验证其在保持高准确率的同时大幅降低计算量的效果。
Ghost 模块
深度卷积神经网络 [30, 46, 16] 通常由大量卷积运算组成,这会导致巨大的计算成本。尽管诸如 MobileNet [21, 44] 和 ShuffleNet [40] 等最近的工作已经引入了分组卷积或洗牌操作来使用更小的卷积核(浮点数运算)构建高效的 CNN,但剩余的 1×1 卷积层仍然会占用大量的内存和浮点运算次数。
鉴于主流卷积神经网络计算中间特征图中广泛存在的冗余,如图 1 所示,我们提出了一种减少所需资源的方法,即用于生成它们的卷积滤波器。在实践中,给定输入数据 X ∈ R c × h × w X\in\mathbb{R}^{c\times h\times w} X∈Rc×h×w,其中 c c c是输入通道数,而 h h h和 w w w分别为输入数据的高度和宽度。任意卷积层产生 n n n个特征图的操作可以表述为
Y = X ∗ f + b , ( 1 ) Y=X*f+b,\quad(1) Y=X∗f+b,(1)
其中, ∗ * ∗是卷积操作, b b b是偏置项, Y ∈ R h ′ × w ′ × n Y\in\mathbb{R}^{h^\prime\times w^\prime\times n} Y∈Rh′×w′×n是输出特征图,具有 n n n个通道, f ∈ R c × k × k × n f\in\mathbb{R}^{c\times k\times k\times n} f∈Rc×k×k×n是该层的卷积滤波器。此外, h ′ h^\prime h′和 w ′ w^\prime w′分别为输出数据的高度和宽度,而 k × k k\times k k×k是卷积滤波器 f f f的内核大小。在进行此卷积过程时,所需的浮点运算次数可以计算为 n ⋅ h ′ ⋅ w ′ ⋅ c ⋅ k ⋅ k n\cdot h^{\prime}\cdot w^{\prime}\cdot c\cdot k\cdot k n⋅h′⋅w′⋅c⋅k⋅k,通常非常大(例如 256 或 512),因为滤波器数量 n n n和通道数 c c c通常很大。
根据公式1,需要优化的参数数量( f f f和 b b b)由输入和输出特征图的维度明确决定。如图1所示,卷积层的输出特征图通常包含大量冗余,并且其中一些可能彼此相似。我们指出,没有必要使用大量的浮点运算和参数来一一生成这些冗余特征图。假设输出特征图是一些基本特征图经过一些廉价变换得到的“幽灵”。这些基本特征图往往尺寸较小,是由普通的卷积滤波器产生的。具体来说,可以使用一个主卷积生成 m m m个大小为 Y ′ ∈ R h ′ × w ′ × m Y^{\prime}\in\mathbb{R}^{h^{\prime}\times w^{\prime}\times m} Y′∈Rh′×w′×