What is AutoML ?

doiiollo·2019년 12월 10일
1

What is

목록 보기
1/2

1. Intro

최근 머신러닝에 대해 공부를 하면서 AutoML 이라는 키워드를 자주 접할 수 있었습니다.
머신러닝 모델의 성능을 개선시키려면 결과적으로는 AutoML을 사용하여 하이퍼 파라미터를 최적화 시키라는 내용들이었는데, AutoML에 대해서 잘 알지 못하지만 자동을 뜻하는 단어인 AutoMachine Learning 의 약자인 ML이 합쳐져서 만들어진 합성어로 단어의 뜻을 가지고 머신러닝 프로세스를 자동화 해주는 도구라고 유추해 볼 수 있었습니다.

과연 AutoML이 의미하는 바가 무엇이며 어떻게 머신러닝 프로세스를 자동화하여 주는지 알아보겠습니다.

2. What is AutoML?

AutoML 은 머신러닝 모델 개발의 시간이 많이 걸리는 반복적인 작업을 자동화 하는 프로세스로, 이를 통해 Data Scientist, AnalistDeveloper 는 모델 품질을 유지 하면서도 확장성, 효율성 및 생산성이 높은 머신러닝 모델을 빌드할 수 있습니다.
또한 AutoML의 높은 수준의 자동화를 통해 비전문가도 별도의 전문지식없이 머신러닝 모델과 기술을 활용할 수 있습니다.

요약하자면 머신러닝 프로세스를 자동화하여 비전문가들도 별도의 전문지식 없이 머신러닝 모델과 기술을 활용할 수 있게 해주는 머신러닝 소프트웨어 쯤으로 볼 수 있을것 같습니다.

3. AutoML vs Standard ML

AutoML과 일반적인 머신러닝 프로세스는 어떠한 차이가 있을까요?

일반적으로 머신러닝을 위해서 다음과 같은 프로세스들이 사전에 요구되어집니다.

이러한 사전 프로세스들을 거쳐 개발자는 알고리즘 선택하이퍼 파라미터 최적화를 수행하여 머신러닝 모델의 예측 성능을 향상시킵니다.

하지만 AutoML 에서는 위에서 언급한 프로세스들을 자동화하여 최적의 모델과 파라미터를 찾아 가장 효율적인 머신러닝 모델을 사용자에게 제공합니다.
이로써 사용자는 최적의 머신러닝 모델을 얻고 활용하는데 걸리는 시간을 크게 단축할 수 있습니다.

4. Where to use

AutoML은 머신러닝의 다양한 프로세스에서 사용되어집니다.

  1. Data Preprocessing
  2. Feature Engineering
  3. Model Selection
  4. Hyperparameter Optimization
  5. Pipeline Selection
  6. Auto Selection of Evaluation Metric and Validation Procedures
  7. Problem Checking
  8. Analysis Result
  9. Offering User Interface and Visualization

위에서 언급한 많은 프로세스들이 있지만 AutoML이 많이 연구되어지고 주로 사용되는 프로세스는 다음의 세가지 프로세스들 입니다.

  • Feature Engineering
    머신러닝에서 중요한 부분을 차지하고 있는 Feature Extraciton 혹은 Feature Engineering은 입력을 그대로 학습모델에 사용하는 것이 아니라 유의미한 Feature를 추출하여 입력으로 사용하는 방법을 의미합니다.
    기존에는 사람이 직접 Feature 추출 방법을 정해서 사용하는 방식이라 모델마다 최적의 Feature 추출 방식을 찾는 과정에서 많은 시간이 소요되었습니다.

    AutoML에서는 최적의 Feature 추출 방식을 자동화 된 학습을 통해 찾아내는 방식을 사용하고 있습니다. 이를 통해 기존의 사람이 직접 최적의 Feature 추출하는 방법을 찾아내는 번거로움과 시간을 줄일 수 있었습니다.

  • Architecture Search (Model Selection)
    Architecture(Model)는 저희가 흔히 알고 있는 VGGNet, ResNet, DenseNet, LSTM 등과 같이 Neural Network를 구성하는 구조들을 의미합니다.
    AutoML에서는 이러한 구조들을 사람이 하나하나 직접 설계하는 대신 학습을 통해 최적의 Architecture를 설계하는 방법을 의미합니다.

  • Hyperparameter Optimization
    학습을 시키기 위해 필요한 Hyperparameter들을 기존에는 사람이 Learning Rate, mini-batch size 등과 같은 Hyperparameter를 하나하나 값을 변경해가면서 가장 성능이 좋았던Hyperparameter를 사용하는 방식을 사용했지만
    AutoML에서는 학습을 통해 최적의 Hyperparameter를 추정하는 방식을 사용합니다.

5. AutoML Services

현재는 다음과 같은 다양한 플랫폼에서 AutoML 서비스를 제공하고 있습니다.

6. References

Wikipedia - AutoML
Azure - AutoML Documents
SUALAB Research Blog - AutoML

profile
고수가 되고 싶어요

1개의 댓글

comment-user-thumbnail
2020년 1월 19일

잘봤습니다~!

답글 달기