제22화. 왜 머신 러닝(Machine Learning)과 딥 러닝(Deep Learning)이 어려울까? - AMORE STORIES
#Digital
2018.08.16
15 LIKE
1,447 VIEW
  • 메일 공유
  • https://stories.amorepacific.com/%ec%a0%9c22%ed%99%94-%ec%99%9c-%eb%a8%b8%ec%8b%a0-%eb%9f%ac%eb%8b%9dmachine-le

제22화. 왜 머신 러닝(Machine Learning)과 딥 러닝(Deep Learning)이 어려울까?

칼럼니스트김학신 님
아모레퍼시픽 디지털 정보혁신팀


# Intro

 "AI will change everything"이라는 말이 나올 정도로 인공지능은 점점 더 다양한 분야에 접목되어 그동안 접해보지 못했던 새로운 고객 경험을 제공하고, 풀지 못했던 문제를 척척 해결하고 있습니다. 예를 들어 사람들이 지속/반복했던 단순노동을 인공지능을 통해 자동화하거나 데이터를 기반으로 미래를 예측하고, 비정형 데이터(텍스트, 이미지 등)를 이해하는 등 앞으로 점점 더 다양한 분야에 접목될 것으로 예상됩니다. 이러한 인공지능은 머신 러닝(Machine Learning)과 사람의 뇌 신경망을 콘셉트로 한 딥 러닝(Deep Learning)을 기반으로 하며, 날이 갈수록 더욱더 활발하게 사용되고 있습니다.

 저는 테마혜초라는 회사의 새로운 프로그램을 통해 B2C 관점에서 접목할 수 있을 것으로 기대하는 아마존의 다양한 인공지능 서비스를 체험하고, 머신 러닝과 딥 러닝을 처음부터 끝까지 경험할 수 있는 기회를 얻게 되었습니다. 비록 3개월이라는 짧은 기간에 수준도 머신 러닝과 딥 러닝의 문을 두드려본 정도이지만 그것은 시작부터 끝까지 어려움을 해결해나가는 과정이었습니다. 그 과정을 통해 왜 머신 러닝과 딥 러닝이 어려운지를 조금이나마 알게 되었고 그것을 이번 칼럼에서 소개하고자 합니다.

# 머신 러닝이 어려운 이유

1. 데이터 문제

 머신 러닝과 딥 러닝은 데이터를 기반으로 반복적인 학습을 수행해 점점 더 정답에 가까워지는 모델(함수)을 만드는 것을 말합니다. 결국 데이터를 학습하고, 데이터를 기반으로 만들어진 모델이기 때문에 데이터에 따라 엄청나게 결과가 다를 수 있습니다. 따라서 양질의 데이터가 훌륭한 머신 러닝과 딥 러닝의 결과물을 만들어낸다고 해도 과언이 아닙니다. 그럼 양질의 데이터란 무엇일까요? 양질의 데이터란 두 가지 관점으로 볼 수 있습니다. 첫 번째는 데이터의 품질(Data Quality)과 두 번째는 데이터의 양(Data Volume)입니다. 첫 번째 데이터의 품질에 대해 아마존 사람들을 만나 좋은 데이터란 무엇인지 문의한 결과, "좋은 데이터란 연속성이 있어야 하고, 누락되지 않아야 하며, 일관성이 있어야 한다"고 했습니다. 또한 "머신 러닝 또는 딥 러닝을 통해 풀고자 하는 문제에 대한 데이터가 잘 갖춰져야 한다"고도 했습니다. 두 번째는 데이터의 양입니다. 머신 러닝과 딥 러닝을 위해서는 엄청나게 많은 데이터가 필요합니다. 이미지를 분류하는 모델을 만든다고 가정할 때, 분류하고자 하는 개수에 따라 하나의 대상의 수에 따라 다를 수 있지만 이미지가 수십에서 수백 장 필요합니다.

 앞서 말씀드린 이 두 가지를 만족하는 양질의 데이터를 현실 세계에서 얻는다는 것은 매우 어려운 문제입니다. 데이터 수집은 한순간에 가능한 것이 아니고 많은 시간과 노력을 들여야 하며, 이를 위해 많은 자원 또한 필요합니다. 그리고 현재 '데이터=경쟁력과 자산'임을 모든 기업들이 인지하고 있기 때문에 외부에서 데이터를 얻기 위해서는 역시 많은 돈을 지불해야 할 정도로 데이터의 중요성은 점점 더 커지고 있습니다.

