MobileNet
link : https://arxiv.org/pdf/1704.04861.pdf
Introduce & Prior Work
- 이전 연구들은 대부분 네트워크를 작게 만드는 것을 위주로 연구를 하였다. 이 논문은 efiiciency 관점에서 연구하였다.
- 이 논문에서는 효과적인 네트워크 구조와 2개의 하이퍼파라미터로 latency가 매우 낮고 효율적인 mobile을 위한 모델을 만든다.
MobileNet Architecture
-
depthwise structure 기반으로 한다. → standard convolution에서 depthwize convolution이랑 1x1 convolution 으로 factorize한 컨볼루션
-
depthwise separable convolution은 1) filtering 과 2) combining(1x1 convolution)으로 2가지 층으로 나눈다. (기존 컨볼루션은 1층)
→ 이와 같은 factorization은 computation과 model size를 떨어뜨리는 효과를 준다.
standard convolution
-
standard convolution computational cost :
DK∗DK∗M∗N∗DF∗DF ( M : input channels, N : ouput channels, K : kernel )
→ M개의 input channels가 있고, D_K x D_K 크기의 커널 사이즈를 가지고 N개의 output channels과 D_F x D_F 피처맵을 내는 연산량
-
Depthwise separable convolition은 output 채널과 커널 사이즈와의 상호작용을 막기위해서 그리고 충분한 계산감소를 위해 사용
Depthwise separable convolution
-
2 layers : 1. depthwise convolution(filtering), 2. pointwise convolutions(combining)
-
input 채널마다 하나의 필터
-
depthwise convolution computational cost :
DK∗DK∗M∗DF∗DF ← pointwise conv. 제외
DK∗DK∗M∗DF∗DF+M∗N∗DF∗DF ← 포함
Network Structure and Training
- 마지막 층을 제외한, 모든 층은 batchnorm, ReLU가 있다. 마지막층은 분류를 해야하니까 softmax(no nonlinearity)
- mobileNet에서 계산은 거의 1x1 conv.의 비중이 크다.(계산 시간의 95%, 파라미터는 75% 차지)
- 작은 모델은 오버피팅할 가능성이 적기 때문에 정규화나 데이터를 불리기를 덜 해도 괜찮다.(no weight decay)
Width Multiplier: Thinner Models
- α : width multiplier → 네트워크를 균일하게 얇게 하는 역할
- M, N → αM, αN ( α가 1보다 작아야 감소)
Resolution Multiplier: Reduced Representation
- ρ : resolution multiplier
- D_F → ρD_F
α, ρ 모두 포함하는 cost
DK∗DK∗αM∗ρDF∗ρDF+αM∗αN∗ρDF∗ρDF
Experiments
- full conv. 와 depthwise separable conv.로만 비교하면 1% accuracy 감소, 파라미터와 계산이 많이 감소
Conclusion
- depthwise separable convolutions이 기반인 MobilNets롤 보여주었다.
- 특히 2가지의 파라미터( width multiplier, resolution multiplier )의 트레이드오프로 더 작고 빠른 효율적인 모델을 만들 수 있다.