CNN 아키텍쳐 리뷰 (MobileNet)

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

4월에 발표된 모바일 플랫폼에서도 충분하게 활용할 수 있는 가벼운 CNN architecture이다.

xception에서 depthwise Separable Convolution을 우리는 접하였다.

하지만 xception에서는 cross-channel correlations and spatial correlations 을 decouping 하기 위한 목적이었다면

mobilenet에서는 약간 다른 목적을 가지고 있다. (순서와 구현 또한 약한 차이가 존재한다)

목적은 무엇일까?

CNN의 구조를 바꾸어 성능을 향상 시키고자 하는 시도는 VGG,Inception,Resnet등 많은 네트워크에서 시도되어 왔다. 그러나 네트워크들은 향상된 성능만큼이나 비대해져 갔으며 alexnet 시절 8층의 네트워크는 Resnet에 이르러서는 152층에 이르게 되었다. 이는 곳 무작정 성능을 추구하기 보다는 성능과 효율성의 trade off를 맞출 필요성을 대두시켰으며 그러한 필요성에서 Mobilenet이 탄생하게 되었다.

MobileNet 은  계산량을 줄이기 위하여 Depthwise Separable Convolution을 사용한다

Depthwise Separable Convolution

 

  • input map size FxF

  • input channel N

  • kernel size KxK

  • output channel M

전통적인 CNN 구조는 위와 같이 F^2NK^2M 파라미터을 가진다

이것을 depthwise Conv(spatial Conv) pointwise Conv(channel Conv)로 나누어 시행한다.

Depthwise Convolution

  • input map size FxF

  • input channel 1

  • kernel size KxK

  • output channel M

pointwise convolution

  • input map size FxF

  • input channel N

  • kernel size 1×1

  • output channel M

총 파라미터가 아래와 같이 줄어 드는 것을 볼수  있으며 이것은 통상 1/8 ~1/9 가량 된다(커널사이즈와 channel size가 K=3 ,M>=32 인 경우가 많으므로)

F^2NK^2M to F^2NM+ F^2NK^2.  It is reduced to about 1/8 ~ 1/9  of formal method because reduction of computation is 1/N +1/D_k^2  , usually M>>K^2″>(eg.K=3,M>=32).</strong></p>
<h3 dir=Result

  • 모바일넷은 대부분이 1×1 conv 연산으로 이루어져 general matrix multiply (GEMM) functions을 이용하여 연산이 가능하다 (sparsity가 높아도 상관없음)
  • FC layer의 비율을 상당수 줄였다.

 

Channel Reduction

  • 모바일넷에서는 위의 conv 외에도 두가지의 테크닉을 사용한다. 그중 첫번째는 channel에  1보다 작은 factor을 곱하여 채널을 축소하는 Channel Reduction term이다.
  • For a given layer and width multiplier α, the number of input channels M becomes αM and the number of output channels N becomes αN.

Distillation & Compression

  • 이것도 단순하게 입력을 압축시키는 term이다.
  • The second hyper-parameter to reduce the computational cost of a neural network is a resolution multiplier ρ

Computation cost

D_K cdot D_K cdot alpha M cdot rho DF cdot rho D_F + alpha M cdot alpha N cdot rho D_F cdot rho D_F

아래는 동일한 구조에서 depwise의 적용유무와 알파,로 값의 적용에 따른 파라미터 및 계산량을 본 표이다.

확실하게 계산량이 줄어드는 것을 볼 수있다.

댓글을 남겨주세요~