[논문 리뷰] Manas: Mining Software Repositories to Assist AutoML
Manas는 GitHub 저장소에서 채굴한 딥러닝 모델을 기본 아키텍처보다 더 나은 시작점으로 활용하고, 일반적인 레이어 패턴을 돌연변이 연산자로 사용하는 새로운 신경망 아키텍처 탐색(NAS) 방법을 제안한다. Kaggel의 상위 8개 문제에서 평가한 결과, Auto-Keras보다 42.9%에서 99.6% 적은 파라미터를 사용하면서도 정확도는 유사하거나 향상되었고, 학습 속도는 최대 641.6% 빠르게 하여 성능을 훼손하지 않으면서 모델의 효율성을 크게 향상시켰다.
Today deep learning is widely used for building software. A software engineering problem with deep learning is that finding an appropriate convolutional neural network (CNN) model for the task can be a challenge for developers. Recent work on AutoML, more precisely neural architecture search (NAS), embodied by tools like Auto-Keras aims to solve this problem by essentially viewing it as a search problem where the starting point is a default CNN model, and mutation of this CNN model allows exploration of the space of CNN models to find a CNN model that will work best for the problem. These works have had significant success in producing high-accuracy CNN models. There are two problems, however. First, NAS can be very costly, often taking several hours to complete. Second, CNN models produced by NAS can be very complex that makes it harder to understand them and costlier to train them. We propose a novel approach for NAS, where instead of starting from a default CNN model, the initial model is selected from a repository of models extracted from GitHub. The intuition being that developers solving a similar problem may have developed a better starting point compared to the default model. We also analyze common layer patterns of CNN models in the wild to understand changes that the developers make to improve their models. Our approach uses commonly occurring changes as mutation operators in NAS. We have extended Auto-Keras to implement our approach. Our evaluation using 8 top voted problems from Kaggle for tasks including image classification and image regression shows that given the same search time, without loss of accuracy, Manas produces models with 42.9% to 99.6% fewer number of parameters than Auto-Keras' models. Benchmarked on GPU, Manas' models train 30.3% to 641.6% faster than Auto-Keras' models.
연구 동기 및 목표
- 기존 AutoML에서 신경망 아키텍처 탐색(NAS) 기법의 높은 계산 비용과 모델 복잡도 문제를 해결하기 위해.
- 기본 모델 대신 오픈소스 저장소에서 채굴한 수작업 모델로 대체하여 NAS의 효율성과 모델 단순성을 향상시키기 위해.
- 실제 모델에서 관찰된 공통 레이어 패턴을 식별하고 이를 효과적이고 효율적인 탐색을 이끄는 데 활용하기 위해.
- 이미지 분류 및 회귀 과제에서 정확도를 유지하거나 향상시키면서 학습 시간과 모델 복잡도를 줄이기 위해.
- 더 나은 NAS 성능을 위해 Auto-Keras에 모델 매칭, 적응, 변환 및 학습 적응 기법을 통합하기 위해.
제안 방법
- 실제 딥러닝 응용 프로그램에서 사용되는 합성곱 신경망(CNN) 모델을 채굴하고 인덱싱하기 위해 GitHub 저장소를 채굴하는 것.
- 데이터셋 크기, 클래스 수, 이미지 치수와 같은 메타특성 기반으로 타겟 문제의 데이터 특성과 가장 관련성이 높은 채굴된 모델을 매칭하기 위해 모델 매칭을 적용하는 것.
- 타겟 문제의 입력 및 출력 사양에 맞게 채굴된 모델의 아키텍처를 수정하기 위해 모델 적응을 적용하는 것.
- 실제 개발자 코드에서 관찰된 빈번한 변경 사항을 바탕으로, 레이어 추가 또는 교체와 같은 일반적인 레이어 변환 패턴을 정의하고, NAS 동안 효과적인 돌연변이를 이끄는 데 적용하는 것.
- 채굴된 모델에서 학습된 파라미터 값을 활용해 최적화기의 초기값을 설정함으로써 학습 중 빠른 수렴을 가능하게 하는 학습 적응 기법을 활용하는 것.
- 이러한 구성 요소들을 통합하여 Auto-Keras를 확장함으로써, 기본 아키텍처가 아닌 고품질의 인간 검증 모델에서 시작하는 새로운 NAS 파이프라인을 구축하는 것.
실험 결과
연구 질문
- RQ1공개 저장소에서 채굴한 실제 딥러닝 모델이 기본 모델보다 신경망 아키텍처 탐색(NAS)의 시작점으로서 더 나은 성능을 발휘할 수 있는가?
- RQ2개발자들이 작성한 모델에서 관찰된 일반적인 레이어 패턴이 NAS의 더 나은 돌연변이 연산자로 어떻게 기여하는가?
- RQ3모델 채굴을 통해 얼마나 많은 모델 복잡도와 학습 시간을 줄일 수 있으며, 이 과정에서 정확도를 유지하거나 향상시킬 수 있는가?
- RQ4채굴된 모델과 그 변환 패턴의 통합이 NAS에서 더 빠른 수렴과 자원 소비 감소를 이끌 수 있는가?
- RQ5채굴된 모델을 사용한 NAS의 성능이 Auto-Keras와 같은 최신 NAS 프레임워크와 정확도, 파라미터 수, 학습 속도 측면에서 어떻게 비교되는가?
주요 결과
- Manas는 동일한 탐색 시간 동안 Auto-Keras보다 42.9%에서 99.6% 적은 파라미터를 사용하는 모델을 생성하여 모델 복잡도를 크게 감소시켰다.
- GPU에서 Manas 모델은 Auto-Keras 모델 대비 30.3%에서 641.6% 빠르게 학습되어 뚜렷한 효율성 향상을 보였다.
- Manas는 Auto-Keras와 비교해 정확도를 유지하거나 향상시켰으며, 이미지 분류 및 회귀 과제에서 유사하거나 더 나은 성능을 달성했다.
- 채굴된 모델을 시작점으로 사용함으로써 수렴 속도가 빨라졌으며, 이는 저장소에서 확보한 사전 학습된 가중치를 활용하는 학습 적응 기법을 통해 뒷받침된다.
- 실제 모델에서 도출된 공통 레이어 패턴은 효과적인 돌연변이 연산자로 작용하여 탐색 공간의 더 효율적인 탐색을 가능하게 했다.
- 모델 매칭 및 적응 기법의 통합은 다양한 실제 모델들로부터의 지식을 새로운 미리보지 않은 문제로 효과적으로 전이할 수 있도록 했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.