资讯详情

【读点论文】ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices,规则...

ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

Abstract

  • 本文介绍了一个名字ShuffleNet计算效率极高,计算能力非常有限,如10-150 MFLOPs)的设计。新架构采用两种新操作,,在保持精度的同时,计算成本大大降低。
  • 在ImageNet分类和MS COCO对象检测实验证明ShuffleNet比其他结构好,比如40 MFLOPs在计算预算下,在ImageNet比最近分类任务好MobileNetV1更低的top-1误差(绝对7.8%)。在基于ARM在移动设备上,ShuffleNet比AlexNet实现了13倍的加速,同时保持相当的精度。
  • ShuffleNet是旷视科技提出的高效计算CNN模型,其和MobileNet和SqueezeNet等等,主要是想在移动端应用。,这就需要在速度和精度之间做好平衡。
  • ShuffleNet以两种操作为核心:。目前移动端CNN模型设计主要有两个方面:模型结构设计和模型压缩。
  • ShuffleNet 是 Face 和 MobileNet 同样,发表在 CVPR-2017。https://arxiv.org/pdf/1707.01083.pdf

Introduction

  • 构建更深更大的卷积神经网络(CNN)解决主要视觉识别任务的主要趋势[AlexNet,VGG,ResNet,FCN,Faster-RCNN,Rich feature hierarchies for accurate object detection and semantic segmentation]。最精确的CNN通常有数百层和数千个通道,因此需要数十亿次浮点运算。
  • 这份报告研究了相反的极端:数十或数百MFLOPs的,专注于无人机、机器人和智能手机等常见的移动平台。请注意,许多现有的作品[Speeding up convolutional neural networks with low rank expansions,,Accelerating very deep convolutional networks for classification and detection,Efficient and accurate approximations of nonlinear convolutional networks,Learning structured sparsity in deep neural networks,Xnornet]集中于
  • 本文的目标是探索高效的基础设施,专门为本文所期望的计算范围而设计,从零开始设计小网络。
  • 本文注意到,。建议使用本文。为了克服组卷积带来的副作用(通道之间的交流较少),本文提出了一种新颖的
  • 基于这两种技术,本文构建了高效的架构ShuffleNet。与[VGG,ResNet,ResNeXt]与流行结构相比,对于流行结构,本文的
  • shuffleNet挑战性的ImageNet分类和MS COCO本文的模型在对象检测任务中进行评估。一系列的控制实验表明,设计原则的有效性和优于其它结构的性能。结构最先进MobileNet V1相比,ShuffleNet例如,在40年代实现了显著的卓越性能 MFLOPs的水平上,ImageNet top-1误差绝对低7.8%。
  • 本文还研究了实际硬件的加速,即基于现成的ARM计算核心。ShuffleNet模型比AlexNet 实际加速比为13倍(理论加速比为18倍),同时保持了相当的精度。

Related Work

Efficient Model Designs

  • 近年来,深度神经网络在计算机视觉任务中取得了成功,其中模型设计发挥了重要作用。对嵌入式设备上运行高质量深度神经网络的日益增长鼓励了对高效模型设计的研究[Convolutional neural networks at constrained time cost]。
  • 与简单叠加卷积层相比,GoogLeNet 网络的深度因复杂性低得多而增加。SqueezeNet 参数和计算在保持精度的同时显著减少。ResNet 使用高效的瓶颈结构来实现令人印象深刻的性能。
  • 与此同时,最近的工作[Learning transferable architectures for scalable image recognition]探索有效的模型设计,采用强化学习和模型搜索。提出的mobile NASNet模型与本文对应ShuffleNet性能相当于模型(26.0% @ 564 MFLOPs对26.3% @ 524 MFLOPs的ImageNet分类错误)。但是[NASnet]在极小的模型上没有报告结果(例如,复杂度小于150 MFLOPs),移动设备上的实际推断时间没有评估。
  • ShuffleNet核心设计理念是。Group convolution是,然后用不同的卷积核对每(组内卷积),
  • 因为一般的卷积是在所有输入特征图上做的,可以说是全通道的卷积,是通道密集连接的一种方式(channel dense connection)。而group convolution相比之下,通道稀疏连接是一种(channel sparse connection)。使用group convolution的网络如Xception,MobileNet,ResNeXt等。

Group Convolution

  • 组卷积的概念最初是在AlexNet 中引入的,,在ResNeXt 它的有效性已经得到了很好的证明。Xception中提出的深度方向可分离卷积概括了Inception系列中可分离卷积的思想。MobileNetV1.卷积可以通过深度方向分离,在轻量级模型中取得最先进的效果。本文的工作以新的形式推广了组卷积和深度可分卷积。

Channel Shuffle Operation

  • 据本文所知,在之前的高效模型设计工作中,效模型设计工作中很少被提及,尽管CNN库cuda-convnet支持随机稀疏卷积层,相当于随机信道混洗后的一组卷积层。这种“random shuffle操作目的不同,后来很少使用。最近,另一项并行工作[Interleaved group convolutions for deep neural networks]两级卷积也采用了这一思想。但[Interleaved group convolutions for deep neural networks]通道混洗本身的有效性及其在微小模型设计中的应用尚未专门调查。

Model Acceleration

Approach

