모바일 기기에서의 CNN 디자인은 매우 어렵다. 왜냐하면 모바일 모델은 작고 빠르고 심지어 정확할 필요가 있기 때문이다. 모든 차원에서 모바일 CNN을 디자인하고 향상시키기 위해 상당한 노력을 기울여왔음에도 trade-off되는 이 수동 균형을 맞추는 것이 어렵다. 이 논문에서는 자동 모바일 신경망 조사 (MNAS: automated Mobile Neural Architecture Search) 접근 법을 제안한다. 이는 주 objective에 모델의 latency를 분명히 통합함으로써 search가 정확도와 latency라는좋은 trade-off을 달성할 수 있는 모델을 식별할 수 있게한다. 부정확한 proxy (e.g. FLOPS)를 통해 latency를 고려하던 이전 작업과 달리 우리들의 접근 방법은 모바일 폰에서 모델을 실행함에 의해 현실 inferency latency를 직접적으로 측정한다. 유연성과 search space size 사이에서 올바른 균형을 맞추기 위해, 우리는 새로운 factorized hierarchical search space를 제안한다. 이는 네트워크를 통해 layer 다양성을 증진한다. 실험적 결과는 우리들의 접근법이 다른 최신 모바일 CNN 기기들보다 일관적으로 능가함을 보인다. (실험적 우수성 설명) - 이하 생략
MobileNet v1, v2에 참여한 연구진이 참여한 Google Brain, Google Inc 논문
AutoML (Automated Machine Learning)
딥러닝은 여러 곳에서 많은 성과를 보이고 있음
TensorFlow Dev Summit 2018에서 100배 이상의 계산량으로 ML 전문가의 필요성을 감소시킨다면 AI가 더 발전할 수 있지 않을까를 이야기함 (반복적인 작업을 줄여 더 근본적인 연구를 할 수 있는 것이 낫지 않을까)
Google에서 제안한 AutoML 논문
Neural Architecture Search (NAS, 2016) - PR-017
-> Controller를 만들어서 Update
Efficient Neural Architecture Search (ENAS, 2018) - PR-069
Neural optimizer Search (2017)
문제점 : Accuracy 정확도에만 초점을 맞춰 발전이 이뤄짐
동기 : Latency Information에 대한 정보도 중요하다
Mobile에서의 latency는 부적확한 Proxy e.g. FLOPS, MACs를 활용
FLOPS가 낮아질수록 Latency가 낮아짐. 그러나 그것의 비율이 고정되어 있지 않기 때문에 FLOPS가 낮아지는 것이 Latency가 일정하게 낮아지는 것을 보장하지 않는다.
이에 Google Pixel 2라는 것을 활용하여 모바일 기기에서의 실제 latency를 직접 측정
Proposed Method #1: Reward : Accuracy와 Latency를 모두 고려
Latency가 2배가 증가할수록 5%의 정확도가 떨어졌기 때문에 $\alpha , \beta $를 -0.07로 설정 (경험적)
Figure 2 아래 부분을 기반으로 활용
$\alpha=0$
(의문점 : 과연 정확도를 고정시키고 진행한 것인가. ACC Maximize인데 저 그림이 맞나)
Proposed Method #2: Search Space (?)
Search Space를 통해 Layer를 몇 개 쓸지를 정함.
Experiments
Classification : ImageNet
Detection : MSCOCO
Training
- controller RNN과 동일한 구조
- 적은 epoch에서 ImageNet으로 훈련
- 50k validation 데이터로 모델 평가 & RL Reward 사용 & Google Pixel 2를 활용한 latency 측정
5x5를 많이 사용함
일반적으로 3x3 2개 쓰는 것보다 5x5 1개 쓰는 것이 연산량이 많아 3x3을 많이 쓴다고 알고 있다. Depthwise Convolution에서 특정 조건 아래 3x3 2개 쓰는 것의 연산량이 더 많다
여러 블록을 섞어 사용한 MnasNet이 더 높은 정확도와 좋은 Latency를 보인다.
Detection에서도 본인들의 방법이 더 적은 Latency와 좋은 성과를 확인할 수 있었다.
https://github.com/tensorflow/tpu/tree/master/models/official/mnasnet
https://ai.googleblog.com/2018/08/mnasnet-towards-automating-design-of.html
https://hoya012.github.io/blog/deeplearning-classification-guidebook-4/
https://junha1125.github.io/blog/artificial-intelligence/2021-02-09-NASNet/