Abstract

We introduce an extremely computation-efficient CNN architecture named ShuffleNet, which is designed specially for mobile devices with very limited computing power (e.g., 10-150 MFLOPs). The new architecture utilizes two new operations, pointwise group convolution and channel shuffle, to greatly reduce computation cost while maintaining accuracy. Experiments on ImageNet classification and MS COCO object detection demonstrate the superior performance of ShuffleNet over other structures, e.g. lower top-1 error (absolute 7.8%) than recent MobileNet [12] on ImageNet classification task, under the computation budget of 40 MFLOPs. On an ARM-based mobile device, ShuffleNet achieves ∼13× actual speedup over AlexNet while maintaining comparable accuracy.


연산량에서 매우 제한적인 모바일 환경을 위해 비용 측면에서 매우 효과적인 CNN 아키텍처 ShuffleNet을 소개한다.

ShuffleNet은 pointwise group convolution과 channel shuffle을 통해 정확도를 유지하면서도 연산 비용을 훌륭하게 줄일 수 있다.

ImageNet 분류와 MS COCO 객체 탐지 문제에서 7.8% top-1 error와 40MFLOPs의 매우 낮은 연산 비용을 보여주는 것을 증명하였다.

ARM 기반의 모바일 환경에서 AlexNet보다 13배의 높은 속도를 보여주었으며, 비슷한 정확도를 기록하였다.


요약

  • 기존의 대표적인 CNN 아키텍처는 주로 대부분의 파라미터를 fcn에서 가져가는 경우가 많았는데, MobileNet이나 그 이후의 대표적 CNN 아키텍처들은 1x1 CNN을 사용하게 되면서, fcn이 차지하는 파라미터의 비중보다 1x1 CNN이 차지하는 파라미터의 개수가 더욱 지배적이게 됬다. 그렇다면 이제 1x1 CNN이 차지하는 파라미터를 감소시키는 방법이 없을까에 대한 내용을 다룬다.
  • AlexNet이 실제로는 GPU 2개를 사용하여 학습하였는데, 여기서 사용한 방법이 group convolution이다. 
  • ShuffleNet의 아이디어는 depthwise separable convolution과 channel shuffle을 수행하는 grouped convolution이다. group convolution은 전체 채널에서 컨볼루션 연산 시에 전체 채널을 보기보다는 특정 채널의 범위까지만 다루는 것이다. 이 방법의 문제는 이를 그대로 fcn까지 흘려보내주어 결과를 만들어낼 때, 해당 범위의 채널만 봤기 때문에 제대로 학습되지 않을 수 있는데, 이를 보완하기 위해 shuffle을 해주어 중간중간 해당 그룹이 모든 채널을 볼 수 있도록 도와주게 된다.

  • ShuffleNet unit은 다음과 같다.

  • ShuffleNet은 ResNext나 ResNet과 비교하여 연산량 측면에서 우월하다.
  • 연산량을 줄인 장점을 이용하여 채널 수를 늘려 성능면에서도 우수한 것을 보여주었다. group = 8일때 1536개의 채널까지 늘릴 수 있음을 보여주었다.
  • 실험을 통해 항상 그룹의 개수를 많이 가져가는게 좋지 않음을 보여주었지만, 그룹을 일정 수준 이상 나누는게 성능이 좋았고, shuffle을 항상 하는게 좋은 결과를 보여주었다.
  • MobileNet과의 비교에서 대부분 높은 성능을 보여주었으며, 기타 실험을 통해 모델의 깊이 때문이 아닌 모델 구조에 의해 좋은 성능을 얻음을 보여주고 있다.

 

 

Reference

Zhang, X., Zhou, X., Lin, M., & Sun, J. (2018). Shufflenet: An extremely efficient convolutional neural network for mobile devices. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 6848-6856).
https://www.youtube.com/watch?v=pNuBdj53Hbc&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=54