2. 고통스러운 데이터 전처리(Preprocessing) 작업

 머신 러닝과 딥 러닝을 위해서는 반드시 데이터 전처리 작업이 필요합니다. 데이터 전처리 과정을 간단하게 요약하면 데이터 이해 및 분석, 데이터 정제, 데이터 변환, 데이터 포매팅 작업을 수행하게 됩니다. 데이터 이해 및 분석을 위해서는 해당 도메인에 대한 사전 지식이 필요하며, 이를 기반으로 데이터의 의미를 이해하고 분석하는 작업을 거칩니다. 실제로 이 기간이 상당히 많이 필요하고 데이터에 대한 이해와 분석이 끝난 후에야 불필요한 데이터를 삭제하거나 기존의 데이터를 기반으로 의미가 있을 것으로 생각되는 새로운 데이터 항목(Feature)을 추가하는 작업 등을 수행합니다. 그리고 누락된 데이터의 값을 채우거나 데이터 값의 변동폭이 클 경우 변동폭을 줄이기 위한 정규화 작업 등을 수행하고, 문자로 되어 있는 데이터를 전부 숫자로 변환합니다. 그 이유는 머신 러닝과 딥 러닝은 숫자에 대한 연산을 수행하기 때문에 문자를 숫자로 변환해줘야 합니다. 그리고 마지막으로 해당 데이터를 머신 러닝에 맞는 형식으로 데이터의 포맷을 맞추는 작업을 합니다. 이 기간이 데이터 품질에 따라 다르지만 머신 러닝과 딥 러닝을 위한 작업 중 상당한 비중을 차지합니다. 그리고 머신 러닝과 딥 러닝의 결과물이 좋지 못하면 다른 방법을 시도할 수 있는데 이때 다시 일부 데이터의 전처리 작업이 필요합니다.

3. 너무나 다양하고 많은 레시피(Recipes)

 문제를 해결하기 위한 머신 러닝과 딥 러닝의 솔루션이 하나인 것은 아닙니다. 이를 해결하기 위한 매우 다양한 솔루션이 존재합니다. 예를 들어 스팸 메일과 일반 메일을 구분하는 모델을 만든다고 가정할 때 이를 해결할 수 있는 방법은 꽤 다양할 수 있습니다. 대표적으로 XG-Booster, Decision Tree, Support Vector Machine, K-NN(Nearest Neighbor) 등의 솔루션을 꼽을 수 있습니다. 솔루션을 선택한 후에도 더욱더 많은 레시피가 남아 있습니다. 이 같은 레시피 중 대표적으로 과거의 경험이나 노하우를 기반으로 사람이 값을 정해야 하는 것들이 있는데 그것을 하이퍼 파라미터(Hyper Parameter)라고 부릅니다. 하이퍼 파라미터의 값은 사람이 모두 지정해야 하는데 그 값에 대한 조합의 경우의 수가 어마어마하게 다양하고 그 값에 따라 머신 러닝의 결과물도 달라집니다. 따라서 적절한 하이퍼 파라미터에 대한 값과 조합을 찾는 것은 매우 많은 시행착오를 겪어야 하고, 유사한 문제에 대한 노하우가 축적되어야 조금 더 빠르게 문제를 해결할 수 있습니다.
  • 머신 러닝의 어려움을 표현한 그림: 충분한 데이터와 적절한 알고리즘에 대한 선택 그리고 올바른 구현 시에만 결과를 얻을 수 있음
    출처 : http://ai.stanford.edu

