한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
MnasNet: 모바일 머신러닝 모델 설계의 자동화를 향해
2018년 9월 11일 화요일
블로그 원문은
이 곳
에서 확인하실 수 있고 번역 리뷰는 곽동현(Machine Learning GDE)님이 도와주셨습니다.
게시자: Mingxing Tan, Google Brain 팀 소프트웨어 엔지니어
그동안
CNN(Convolutional Neural Networks)
은 이미지 분류, 얼굴 인식, 개체 탐지 등의 다양한 영역에서 널리 사용되었습니다. 안타깝게도 모바일 기기에 맞게 CNN을 설계하기는 어렵습니다. 모바일 모델은 작고 빠르면서도 정확해야 하기 때문입니다.
MobileNet
이나
MobileNetV2
처럼 모바일 모델을 설계하고 개선하기 위한 노력이 많이 있었지만, 고려해야 할 잠재적 사항이 너무 많기 때문에 여전히 효율적인 모델을 수동으로 만들기는 어렵습니다. 최근
AutoML 신경 아키텍처 탐색
의 발전에서 영감을 얻어 모바일 CNN 모델 설계에도 AutoML을 적용해보면 어떨까 생각했습니다.
“
MnasNet: 모바일을 위한 플랫폼 인식 신경 아키텍처 탐색
”에서는
강화 학습
으로 모바일 모델 설계에 자동 신경 아키텍처 탐색을 적용하는 방법을 살펴봅니다. 모바일의 속도 제약을 해결하기 위해 탐색 알고리즘의 메인 보상 함수에 속도 정보를 명시적으로 포함하여 탐색으로 정확도와 속도 간의 균형을 이루는 모델을 찾아낼 수 있도록 합니다. 따라서 MnasNet은 똑같이 ImageNet 최고의 정확도에 도달하면서도 수동으로 제작한 최신
MobileNetV2
보다 1.5배,
NASNet
보다 2.4배 빠르게 실행되는 모델을 찾을 수 있습니다.
다른 프록시(예:
FLOPS
)를 통해 모델 속도를 고려하는 이전의 아키텍처 탐색 방식과 달리, 당사는 특정 플랫폼(이 연구에서는 Pixel 휴대폰 사용)에서 모델을 실행하여 모델 속도를 직접 측정합니다. 모바일 기기 유형마다 고유한 소프트웨어와 하드웨어 특이성이 있고 정확도와 속도가 최적의 균형을 이루려면 다른 아키텍처가 필요할 수 있기 때문에, 이 방법을 사용하면 실제 현실에서 무엇을 달성 가능한지 직접 측정할 수 있습니다.
이 방법의 전체적 흐름은 크게 3가지로 구성됩니다. 모델 아키텍처 학습과 샘플링을 위한
RNN
기반 컨트롤러, 모델을 빌드하고 훈련시켜 정확도를 달성하는 트레이너,
TensorFlow Lite
를 사용하여 실제 휴대폰에서 모델 속도를 측정하는 추론 엔진이 있습니다. 높은 정확도와 속도를 달성하는 것을 목표로 하는
다목표 최적화
문제를 만들고 맞춤 보상 함수가 포함된 강화 학습 알고리즘을 활용해
파레토 최적
솔루션(예: 속도를 저하하지 않고 가장 높은 정확도를 달성하는 모델)을 찾습니다.
모바일을 위한 자동 신경 아키텍처 탐색의 전반적인 흐름.
탐색 유연성과 탐색 공간의 크기가 적절히 균형을 이루게 하기 위해 새로운 분해형 계층적 탐색 공간을 새로 제안하고자 합니다. 이 방법은 매우 복잡한 신경망을 연속적 블록으로 분해한 다음, 계층적 탐색 공간을 사용해 각 블록의 계층 아키텍처를 결정합니다. 이렇게 하면 각 계층이 서로 다른 연산과 연결을 사용할 수 있고, 동시에 각 블록의 모든 계층이 동일한 구조를 공유하여 평평한 계층별 탐색 공간에 비해 탐색 공간 규모를 몇 배나 줄일 수 있습니다.
새로운 분해형 계층적 탐색 공간에서 샘플로 추출한 MnasNet 네트워크로, 네트워크 아키텍처 전체의 계층 다양성을 보여줍니다.
이 방법으로
ImageNet
분류와
COCO
객체 탐지에 얼마나 효과를 발휘하는지 테스트해보았습니다. 일반 모바일 속도 제약을 적용하여 실험했을 때 기록적인 정확도를 달성했습니다. 특히, 아래 그림은 ImageNet에서 얻은 결과를 보여줍니다.
ImageNet 정확도 및 추론 지연 시간 비교 MnasNet은 당사의 모델입니다.
정확도가 동일할 때 MnasNet 모델은 수동으로 제작한 최신
MobileNetV2
보다 1.5배,
NASNet
보다 2.4배 빠르게 실행됩니다(두 모델도 아키텍처 탐색을 사용함).
squeeze-and-excitation
최적화를 적용한 후, MnasNet+SE 모델은
ResNet-50
수준의 최상급 정확도(76.1%)를 달성했습니다. 하지만 매개변수는 19배 줄어들었고 곱셈-덧셈 연산은 10배 감소했습니다. COCO 객체 탐지에서는 당사 모델군이 MobileNet보다 정확도와 속도가 더 높았고,
SSD300
모델과는 정확도가 유사하지만 연산 비용은 35배 적게 들어갔습니다.
당사의 자동 모델이 여러 가지 복잡한 모바일 시각 작업에서 최고의 성능을 보여주어 기쁩니다. 향후에는 탐색 공간에 더 많은 연산과 최적화를 통합하여 의미론적 세그먼테이션 등과 같은 더 많은 모바일 시각 작업에 적용할 계획입니다.
감사의 말
논문의 공동 저자인 Bo Chen, Quoc V. Le, Ruoming Pang과 Vijay Vasudevan에게 특별한 감사를 전합니다. 또한, 도움을 주신 Andrew Howard, Barret Zoph, Dmitry Kalenichenko, Guiheng Zhou, Jeff Dean, Mark Sandler, Megan Kacholia, Sheng Li, Vishy Tirumalashetty, Wen Wang, Xiaoqiang Zheng, Yifeng Lu와 TensorFlow Lite 및 Google Brain 팀에도 감사드립니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed