Paper Review

[Paper Review] MobileNet : Efficient Convolutional Neural Networks for Mobile VisionApplications

조상현 2023. 1. 4. 18:09

이전 ResNet 논문 리뷰 : 2023.01.04 - [Paper Review] - [Paper Review] ResNet

 

[Paper Review] ResNet

이전 GoogLeNet 논문 리뷰 : 2023.01.03 - [Paper Review] - [Paper Review] GoogLeNet [Paper Review] GoogLeNet 이전 VGGNet 논문 리뷰 : 2023.01.03 - [Paper Review] - [Paper Review] VGGNet [Paper Review] VGGNet 이전 AlexNet 논문 리뷰 : 2023.01.

josh3255.tistory.com


MobileNet 논문 : https://arxiv.org/pdf/1704.04861.pdf

 

다섯 번째로 리뷰할 논문은 2017년 구글에서 발표한 MobileNet 논문이다. MobileNet은 자동차, 드론, 휴대폰과 같은 제한된 환경에서의 애플리케이션을 위한 네트워크로써 실행 시간과 정확도 사이에서 균형을 맞추기 위한 하이퍼 파라미터를 제공하는 경량화 네트워크이다.

 


 Depthwise Separable Convolution

 

 

MobileNet의 핵심은 Standard Convolution Filters를 Depthwise Convolutional Filters와 Pointwise Convolution으로 분해하는 것이다. 위의 그림과 같이 부피가 큰 연산을 크기가 작은 두 방향의 연산으로 나누어 진행함으로써 연산을 효율적으로 진행하는 것이다.

 

표준 컨볼루션 레이어 \(K\)가 (\( D_{F} \) x \( D_{F} \) x \( M \)) 크기의 특징맵 \(F\)를 입력으로 받아 (\( D_{F} \) x \( D_{F} \) x \( N \)) 크기의 특징맵 \(G\)를 출력한다고 했을 때 표준 컨볼루션 레이어 \(K\)는 (\( D_{K} \) x \( D_{K} \) x \( M \) x \(N\))의 크기를 갖는다. 이 때 표준 컨볼루션 레이어 \(K\)의 계산 비용은 다음과 같다.

 

$$ D_{K} * D_{K} * M * N * D_{F} * D_{F} $$

 

이렇듯 일반적인 컨볼루션 레이어의 경우 입력과 출력의 해상도, 채널이 계산 비용에 직접적인 영향을 주지만 Depthwise Convolution의 경우 출력 채널이 연산 요소에 포함되지 않기 때문에 계산 비용에서 제외되게 된다.  Depthwise Separable Convolution 레이어 \( \hat{K} \)의 계산 비용은 다음과 같다.

 

$$ D_{K} * D_{K} * M * D_{F} * D_{F} $$

 

MobileNet은 이런식으로 연산을 분해하여 진행함으로써 적은 성능 하락으로 큰 계산 효율을 이끌어냈다. MobileNet의 계산 효율은 다음과 같다.

 

$$ \frac{1}{N} + \frac{1}{D^{2}_{K}} $$

 


Architecture

 

 

MobileNet의 전체 구조는 위 표와 같다. 첫 번째 full convolution 레이어와 소프트맥스 레이어에 연결되는 FC레이어를 제외하면 모든 계층에서 Depthwise Convolution 레이어를 사용한다. 또한 효율적인 계산을 위해 각각의 Depthwise Convolution 레이어에서 스트라이드를 이용해 다운샘플링을 진행한다.

 

Width Multiplier

 

다만 특별한 경우에 이보다 더 경량화된 모델을 필요로 하는 경우가 있을 수 있다. MobileNet은 이를 위해서 각 층의 네트워크를 균일하게 변경하는 \( a \) 파라미터를 제공한다. \(a\) 파라미터를 사용하여 네트워크를 변경해줬을 때의 계산 비용은 다음과 같다.

 

$$ D_{K} * D_{K} * aM * D_{F} * D_{F} + aM * aN * D_{F} * D_{F} $$

 

Resolution Multiplier

 

경량화를 위한 두 번째 파라미터는 해상도 조절 파라미터 \(p\)이다. 네트워크의 입력을 비롯한 모든 내부 수치는 \(p\)에 따라 조정된다. \(p\) 파라미터를 사용하여 네트워크를 변경해줬을 때의 계산 비용은 다음과 같고 계산 비용은 \(p^{2}\)만큼 줄어든다.

 

$$ D_{K} * D_{K} * aM * pD_{F} * pD_{F} + aM * aN * pD_{F} * pD_{F} $$

 


다음글에서는 ShuffleNet을 리뷰하겠습니다.