AutoML 이란 무엇일까?

JungKap Park
XBrain
Published in
7 min readSep 16, 2020

AutoML (Automated Machine Learning) 이란 무엇인가요?

머신러닝 모델을 개발하고 실제 운영에 도입하기에는 수많은 과정을 거치게 됩니다 (Figure 1). 전지전능한 인공지능이 존재하여 컴퓨터와 데이터만 주어지면 모든 과정을 알아서 해결해 줄 수 있다면 좋겠지만, 현실의 머신러닝 모델링은 문제 정의 과정에서부터 데이터 수집, 전처리, 모델 학습 및 평가를 거쳐 서비스 적용에 이르기까지에는 여러 분야 전문가들의 많은 시간과 노력이 요구됩니다.

Figure 1. Machine learning process

AutoML은 머신러닝을 적용 할 때 마다 이러한 과정을 되풀이하면서 발생하는 비효율적인 작업을 최대한 자동화하여 생산성과 효율을 높이기 위하여 등장하였습니다. 특히, 데이터 전처리 과정에서부터 알고리즘 선택 및 튜닝까지의 과정에서 모델 개발자의 개입을 최소화 하여 품질 좋은 모델을 효과적으로 개발할 수 있는 기술에 대한 연구가 오랜동안 진행되어 왔습니다. 최근 머신러닝 분야의 발전과 관심에 힘입어 AutoML 기술을 머신러닝 모델 개발시에 손쉽게 적용할 수 있는 package toolkit들이 연구 개발되어 오고 있습니다.

주요 AutoML package toolkits:

어떠한 기술들이 연구/개발 되고 있나요?

현재 AutoML 기술로 해결하고자 하는 문제는 크게 두가지가 있습니다. 1) 모델을 학습하고 평가할 때 다양한 알고리즘들과 연관된 하이퍼 파라미터들을 실험하고 성능을 비교하여 최상의 성능을 갖는 모델을 찾는 과정을 자동화 하는 문제 (Combined Algorithm Selection and Hyper-parameter optimization, so called CASH), 그리고 2) 인공 신경망 기술을 활용함에 있어서 문제에 적합한 architecture를 찾는 과정을 자동화 하는 문제 (Neural Architecture Search, so called NAS) 입니다. 각각의 문제에 대한 소개와 관련 기술의 동향에 대하여 간략히 소개를 드리겠습니다.

Combined Algorithm Selection and Hyper-parameter (CASH) optimization

모델 개발자는 학습을 위한 준비를 마친 후 주어진 컴퓨팅 자원과 시간을 최대한 활용하여 최상의 모델을 만들어야 합니다. 즉, 문제에 적합한 알고리즘을 찾고, 나아가 그 알고리즘의 성능을 극대화 할 수 있는 하이퍼파라미터를 찾는 작업이 수반됩니다. 이것은 일종의 최적화(optimization) 문제로써 소위 줄여서 CASH 문제라고 불립니다 (Chris et al., 2012).

해당 문제를 풀기위한 방법으로 다양한 방법들이 연구되어 왔습니다. 크게는 전통적인 최적화 알고리즘을 적용하는 방법, 강화학습의 문제로 접근하는 방법, 그리고 최적화 과정에서 관찰되는 탐색 결과를 학습하여 (i.e. learning response function/surrogate model) 다음 탐색 방향을 결정하는데 이용하는 Bayesian optimization (BO) 방법으로 나눌 수 있습니다. 최근의 연구들은 BO의 framework 내에서 다양한 surrogate model 을 적용하거나, meta-learning, hyperband의 아이디어를 혼합한 방법들이 연구되고 있습니다.

CASH 문제를 풀기 위한 주요 방법들:

Neural Architecture Search (NAS)

Neural-net 기반의 머신 러닝 알고리즘을 사용하기 위해서는 neural architecture 를 풀고자 하는 문제에 적합하도록 잘 설계해야 합니다. NAS는 이 과정을 사람이 직접하지 않고 자동으로 하는 것을 목표로 연구되고 있으며, 몇가지 문제 (e.g. image classification, object detection, or segmentation)에서는 NAS 가 기존 사람에 의해 설계된 모델의 성능이 뛰어날 수 있음이 보고되고 있습니다 (Elsken et al., 2019).

NAS 문제를 풀기위한 방법은 크게 search space를 어떻게 정의하고, 어떤 search 알고리즘을 적용하느냐에 따라 나누어 질 수 있습니다. CASH 문제와 유사하게, random search, Bayesian optimization, evolutionary algorithm, reinforcement learning 등의 search 알고리즘을 적용하는 방법들이 연구되어 왔으며, 근래에는 search space를 continuous variable 로 relaxation 하여 gradient-based optimization 방법을 적용하여 탐색을 더 효율화하는 연구도 진행되고 있습니다.

NAS 문제를 풀기 위한 주요 방법들:

엑스브레인에서의 AutoML 연구 개발은?

엑스브레인에서는 크게 네 가지 방향에서 AutoML기술을 연구 개발하고 있습니다.

첫째로, AutoML엔진의 경우 Bayesian optimization, hyperband, evolutionary algorithm 등의 다양한 방법을 혼합하여 성능을 극대화 하기 위한 노력을 하고 있습니다.

두번째로는 AutoML 엔진이 모델 개발자와 효과적으로 interaction 을 할 수 있는 인터페이스를 연구를 하고 있습니다. 다시 말해 모델 개발자가 AutoML 엔진의 탐색 과정을 모니터링 하고, 자신의 경험과 문제에 대한 이해를 바탕으로 필요에 따라 탐색 과정에 개입을 하여, 생산성을 더욱 높일 수 있도록 하는 것입니다.

세번째로, 시계열 예측 모델(time-series forecasting)에 특화된 AutoML 기술을 연구하고 있습니다. 예를들어 수많은 상품들의 수요를 예측하는 모델을 개발하기 위해서는 기존의 machine learning 알고리즘과 더불어 다양한 시계열 알고리즘을 활용하기 위한 AutoML 기술이 필요합니다.

마지막으로, AutoML 기술이 소위 MLOps 라 불리는 모델의 개발, 관리 및 운영의 틀에 통합하는 기술을 연구 개발하고 있습니다. 이에 대한 좀 더 자세한 내용은 저희 MLops 관련 포스팅에서 찾아보실 수 있습니다 (MLOps란 무엇일까?).

Summary

엑스브레인에서는 다양한 산업 현장에서 머신 러닝 기술을 활용하고자 하는 data scientist 또는 analyst들의 생산성을 높일 수 있는 AutoML 기술들을 연구 개발하고 있습니다. 머신 러닝 기술이 손쉽게 활용될 수 있는 기술 개발에 관심있는 여러분은 apply@xbrain.team 으로 연락바랍니다.

Xbrain Machine Learning Engineer 채용 페이지

--

--