Channel Shuffle for Group Convolutions

  • 现代卷积神经网络通常由结构相同的重复构建块组成。其中,诸如Xception和ResNeXt 之类的最新网络将
  • 然而,本文注意到两种设计都。例如,在ResNeXt 中,只有3 × 3层配有组卷积。因此,。在微型网络中,昂贵的逐点卷积导致有限数量的信道来满足复杂性约束,这可能会显著损害准确性。
  • 为了解决这个问题,一个简单的解决方案是。通过确保每个卷积仅在相应的输入通道组上操作,组卷积显著降低了计算成本。然而,。下图 (a)示出了两个堆叠的组卷积层的情况。很明显,某个组的输出只与该组内的输入相关。这种特性阻碍了频道组之间的信息流,削弱了代表性。
    • 具有两个堆叠组卷积的信道混洗。GConv代表组卷积。
      • a)具有相同组数的两个堆叠卷积层。每个输出通道仅与组内的输入通道相关。没有cross talk;
      • b)当GConv2从GConv1之后的不同组中取数据时,输入和输出通道是完全相关的;
      • c)使用信道混洗的b)的等效实现。
    • shuffle 具体来说是 channel shuffle,是将各部分的 feature map 的 channel 进行的打乱,构成新的 feature map,以解决 group convolution 带来的「信息流通不畅」问题。(MobileNet 是用 point-wise convolution 解决的这个问题)
    • 利用channel shuffle就可以充分发挥group convolution的优点,而避免其缺点。
  • 如果允许组卷积从不同组获得输入数据(如上图 (b)所示),则输入和输出通道将完全相关。具体来说,。这可以通过信道混洗操作高效而优雅地实现(上图 ©):假设一个具有g个组的卷积层,其输出具有g × n个信道;首先将输出信道维度整形为(g,n ),,然后将其展平,作为下一层的输入。
  • 请注意,即使两个卷积的组数不同,该操作仍然有效。此外,信道混洗也是可区分的,这意味着它可以嵌入到网络结构中进行端到端的训练。
  • 信道混洗操作使得利用多组卷积层构建更强大的结构成为可能。本文将介绍一种具有信道混洗和组卷积的高效网络单元。

ShuffleNet Unit

Network Architecture

Experiments

  • 本文主要在ImageNet 2012分类数据集上评估本文的模型。本文遵循[ResNeXt]中使用的大多数训练设置和超参数,但有两个例外:
    • (I)本文将权重衰减设置为4e-5而不是1e-4,并使用线性衰减学习率策略(从0.5降低到0);
    • (ii)对于数据预处理,本文使用稍微不太激进的规模扩大。[MobileNetV1]中也提到了类似的修改,因为这种小网络通常会出现欠拟合而不是过拟合。在4个GPU上训练一个模型进行 3 × 1 0 5 3×10^5 3×105次迭代需要1、2天的时间,批量设置为1024。为了进行基准测试,本文在ImageNet验证集上比较了单裁剪top-1的性能,即从256×输入图像中裁剪224×224的中心视图并评估分类精度。本文对所有型号使用完全相同的设置,以确保公平的比较。

Ablation Study

  • ShuffleNet的核心思想在于逐点组卷积和通道混洗操作。在这一小节中,本文分别对它们进行评估。

Pointwise Group Convolutions

  • 为了评估逐点组卷积的重要性,本文比较了具有相同复杂度的ShuffleNet模型,这些模型的群数量从1到8不等。如果组号等于1,则不涉及逐点组卷积,然后ShuffleNet单元变成“Xception-like”[Xception]结构。为了更好地理解,本文还将网络的宽度扩展到3种不同的复杂度,并分别比较它们的分类性能。结果如下表所示。
    • 分类误差与组数g的关系(组数越小,性能越好)
  • 从结果中,本文看到具有组卷积(g > 1)的模型始终比没有逐点组卷积(g = 1)的模型表现得更好。。例如,对于ShuffleNet 1倍的最佳条目(g = 8)比对应条目好1.2%,而对于ShuffleNet 0.5倍和0.25倍,差距分别变为3.5%和4.4%。
  • 请注意,对于给定的复杂度限制,组卷积允许更多的特征映射通道,因此本文,这有助于编码更多的信息。此外,较小的网络涉及较薄的特征图,这意味着它从放大的特征图中获益更多。
  • 上表还显示,对于一些模型(例如ShuffleNet 0.5×)来说,。随着组数量的增加(因此特征映射更宽),每个卷积滤波器的输入通道变得更少,这可能损害表示能力。有趣的是,本文还注意到,

Channel Shuffle vs. No Shuffle

  • 。下表比较了具有/不具有信道混洗的混洗网络结构(例如组号被设置为3或8)的性能。评估是在三种不同的复杂程度下进行的。
    • (smaller number represents better performance)
  • 很明显,

Comparison with Other Structure Units

  • 最近,VGG 、ResNet、GoogleNet 、ResNeXt 和Xception 的改进的卷积单元采用大型模型(例如≥ 1GFLOPs)追求最先进的结果,但没有充分探索低复杂性条件。在本节中,本文将考察各种构建模块,并在相同的复杂性约束下与ShuffleNet进行比较。
  • 为了公平比较,本文使用表所示的整体网络架构。本文用其他结构替换阶段2-4中的shuffle网络单元,然后调整通道的数量以确保复杂度保持不变。本文探索的结构包括:

标签: wnk808系列压力变送器wnk79智能压力变送器wnk79压力变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台