ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design
Ningning Ma Xiangyu Zhang Hai-Tao Zheng Jian Sun Equal contribution. 1122 ⋆1 ⋆12211
Abstract
Currently, the neural network architecture design is mostly guided by the indirect metric of computation complexity, i.e., FLOPs. However, the direct metric, e.g., speed, also depends on the other factors such as memory access cost and platform characterics. Thus, this work proposes to evaluate the direct metric on the target platform, beyond only considering FLOPs. Based on a series of controlled experiments, this work derives several practical guidelines for efficient network design. Accordingly, a new architecture is presented, called ShuffleNet V2. Comprehensive ablation experiments verify that our model is the state-of-the-art in terms of speed and accuracy tradeoff.
中文速览
过去设计轻量级神经网络时,工程师们习惯用浮点运算量(FLOPs)来衡量模型效率,但 FLOPs 只是间接指标,真实推理速度还受内存访问开销、并行度、硬件特性等因素左右,仅靠它指导设计往往会跑偏。研究者在 GPU 和 ARM 两类平台上做了一系列受控实验,总结出四条实用设计准则:输入输出通道数相等可降低内存访问代价;分组卷积的组数不宜过大;网络内部不要过度"碎片化"成过多小算子;逐元素操作(如 ReLU、Add)的开销不可忽视。按照这四条准则,研究者设计了 ShuffleNet V2,引入通道分割操作替代代价高昂的分组卷积,在保持大量等宽通道的同时减少冗余开销。实验表明,ShuffleNet V2 在同等计算预算下比 ShuffleNet V1 和 MobileNet V2 精度高出约 3.5–3.7%,速度也更快,为移动端高效网络设计提供了一套以真实速度为导向的新范式。
原文 arXiv:1807.11164;中英对照 + 大白话阅读 https://aha.fim.ai/paper/1807.11164v1