메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

AutoML로 완전한 자동화를 달성할 수 있을까?

한빛미디어

|

2023-10-24

|

by 칭취안 송, 하이펑 진, 시아 후

9,363

머신러닝은 컴퓨터가 스스로 데이터를 탐구하고 특정 문제를 해결합니다. 컴퓨터가 스스로 학습할 수 있게 만들기 때문에, 사람이 지시하는 것 이상의 일을 해낼 수 있죠. 하지만 머신러닝을 배우기 위한 진입장벽은 높은 편입니다. 관련 기술을 학습하고 애플리케이션에 필요한 경험을 축적하는 데 많은 비용과 시간이 들기 때문에 전문 지식이 없는 실무자는 머신러닝을 쉽게 사용할 수 없습니다.

 

따라서 최근 연구 및 산업계에서는 전문 지식이 없는 사람들도 머신러닝 기술을 최대한 쉽게 활용할 수 있는 방법에 주목하고 있습니다. 이에 지배적인 연구 분야로 떠오른 것이 바로 자동화된 머신러닝automated machine learning (AutoML)입니다.

 

AutoML의 목표는 사람이 머신러닝 문제를 해결하는 방식을 시뮬레이션해서, 기계가 주어진 문제에 대한 최적의 솔루션을 자동으로 찾도록 하는 것입니다. 실무자는 폭넓은 경험이 없더라도, 머신러닝 기술에 쉽게 접근하여 바로 사용할 수 있게 됩니다. 머신러닝 모델의 구조를 설계하고 설정하는 전문가들의 짐을 덜어주기도 합니다. 

 

물론 비교적 최근 기술이라서 아직 많은 사람에게 생소하게 느껴질 수 있습니다. 대중 매체에서 이를 꽤 과대 포장하는 영향도 있을텐데요. 여기서는 여러분이 쉽게 감을 잡을 수 있도록 설명해 보겠습니다.

 

AutoML: 자동화 속의 자동화 

AutoML의 목표는 기계가 사람의 설계, 튜닝, 머신러닝 알고리즘의 적용 방식을 흉내내어 머신러닝을 보다 쉽게 사용할 수 있도록 만드는 것입니다. 아래 그림과 같이 반복 과정에서 사람의 개입을 제거하는거죠. 머신러닝의 주요 특성 중 하나는 자동화인데 AutoML은 자동화를 자동화한다는 목표를 가지고 있습니다.

 

AutoML의 목표.jpg

[AutoML의 목표: 머신러닝 알고리즘을 설계하고 튜닝하는 반복 과정에서 사람의 개입 제거]

  

AutoML의 작동 방식을 이해하기 위해 먼저 주요 구성 요소를 살펴보겠습니다.

 

머신러닝 알고리즘을 선택하는 단순한 접근법.jpg

[머신러닝 알고리즘을 선택하는 단순한 접근법(의사 코드)]

 

다음은 머신러닝 알고리즘을 선택하는 단순한 접근법을 나타낸 의사 코드입니다. 간단하지만 일종의 AutoML 알고리즘을 구현한 코드로 볼 수 있죠. 머신러닝 알고리즘을 입력받고, 각 알고리즘을 평가한 뒤 최상의 모델 출력하기 때문이죠. AutoML 알고리즘의 주요 구성 요소는 다음과 같습니다.

 

✔️탐색 공간 search space

하이퍼파라미터들의 다양한 조합과 각 하이퍼파라미터가 가질 수 있는 값의 범위입니다. 각 하이퍼파라미터의 값 범위는 AutoML을 사용하는 사람의 요구 사항과 지식에 따라 정의됩니다. 가령 고려 대상으로 선정된 머신러닝 알고리즘의 목록, 머신러닝 모델의 구조처럼 특정 머신러닝 알고리즘의 행동 방식을 결정하는 값도 하이퍼파라미터의 한 종류가 될 수 있습니다.

 

✔️ 탐색 전략 search stragtegy

탐색 공간에서 최적의 하이퍼파라미터 조합을 선택하기 위한 전략입니다. 반복적인 시행착오를 통해 최적의 모델을 찾는 AutoML은 탐색 공간에 포함된 각 하이퍼파라미터의 조합을 순차적으로 선택하고 성능을 평가하는 기본 전략을 사용합니다. 위의 의사 코드처럼 탐색 공간의 모든 하이퍼파라미터 조합을 모두 시도하거나, 지금까지 평가된 하이퍼파라미터를 토대로 더 효율적인 방식으로 하이퍼파라미터를 선택하는 등의 전략을 세울 수도 있습니다.

 

✔️ 성능 평가 전략 performance evaluation strategy

선택된 하이퍼파라미터의 조합으로 만들어진 특정 머신러닝 알고리즘의 성능을 평가하는 방법입니다. 보통 평가 기준으로는 검증용 데이터셋에 대해 모델의 성능을 평가했던 것처럼, 수동으로 튜닝할 때와 같은 것을 사용합니다. (다양한 유형의 머신러닝 작업을 해결하기 위한 평가 전략은『AutoML 인 액션』(한빛미디어,2023)에서 확인하실 수 있습니다.)

 

AutoML 알고리즘을 쉽게 사용할 수 있도록 만들기 위해 보통 AutoML 소프트웨어는 위 세가지 구성 요소를 포장하여 일반화된 애플리케이션 프로그래밍 인터페이스(API)를 제공합니다. 또한 기본 탐색 공간 및 검색 알고리즘도 함께 제공하여, 사용자가 직접 이들을 선택해야하는 고통에서 벗어나게 해주죠. 

 

