MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

컴퓨터 비젼에서 많이쓰이는 뉴럴넷을 정확도는 유지하면서 네트워크를 경량화하여
속도를 빠르게하는 Google이 발표한 논문으로 유사한 내용의 아래 네트워크와 비교

SqueezNet (2016.02)
ShuffleNet (2017.07)
NasNet-A (2017.07)
SquishedNets (2017.11)
ENet (2017.11)

현재 개발중인 Face Recognition의 Edge 처리를 Small DNN을 위한 참고용으로 적합

1. Small DNN이 필요한 이유

모바일 세상의 파편화 15+ GPU Architectures (PowerVR, Adreno, Mali, ...) 2 Major OS (iOS/Android) Two Major compute APIs (OpenCL/Ren...

2. MobileNet의 속도와 정확도

3. MobileNet의 원리

이론 : CNN의 파라미터 Sharing가 없기에 90%는 FC Layer가 차지

관련 이미지

레이어 입력 노드 출력 노드 Weight Shape 파라미터 수
Layer 1 1209 600 (1209,600) 725,400
Layer 2 600 300 (600,300) 180,000
Layer 3 300 300 (300,300) 90,000
Layer 4 300 150 (300,150) 45,000
Output 150 100 (150,100) 15,000
합계 1,055,400

예제 CNN 이미지

1X1 Conv의 경우 Dimension Reduction과 Representation을 증가 시킴

핵심아이디어는 Depthwise Separable Convolution (Xception 논문 참조 필요)

Difference between Standard Convolution and Depthwise Separable Convolution

 

MobileNet 아키텍쳐 각 레이어에 1X1 Conv를 추가

MobileNet Structure

Kernel을 줄이기 (3X3 -> 1X1) FC의 파라미터의 비율이 대폭 줄일 수 있다.

추가로 두개의 하이퍼 파라미터에 대해 설명 (Width Multiplier / Resolution Multiplier)

Width Multipler : α where α ∈ (0, 1] with typical settings of 1, 0.75, 0.5 and 0.25. α = 1 is
the baseline MobileNet and α < 1 arereduced MobileNets.
(네트워크의 Width를 결정하는 것으로 인풋과 아웃풋의 체널의 수를 줄임 α의 비율 만큼 조절)

Resolution Multiplier : where ρ ∈ (0, 1] which is typically set implicitly so that the input resolution of the network is
224, 192, 160 or 128. ρ = 1 is the baseline MobileNet and ρ < 1 are reduced computation MobileNets.
(ρ는 Input의 resolution의 비율 input image network를 줄임)

Table 4.에서 일반 CNN적용과 Mobile의 비교 정확도는 약간 떨어지나 Parameter이 대폭감소
다음 결과값은 2개의 파라미터에 따른 결과값이 다름을 보여줌
.
Comparison

추가 의견들..

메이저 딥러닝 프레임워크 타임라인 하이퍼커넥트 모바일 프로젝트 시작 2017.01 2017.04 CNKT, Torch 는 생략

 

[참고자료]
http://taewan.kim/post/cnn/ (CNN기본)
https://youtu.be/7UoOFKcyIvM
https://www.slideshare.net/NaverEngineering/ss-91365324
https://galoismilk.org/2017/12/31/cnn-%EC%95%84%ED%82%A4%ED%85%8D%EC%B3%90-%EB%A6%AC%EB%B7%B0-mobilenet/
http://openresearch.ai/t/mobilenets-efficient-convolutional-neural-networks-for-mobile-vision-applications/20

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications


https://github.com/Zehaos/MobileNet

1 thought on “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

  1. 안녕하세요~ 글 잘읽었습니다~ (_ _ )
    마지막에 언급하신 teacher student 논문에서 놀라운 결과가 발표되었다는것이 어떤내용인지 알수있을런지요
    관련문서라도 링크 부탁드립니다~

Leave a Reply

Your email address will not be published. Required fields are marked *