4. 최적의 결과를 보장할 수 없음

 머신 러닝과 딥 러닝의 문제로 많이 지적되는 것 중 또 하나는 해당 레시피의 결과가 최적의 결과를 보장하느냐입니다. 이를 다른 용어로 글로벌 미니멈(Global Minimum)이라고 합니다. 이는 전체 데이터를 학습하는 과정(답을 잘 예측할 수 있게 하는 과정)에서 최적의 결과에 도달했다는 의미입니다. 그런데 머신 러닝과 딥 러닝은 글로벌 미니멈이 아닌 일부 데이터에 최적화된 결과(Local Minimum)를 내놓기도 하고 혹 글로벌 미니멈에 도달했다고 하더라도 이를 설명하는 것은 불가능합니다. 따라서 해당 모델의 결과가 비즈니스적으로 의미가 있는지 없는지는 결국 비즈니스상에서 해당 모델의 결과가 수용 가능한지의 여부에 따라 결정된다고 할 수 있습니다.

5. 너무나 많은 시간이 필요한 학습 과정

 앞에 데이터와 관련해서 말씀드렸듯이 머신 러닝과 딥 러닝을 위해서는 상당히 많은 데이터가 필요합니다. 따라서 이러한 다수의 데이터를 학습하기 위해서는 시간 역시 많이 필요합니다. 풀고자 하는 문제의 종류에 따라 다르지만 이미지를 식별하는 모델을 만든다고 가정하면 이를 위해 매우 고가인 GPU(Graphics Processing Unit) 장비가 필요하고, 이 GPU 장비를 사용해서 학습할 때도 짧게는 몇 시간에서부터 길게는 며칠이 소요되기도 합니다. 학습 후 해당 결과가 만족스러우면 다행이지만 그렇지 않을 경우, 다시 레시피를 조합해 학습해야 합니다. 물론 재학습을 한다고 해서 결과가 만족스러울지는 장담할 수 없습니다.

6. 결과에 대한 설명이 어려움

 머신 러닝과 딥 러닝 중에서 결과를 쉽게 해석할 수 있는 모델(Decision Tree 등)이 많지 않은 게 사실입니다. 지도 학습(Supervised Learning)*비지도 학습(Unsupervised Learning)* 모두 마찬가지인데요. 이 중에서 특히 딥 러닝의 경우, 결과에 대한 이유를 해석하는 것은 사실상 불가능한 상황입니다. 그 이유는 딥 러닝의 은닉 층(Hidden Layer)이라 불리는 곳의 연산 결과가 블랙박스와 같기 때문입니다. 이로 인해 왜 모델이 이러한 결과를 내놓았는지 알 수 있는 방법이 없습니다. 실제로 아마존 담당자에게 들은 이야기로는 딥 러닝 모델을 통해 학습하고 결과를 검증하는 시간보다 결과가 왜 그렇게 나왔는지 해석하고 분석하는 데 더 많은 시간과 노력을 쏟는다고 했습니다. 이로 인한 문제 때문에 현재 설명이 가능한 AI(Explainable AI)에 대한 연구가 활발하게 진행되고 있지만 아직 초기 단계인 것으로 보여 좀 더 시간이 필요하지 않을까 하는 생각이 듭니다.

- 지도 학습(Supervised Learning)* : 이미 알려진 사례를 바탕으로 일반화된 모델을 만들어 의사 결정 프로세스를 자동화하는 학습 방식(예, 기계에 스팸 메일과 일반 메일을 분류하는 학습을 시키고, 향후 새로운 메일이 왔을 때 과거의 경험을 기반으로 스팸 메일과 일반 메일을 분류하는 방식)
- 비지도 학습(Unsupervised Learning)* : 지도 학습과 달리 답을 제공하지 않으며, 주로 데이터 사이의 상관관계나 데이터가 어떻게 구성되었는지를 알아낼 때 많이 사용되는 방법(예, 클러스터링)