사용자는 최종 모델을 얻기 위해 단순히 데이터를 제공하기만 하면 됩니다. 

데이터를 학습용 및 검증용으로 나눌 필요조차 없죠.

 

AutoML API의 범위.jpg

[AutoML API의 범위]

 

하지만 사용자마다 서로 다른 방식으로 활용하고 싶고, 머신러닝에 대한 전문성의 수준이 다를 수 있습니다. 이 경우에는 자신에게 맞는 탐색 공간, 탐색 전략, 평가 전략을 설계할 필요가 있습니다. 

 

이를 위해 현존하는 AutoML 시스템은 각 구성 요소를 입맛에 맞게 설정할 수 있는 API를 제공합니다. 기본으로 작동하는 가장 간단한 것부터 모든 것을 내가 원하는 대로 설정하는 것까지 광범위한 활용이 가능하죠.

 

AutoML로 완전한 자동화를 달성할 수 있을까?

AutoML은 지난 30년간 산업 및 오픈 소스 커뮤니티와 함께 발전한 분야입니다. 

그 과정에서 다양한 성공 사례와 유망한 개발을 확인할 수 있었죠. 그중 몇 개의 사례를 소개합니다.

 

・여러 회사가 보유한 내부 도구 및 오픈 소스 플랫폼이 머신러닝 모델의 선택과 하이퍼파라미터 튜닝을 위해 개발되어 왔습니다(구글의 비지어 Vizier, 페이스북의 Ax 등).

 

・캐글이 주최하는 데이터 과학 경연 대회의 참가자들이 사람의 입장에서 고수준 high-level3으로 작동하는 AutoML 기법을 선보였습니다.

 

향상된 하이퍼파라미터 튜닝 및 머신러닝 파이프라인의 구성을 위한 다양한 오픈 소스 머신러닝 패키지가 개발되었습니다(AutoSklearn, AutoKeras 등).

 

크고 작은 수많은 회사가 상업용 AutoML 제품을 통해서 머신러닝을 도입했습니다. 예를 들어 디즈니는 구글의 클라우드 AutoML을 도입하여 머신러닝 엔지니어로 구성된 팀을 꾸리지 않고도, 성공적으로 온라인 매장에 적용 가능한 머신러닝 솔루션을 개발했습니다.

 

의학, 신경 생물학, 경제학 등 컴퓨터 공학 이외의 분야에서도 연구자들이 AutoML을 적극적으로 도입하고 있습니다. 의료영상분할, 유전체해석연구, 동물 인식과 보호 등 구체적인 전문 분야의 문제에도 머신러닝과 프로그래밍을 배우는 데 시간을 많이 들일 걱정 없이 새로운 머신러닝 솔루션을 도입할 수 있게 되었습니다.

 

많은 분야의 사람들이 머신러닝의 혜택을 받을 수 있도록 AutoML의 실현 가능성에 대한 연구가 활발히 이루어지고 있습니다. 물론 해결되어야 하는 도전 과제와 문제도 존재합니다. 다음은 그중 일부를 보여줍니다.

 

① AutoML 시스템 구축의 어려움: AutoML 시스템을 처음부터 구축하는 것은 머신러닝 시스템을 구축하는 것보다 훨씬 더 복잡하고 많은 것을 고려해야 합니다.

 

② 자동화된 데이터 수집과 정리: AutoML을 쓰더라도 여전히 데이터의 수집, 정리, 레이블링은 사람이 수행해야 하는 영역입니다. 그리고 이 과정이 머신러닝 알고리즘을 설계하는 것보다 더 복잡한 경우가 많습니다. 현재로서는 이 과정을 AutoML로 자동화할 방법은 없으며, 고품질의 데이터셋과 매우 명확한 목적을 AutoML에 제공해야만 잘 작동합니다.

 

③ AutoML 알고리즘의 선택과 튜닝에 대한 비용: ‘공짜 점심은 없다There ain't no such thing as a free lunch’에 따르면 모든 하이퍼파라미터 튜닝에 적합한 전지전능한 AutoML 알고리즘이란 존재하지 않는다고 볼 수 있습니다. 머신러닝 알고리즘을 직접 선택하고 튜닝하는 노력을 최소화하려고 AutoML을 선택했지만, AutoML 알고리즘을 선택하고 튜닝하는 데 필요한 노력도 만만치 않게 클 수 있습니다.

 

④ 자원에 대한 비용: AutoML은 상대적으로 투입되는 시간과 계산 자원 측면에서 꽤 비용이 드는 작업입니다. 현존하는 대부분의 AutoML 시스템의 경우 사람이 직접 하는 것에 맞먹는 결과를 도출하기 위해서는 사람보다 훨씬 더 많은 하이퍼파라미터 튜닝에 시간과 자원을 투입해야 합니다.

 

⑤ 사람과 컴퓨터 간의 상호작용에 따른 비용: AutoML이 하이퍼파라미터를 튜닝하는 과정과 그렇게 도출된 결과를 해석하는 것은 쉽지 않습니다. 그리고 시스템이 점점 더 복잡해질수록 사람이 튜닝 과정에 개입하는 것은 더 어려워집니다. 그 결과 도출된 최종 모델을 이해하는 것 또한 매우 어려워질 수 있습니다.

 



이 글은 도서 『AutoML 인 액션』 내용에서 일부를 발췌, 작성하였습니다. 머신러닝 전문가이자 AutoML의 핵심을 담은 AutoKeras(오토케라스) 창시자의 집필서, 『AutoML 인 액션』에서 더 많은 내용을 확인하실 수 있습니다.

AutoML 인 액션.jpg

AutoML 인 액션

댓글 입력
자료실

최근 본 상품0