본문 바로가기

IT Insights

인공지능을 위한 인공지능, AutoML

2012년 국제영상인식대회인 ILSVRC(ImageNet Large Scale Visual Recognition Challenge, 이미지넷)를 통해 심층학습(Deep Learning)의 성능이 학계 및 산업계에 입증된 이후, AI는 2차 암흑기(AI Winter)를 지나 다시 세간의 관심을 받기 시작했으며, 2016년 이세돌 九단대 알파고의 대국을 계기로 많은 사람들이 인간보다 뛰어난 슈퍼인공지능이 곧 다가올 것으로 생각하게 되었습니다.

시각지능은 2017년도에 이미 98%의 정확도로 인간의 인지수준에 근접하였으며, 언어/청각 지능도 시각지능에 가까운 성능을 보이기 위해 많은 연구가 진행되고 있습니다. 따라서 AI시장은 연평균 50% 가까운 성장세로 제 3의 황금기로써 대량의 자본투자가 이루어지고 있습니다. 하지만, 연구단계에서 좋은 성능을 보인 AI기술이 실용적인 수준의 결과(Practical Outcome)로 이어지는 것이 쉽지 않다는 것을 깨닫는데는 그리 오랜 시간이 걸리지 않았습니다.
최근 세계적으로 유명한 뉴욕대학교 인지심리학 교수인 Gary Marcus는 Google DeepMind가 18년도 5.7억$ 비용, 구글 스케일의 하드웨어, 3일간 1.2만명이 연속 학습한 비용에 대한 실리적인 성과가 얼마나 이루어졌는가에 대해 다소 냉소적인 의견과 심층학습의 한계에 대해서 피력하였습니다.

또한 최근 Gartner 와 VentureBeat AI리포트에 의하면 80~87% 빅데이터/AI 프로젝트가 실패로 끝나고 있다는 보고서가 발표되었습니다. 이제 3차 AI겨울이 다가오는 것을 준비해야 할까요?
강력한 성능이 증명된 AI가 상용화로 바로 직결되지 않는 이유는 무엇때문일까요? Gary Marcus 언급한 10가지 심층학습의 근본적인 한계 전부다 수용할 것은 아니지만 응용상용화와 직결된 4가지 문제를 짚어 보겠습니다.

첫 번째는 고품질 학습데이터(High Quality Training Data)의 부재입니다.
AI를 대표하는 심층학습의 여러 종류 중 가장 강력한 성능을 가지는 지도학습은 “인위적인 레이블”이 필수요소입니다.
심층학습의 대표사례로 많이 접하는 개와 고양이의 분류는 인위적인 레이블이 달려 있는 학습데이터의 형태이며, 심층학습이 입력공간의 연쇄적 미분변환으로 표적공간으로 사상하기 위한 가장 중요한 조건입니다. 하지만, 실제 세계에서의 머신러닝 환경은 이런 수준의 학습데이터를 준비하는데 많은 비용과 시간이 필요하며, 더 큰 문제는 레이블링이 불가능한 AI문제들이 증가하고 있다는 점입니다.