# 이를 극복하기 위한 머신 러닝과 딥 러닝의 트렌드

 앞에서 말씀드렸듯이 현재 머신 러닝과 딥 러닝을 처음부터 하기에는 매우 어려운 작업이며, 반드시 이를 위한 전문가가 필요합니다. 그런데 이러한 전문가 수는 매우 제한적이고 부족한 자원에 비해 수요 또한 많은 것이 현실입니다. 현재 실리콘밸리에서도 머신 러닝이나 딥 러닝 엔지니어는 채용도 어렵고 연봉도 어마어마하게 높은 데 그러한 인력들은 대부분 IT 공룡인 구글이나 아마존, 마이크로소프트 같은 기업에 재직하거나 유니콘 기업을 꿈꾸며 스타트업에 종사하고 있습니다. 즉 거대 기업을 제외하고는 머신 러닝과 딥 러닝을 적용하기는 쉽지 않은 상황입니다. 이러한 이유 때문에 앞 칼럼(제21화. 인공지능을 만드는 인공지능 오토ML)에서 소개했듯이 IT 공룡들이 머신 러닝과 딥 러닝의 대중화를 위해 오토ML을 내놓고 있습니다. 얼마 전 이곳 샌프란시스코에서 열린 구글 클라우드 컴퓨팅 콘퍼런스인 'Google Next'에서 구글은 Big Query에 오토ML 기능을 추가해 발표했습니다. 이는 데이터를 검색하고 검색된 데이터를 기반으로 풀고자 하는 문제만 정의하면 알아서 머신 러닝 또는 딥 러닝 모델이 만들어지는 방식입니다. 그리고 아마존은 SageMaker, IBM은 Watson Studio 등을 내놓고 있습니다. 이러한 플랫폼들은 아직 일반인(개발자)을 위한 것이라기보다는 데이터 사이언티스트*를 위한 플랫폼들입니다. 하지만 시간이 지날수록 일반인(개발자)들이 손쉽게 머신 러닝과 딥 러닝을 구현할 수 있도록 빠르게 발전하고 있는 것도 사실이기 때문에 머지않은 시기에 이러한 플랫폼을 잘 활용해 다양한 문제점을 빠르게 해결해나갈 수 있지 않을까 생각됩니다.

- 데이터 사이언티스트* : 데이터에서 특정 비즈니스 성과나 목표를 달성하는데 도움을 주는 인사이트를 발견하는 책임을 갖고 있으며, 주요 업무는 수많은 데이터를 체계화하고 분석하는 역할을 하는 사람
  • AutoML의 처리 과정
    출처 : Data Robot


# 22화 컬럼을 마치며…

 비록 3개월의 짧은 경험이지만 제가 경험하면서 겪었던 어려움과 아마존 사람들을 만나서 들은 왜 머신 러닝과 딥 러닝이 어려운지에 대한 이야기를 이번 칼럼을 통해 소개해드렸습니다. 머신 러닝과 딥 러닝의 부정적인 요소를 말씀드리긴 했으나 이는 머신 러닝과 딥 러닝에서 반드시 겪을 수밖에 없는 문제이고 이러한 어려움을 극복해야 노하우가 축적되며 더 많은 문제를 해결할 수 있다고 생각합니다. 저는 이번 테마혜초 경험을 잘 살려 B2C 관점에서 접목할 수 있는 머신 러닝과 딥 러닝 서비스를 고민/적용해, 이를 통해 다양한 고객 경험을 제공할 수 있도록 노력하겠습니다.


  • 좋아해

    11
  • 추천해

    1
  • 칭찬해

    1
  • 응원해

    1
  • 후속기사 강추

    1
TOP

Follow us:

FB TW IG