논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

1. Introduction

  • 이 논문은 모바일이나 임베디드 비전 애플리케이션에 적용하기 위하여 아주 작고 적은 레이턴시를 가지는 모델을 만들기 위한 신경망 구조와 2개의 하이퍼 파라미터에 대해 설명하고 있습니다.

2. Prior Work

3. MobileNet Architecture

3.1 Depthwise Separable Convolution

  • MobileNet 모델은 기존의 컨볼루션을 깊이별(depthwise)의 컨볼루션과 1 x 1의 위치별(pointwise) 컨볼루션으로 분리된 컨볼루션 방법을 이용하고 있습니다.
  • 깊이별 컨볼루션은 각 입력 채널마다 하나의 필터를 사용합니다.
  • 위치별 컨볼루션은 깊이별 컨볼루션의 결과를 통합하는 1 x 1 크기의 컨볼루션을 사용합니다.
  • 두 컨볼루션에 모두 배치놈(batchnorm)과 ReLU 비선형변환을 적용하였습니다.
  • 기존의 컨볼루션은 입력을 필터링(filtering)하고 통합(combining)하는 과정이 한번에 이루어지지만, 여기에서는 이를 필터링을 담당하는 층과 통합을 담당하는 층을 분리하여 망을 구성합니다.
  • 그 결과 모델의 크기와 계산을 줄일 수 있었습니다.

3.2 Network Structure and Training

  • MobileNet 구조는 기존 컨볼루션을 수행하는 첫 층을 제외하고는 위에서 설명한 분리 가능한 깊이별 컨볼루션(depthwise separable convolution)을 사용하고 있습니다.
  • 상세한 구조는 논문의 표1에 나와있습니다.
  • 마지막 완전 연결 층(fully connected layer)를 제외하고는 모든 층 뒤에는 batchnorm과 ReLU가 적용되어있습니다.
  • 첫번째 층에서와 마찬가지로 깊이별 컨볼루션에도 스트라이드된(strided) 컨볼루션을 적용하여 다운샘플링 효과를 내었습니다.
  • 깊이별 필터에는 파라미터가 적기 때문에 weight decay (L2 regularization)을 아주 적게 주거나 아예 주지 않는 것이 좋았습니다.

3.3 Width Multiplier: Thinner Models

  • 모델을 더욱 작고 계산을 적게 만들기 위하여 width multiplier라고 부르는 파라미터 $\alpha$를 사용합니다.
  • 이 파라미터는 각 층에 동일하게 적용되어 신경망을 가늘게 만드는 것입니다.
  • 각 층에 대해서 입력과 출력 채널에 $\alpha$를 곱하여 더 작은 채널을 가지도록 만들게 됩니다.
  • $\alpha$는 보통 1, 0.75, 0.5, 0.25 중 한 값을 가지도록 합니다.
  • 이 방법은 어느 신경망에나 적용할 수 있는데, 크기와 성능 사이 트레이드 오프가 있습니다.
  • 보통 이렇게 새로 구조를 줄이게 되면 처음부터 다시 학습을 하여야 합니다.

3.4 Resolution Multiplier: Reduced Representation

  • 두번째 파라미터는 resolution multiplier $\rho $ 입니다.
  • 이 파라미터는 입력 이미지와 각 층의 중간 표현에 대해서 적용됩니다.
  • 예를 들면, 입력 이미지가 224 크기에서 192, 160, 128 등으로 줄여지게 됩니다.

4. Experiments

5. Conclusion


Add a Comment Trackback