두 번째는 강건(Robust)한 AI의 부재입니다.
AI는 기본적으로 안정된 정적상태를 가정하며, 데이터가 오염되지 않고, 수학적으로 명확히 설명(Representation)할 수 있는 정제된 데이터를 기준으로 설계되어 있습니다. 하지만 실제 세계는 인과관계를 갖는 주요 설명요인 외에도 환경외란에 인한 인과성 없는 변동요인(노이즈)이 교란을 일으키게 되고, 이는 때로 엉뚱한 결과를 야기하기도 합니다. 측정에 사용되는 센서는 시간에 따라 발생하는 성능저하(Degradation) 현상으로 인해 동적 상태변화가 지속적으로 발생합니다. 이런 원인요소는 직접관측도 불가능하며, 항상 설명요인에 혼합되어 관측이 됩니다. 시각지능의 대표적인 예(MIT Technology Review '17)로 이미지에 픽셀 3개를 변화시킴으로써 개를 자동차로 인식하는 오류를 범하는 사례가 있습니다. 여전히 AI 사물인식 방식은 사람의 방식과는 많은 차이가 있다는 것입니다. 환경외란에 의한 변동요인(잡음)에 취약한 문제를 개선하기 위해 앞으로 많은 Robust AI 연구들이 필요할 것으로 보입니다. 관련 내용은 인사이트리포트 “2편 스마트팩토리의 인공지능 활용은 왜 어려울까”에 좀더 내용이 있습니다.

세 번째는 소량 데이터(Little Data)만으로 학습 가능 여부입니다.
심층학습 기술이 선호되는 큰 이유 중 하나는 표현학습 자동화에 있습니다. 심층학습에서는 수행할 목적(Target Task)에 맞게 변수(Feature)를 자동으로 변환 및 추출하는데, 정확도가 높은 결과를 얻기 위해서는 빅데이터 수준의 데이터가 필요합니다. 하지만 실제로 높은 정확도가 얻어지더라도 얼마나 효과적일까요? 심층학습을 위한 투자비용은 실리적으로 얻을 수 있는 대가에 비해서 크다고 보고 있습니다.
많은 실제 문제에서는 비정형의 소량 학습데이터(AI-Complete 문제는 10% 이하)만 주어지는 경우가 많으며, 소량의 데이터에서 어떻게든 큰 실용적 효과를 얻고자 합니다. 이런 조건하에서는 분석실무자(AI 개발자 or 분석가)가 직접 복잡한 특징공학(Feature Engineering)을 수행해야 하며, 분석 성능 확보를 위해서 오랜 시간과 시행착오가 요구됩니다. 또한 학습데이터가 소량일수록 전체모수를 반영하지 못하는 부분적인 샘플일 확률이 높아 잘못된 편향된 학습결과로 상용화 시, 큰 오류를 범한다는 문제가 존재합니다.

네 번째는 문제에 최적화된 학습 알고리즘 여부입니다.
우리는 누구나 상용 툴이나 오픈소스가 제공하는 머신러닝 알고리즘을 이용하여, 데이터 분석 문제에 접근할 수 있는 시대에 살고 있습니다. 하지만 일반화된 수학적/통계적 가정들은 고유의 도메인과 애플리케이션의 동특성(動特性) 요인과 맞지 않는 경우가 많기 때문에 경험이 많은 전문실무자들도 먼저 데이터 탐색(EDA: Exploratory Data Analysis)을 통하여, 데이터의 특성과 분포를 파악하고 더 나아가 본인의 필드에서 쌓은 지식을 활용하여 적합한 기법을 선정하거나, 선정한 기법의 내부 파라메터를 튜닝(최적화)하고 때로는 코드수정이나 알고리즘을 만들기도 합니다. 따라서 분석실무자들은 머신러닝 알고리즘의 내부동작뿐 아니라 도메인에 대한 깊은 이해가 필요한 것입니다. 하지만 전세계적으로 한정적인 대학, 기업 및 전문단체만이 이런 수준의 인력과 예산을 확보하고 있어 실무에 적용할 수 있는 AI 알고리즘은 여전히 특정집단에 제한적입니다. 또한 분석전문가라고 하더라도, 새로운 문제마다 해당 도메인지식을 가지고 있어야 하며, 보유실무자의 수에 비해 AI 문제는 너무 다양하게 그리고 급속도로 증가하고 있습니다. 즉, 분석생산성 측면에 있어서 막대한 교육비를 투자할 수 있다 하더라도, 근본적인 해결책이 될 수 없음을 알아야 합니다.

그렇다면 위에 언급된 문제점들을 개선할 수 있는 방안은 무엇일까요?
실용적인 개발생산성을 높이는 방안으로 각 머신러닝 시스템 개발과정에 있어서 “인공지능으로 또 다른 인공지능을 만들어 내는 기술”인 AutoML(Automatic Machine Learning)이 있습니다.
일반적인 머신러닝시스템 개발과정에 있어서 성공적인 상용화를 위해 실무자는 다양한 작업을 해야 합니다. 학습데이터를 더 수집할 것인지, 오염된 데이터는 어떻게 제거할지, 어떤 변수를 선택하고, 어떻게 변환할 것인지, 알고리즘의 수용력(표현력 증대 = 과적합 고려)을 증대할지 혹은 줄여야 할지, 모델구조를 변경할 것인지, 모델코드를 디버깅하여 수정할 것인지 등에 대한 해결방법은 여러 종류의 수학적 지식과 도메인지식을 필요로 하기에 많은 시간(비용)이 소요됩니다.

이러한 개발과정의 정형화된 프로세스를 머신러닝 파이프라인(Machine Learning Pipeline)이라 지칭하며, 데이터 수집/분석/전처리, 피처선택/변환, 최적 ML 선택/튜닝/설계를 거처 배포까지 약 8단계로 실무자에 의해 수행하는 워크플로우와 각 단계별 성능개선 기법들이 존재합니다. 글로벌기업들은 이 파이프라인을 최적화하기 위한 솔루션(IBM AutoAI, Microsoft AzureML, Google AutoML, Amazon SageMaker)을 개발하였으며, 삼성SDS도 Brightics AI에 이 기술을 적용하여 다양한 실무에 적용하고 있습니다.

머신러닝 파이프라인은 크게 3개 영역으로 나눌 수 있습니다.


첫 번째는 학습데이터 자동설계 영역입니다.
학습 데이터의 낮은 품질은 매우 중요한 문제로 원시데이터를 머신러닝에 맞게 적절히 수집/정제하는 기술이 필요합니다. 분석실무자가 직접 수행하는 결측, 중복, 특이치, 정규화 등의 작업은 AI를 이용하여 어느 정도 자동화할 수 있습니다.

더 중요한 것은 적합한 데이터가 수집되었냐는 점입니다. 근본적인 통계적 학습이론은 훈련(Training, Validation) 데이터 세트와, 평가(Test) 데이터 세트를 무작위로 충분히 수집하였고, 각 세트마다 독립적이고, 훈련과 평가데이터 세트 간 동일한 확률분포라는 가정하에 수립된 것입니다. 실제 분석에서는 많은 경우 충분히 랜덤화되지 않게 학습데이터가 수집되며, 이는 편향된 학습으로 큰 성능저하를 만들어 냅니다.
하지만 랜덤 샘플링을 빅데이터 수준으로 하는 것 또한 엄청난 비효율이기 때문에 최적의 소량데이터를 인공지능 기법으로 수집하는 연구가 진행되고 있습니다. 한 예로 분류를 할 때, 랜덤 학습데이터보다는 경계조건 위주의 25% 데이터만으로 정확도 90%를 보일 수 있다는 것입니다. 그래서 최근에 '무엇을 먼저 학습할 것인가?'라는 능동학습(Active Learning)이 AutoML에서 많이 접근하는 영역입니다.


두 번째는 피처 엔지니어링 자동화영역으로 주어진 원시데이터를 머신러닝 모델에 적합하게 변형하는 기술입니다.
단일의 모델이 다양한 문제에 일반화하기는 불가능하기 때문에 분석실무자는 도메인과 데이터 특성을 잘 이해하고, EDA를 통하여 원시데이터를 통계적 기법과 시각화 기술을 활용하여 해석을 합니다. 해석 이후, 사용할 후보 머신러닝 알고리즘의 내부동작과 주어진 계산자원(메모리, 실행시간) 내에서 원시데이터를 어떻게 변환할지에 대한 방법론을 도출해야 합니다. 즉, 원시데이터-응용도메인 지식-AI도메인 지식 3가지가 동시에 고려된 최적의 데이터 세트가 만들어져야 합니다.
많은 경우 이 피처엔지니어링 기술이 학습모델 성능을 좌우하는 경우가 많기에 매우 중요한 부분입니다. AI 거장인 앤드류 응 역시 다음과 같이 언급하였습니다.

Coming up with features is difficult, time-consuming, requires expert knowledge. 
‘Applied machine learning’ is basically feature engineering.”
— Prof. Andrew Ng.


세 번째는 Machine Learning 알고리즘 자동설계 영역입니다.
과거 메타러닝(Meta Learning)이 추구한 방향은 기계 스스로 문제에 적합한 알고리즘을 선택하고, 알고리즘을 해당 데이터 분포구조에 맞게 수정/변경하는 것입니다.
좁은 의미로는 선택한 머신러닝(알고리즘)의 초매개변수(Hyper-parameter)의 미세튜닝을 위해 다양한 시행착오를 자동화하여 성능을 개선하는 기법부터 넓게는 신경망의 위상구조(Topology)를 스스로 탐색하여 최적의 구조설계를 자동화하는 방법이 있습니다.

AI 활용의 목적(예측, 분류, 제어, 생성)은 도메인 별로 다양한 만큼 데이터의 분포, 피처구조, 가설공간(1차, 2차,..)도 다양할 것입니다. 따라서 주어진 데이터와 환경에 적합한 학습기술은 분석실무자가 미리 고안해야 하는 부분입니다.
예를 들어, AI-Complete 부류인 이미지 기반 물체인식(Object Detection) 문제는 이미지의 공간 상관성을 반영하기 위해 합성신경망을, 음성과 같이 입/출력이 순차열 구조로 자기상관성을 가지는 경우는 순환신경망을 선택해야 합니다. 반면, 상대적으로 복잡도가 낮은 수치 데이터 간의 선형상관을 규명하는 문제의 경우, 간단한 가중치 몇 가지를 찾는 로지스틱 회귀기법이 적합함을 실무자가 파악한 후 알고리즘을 선택해야 합니다. 하지만 이런 수준의 모델 선정이 끝은 아닙니다.

대표적인 신경망을 예로 들어보겠습니다. 알고리즘 성능, 실행시간, 메모리에 영향을 주는 초매개변수는 학습률, 가중치 감쇄계수, 드롭아웃 비율, 합성곱 필터크기, 은닉 단위 개수, 배치 크기(Mini-Batch Size), 레이어수와 같은 것으로, 과소/과대 적합에 큰 영향을 주는 부분으로 매우 중요한 의사결정사항입니다. 전문지식이 없는 사람들은 수용력을 최대한 과도하게 주고 신경망이 내부최적화 알고리즘이 불필요한 변동요인들을 스스로 제거하길 바라지만, 초매개변수와 모델성능과의 관계는 에그 홀더 형태와 같이 복잡한 형상이 많아 과도한 가중치 영향과 적합하지 않은 데이터 분포 설정값들은 오히려 참담한 결과와 비효율적인 학습시간을 만나게 됩니다.

결국 분석실무자는 초매개변수 간 상호작용, 성능, 훈련오차, 평가(시험)오차, 자원, 수용력 간의 관계를 제대로 파악해야만 가장 적합한 학습모델 성능을 얻을 수 있습니다.
유사한 문제에 대한 경험이 많은 분석실무자일수록 저비용으로 빠르게 의미있는 분석결과를 도출할 것이며 이것이 전문가 확보의 가장 큰 이유입니다. 하지만 이런 전문실무자의 수는 시장에 매우 한정되어 있으며, 전문가들도 새로운 형태의 문제를 만날 때마다 여러 시행착오와 연구를 반복해야 좋은 성능의 학습모델을 얻을 수 있습니다.

 

주민식 프로

주민식 프로는 대학원에서 기계공학&컴퓨터사이언스를 전공하였고 주요 연구분야는 Applied mathematics(응용수학)기반 Manufacturing 데이터분석 및 최적화를 했습니다.

현재 전자 및 관계사 데이터기반 무인설계기술과 공정최적제어 관련 컨설팅을 수행중이며,삼성SDS Brightics AI 알고리즘 중 Optimization 기술리더입니다. 관심분야는 능동학습(Active Learning)과 전이학습(Transfer Learning) 이용한 전통적인 AI기술 (강화학습을 비롯한 머신러닝)의 비효율성 해결과 자율학습 기술 연구중입니다.