2018.03.23

머신러닝에 관한 9가지 오해

Mary Branscombe | CIO
머신러닝만큼 오해가 많은 신기술도 없을 것이다. 머신러닝이 할 수 있는 것과 할 수 없는 것은 각각 무엇인지를 알아보고, 더 이상 머신러닝을 오해하지 말자.



머신러닝은 매우 유용하다. 그래서 모든 문제를 해결하고, 모든 상황에 적용할 수 있는 기술이라고 생각하기 쉽다. 하지만 다른 도구들처럼 특정 영역에만 유용하다. 지속되고 있지만, 이를 해결할 사람을 충분히 채용할 수 없어 해결하지 못하고 있는 문제들, 목적이 명확하지만, 이를 달성할 방법이 없는 문제들을 예로 들 수 있다.

어쨌든 많은 기업과 기관이 어떤 식이든 머신러닝을 활용해 혜택을 누릴 수 있다. 액센츄어 조사에 따르면, 2021년까지 AI가 모든 새로운 혁신의 원동력이 될 것이라고 예상한 중역들의 비율이 42%에 달한다. 그러나 ‘하이프’와 일반적인 통념을 극복하고, 머신러닝이 실제 전달할 수 있는 기능과 그렇지 못한 기능을 이해해야 더 좋은 성과를 일궈낼 수 있다.

오해 1 : ‘머신러닝=AI’다
머신러닝과 인공지능이 유사어처럼 사용되는 경우가 많다. 하지만 머신러닝은 연구 실험실에서 실제 세상으로 가장 성공적으로 진입한 기법이고, AI는 컴퓨터 비전, 로봇, 자연어 처리, 머신러닝이 관여되지 않는 제약 만족(Constraint Satisfaction) 같은 접근법 등 적용 범위와 응용 분야가 광범위한 기술이다. 머신을 똑똑하게 만드는 기술로 생각하면 된다. 이 가운데 어느 것도 일부 사람들이 경쟁할까 두려워하고, 심지어 인간을 공격할까 두려워하는 그런 '인공지능'은 아니다.

‘버즈워드(통용어)’를 경계하고, 정확히 이해해야 한다. 머신러닝은 수많은 데이터의 패턴을 학습, 결과를 예측하는 기법이다. 그 결과가 ‘지적’으로 보일지 모르겠지만, 기본적으로 아주 빠른 속도와 규모로 통계 처리를 하는 기법이다.

오해 2 : 모든 데이터가 유용하다
머신러닝에는 데이터가 필요하다. 그러나 모든 데이터가 머신러닝에 유용한 것은 아니다. 시스템을 훈련시키기 위해, 머신러닝 시스템이 처리해야 할 패턴과 결과를 적용 범위로 하는 표본 데이터가 필요하다. 또 (남자는 모두 서 있고, 여자는 앉아있는 사진, 차는 차고에, 자전거는 진흙 마당에 세워진 사진 등)관련 없는 패턴이 포함된 데이터가 필요하다. 생성하려는 머신러닝 모델이 아주 특정적인 패턴을 조사하고, 같이 사용한 데이터에서 해당 패턴을 찾아야 하기 때문이다. 훈련(트레이닝)에 사용한 데이터에는 모두 레이블이 있어야 한다(분류가 되어 있어야 한다). 머신러닝 시스템에 물으려는 질문과 일치하는 특징에 대한 분류이다. 여기에 큰 노력이 필요하다.

보유 데이터가 모두 깨끗하고, 정리되어 있으며, 대표적인 표본이고, 쉽게 분류할 수 있다고 생각하지 말아야 한다.

오해 3 : 항상 많은 데이터가 필요하다
최근 이미지 인식, 머신 문장 독해, 언어 번역 등이 크게 발전을 했다. 더 나은 도구, 수많은 데이터를 병렬 처리할 수 있는 GPU 같은 컴퓨팅 하드웨어, 레이블이 있는(분류된) 수많은 데이터 세트(ImageNet과 Sandford Question Answering Dataset 등) 덕분이다. 그러나 전이 학습(Transfer Learning)이라는 기법 덕분에 많은 데이터 세트 없이도 특정 영역에서 좋은 결과를 얻을 수 있다. 다시 말해, 머신러닝 시스템에 하나의 대형 데이터 세트를 사용해 학습하는 방법을 가르친 후, 이런 학습 능력을 훨씬 작은 학습 데이터 세트로 이전하면 된다. 세일즈포스와 마이크로소프트 애저의 맞춤형 비전 API가 이런 식으로 작동한다. 예를 들어, 분류하기 원하는 30~50개의 이미지만 필요하다. 그래도 좋은 결과를 얻을 수 있다.

전이 학습은 훈련된 시스템을 맞춤화, 상대적으로 작은 데이터로 문제를 해결할 수 있도록 도와준다.


오해 4 : 누구나 머신러닝 시스템을 구축할 수 있다
머신러닝을 위한 오픈소스 도구와 프레임워크가 무수히 많다. 이를 활용하는 방법을 알려주는 교육 과정도 많다. 그러나 머신러닝은 여전히 전문 기법이다. 데이터를 준비하는 방법, 트레이닝과 테스트를 위해 구분하는 방법, 가장 좋은 알고리즘과 사용할 휴리스틱을 선택하는 방법, 신뢰도 높은 생산 환경의 시스템으로 바꾸는 방법을 알아야 한다. 또 계속 관련성 있는 결과가 나오도록 시스템을 모니터링 해야 한다. 시장이 변화하는지, 머신러닝 시스템이 여러 고객 세트를 제시할 수 있을 만큼 우수한지에 상관없이 모델이 계속 문제에 적합한지 확인해야 한다.

머신러닝을 올바르게 구현하기 위해서는 경험이 필요하다. 이제 막 시작했다면, 코드 내부에서 사전에 훈련된 모델을 호출할 수 있는 API를 찾거나, 데이터 과학과 머신러닝 전문가를 채용해 맞춤형 시스템을 구축하는 방법을 모색한다.
CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.



2018.03.23

머신러닝에 관한 9가지 오해

Mary Branscombe | CIO
머신러닝만큼 오해가 많은 신기술도 없을 것이다. 머신러닝이 할 수 있는 것과 할 수 없는 것은 각각 무엇인지를 알아보고, 더 이상 머신러닝을 오해하지 말자.



머신러닝은 매우 유용하다. 그래서 모든 문제를 해결하고, 모든 상황에 적용할 수 있는 기술이라고 생각하기 쉽다. 하지만 다른 도구들처럼 특정 영역에만 유용하다. 지속되고 있지만, 이를 해결할 사람을 충분히 채용할 수 없어 해결하지 못하고 있는 문제들, 목적이 명확하지만, 이를 달성할 방법이 없는 문제들을 예로 들 수 있다.

어쨌든 많은 기업과 기관이 어떤 식이든 머신러닝을 활용해 혜택을 누릴 수 있다. 액센츄어 조사에 따르면, 2021년까지 AI가 모든 새로운 혁신의 원동력이 될 것이라고 예상한 중역들의 비율이 42%에 달한다. 그러나 ‘하이프’와 일반적인 통념을 극복하고, 머신러닝이 실제 전달할 수 있는 기능과 그렇지 못한 기능을 이해해야 더 좋은 성과를 일궈낼 수 있다.

오해 1 : ‘머신러닝=AI’다
머신러닝과 인공지능이 유사어처럼 사용되는 경우가 많다. 하지만 머신러닝은 연구 실험실에서 실제 세상으로 가장 성공적으로 진입한 기법이고, AI는 컴퓨터 비전, 로봇, 자연어 처리, 머신러닝이 관여되지 않는 제약 만족(Constraint Satisfaction) 같은 접근법 등 적용 범위와 응용 분야가 광범위한 기술이다. 머신을 똑똑하게 만드는 기술로 생각하면 된다. 이 가운데 어느 것도 일부 사람들이 경쟁할까 두려워하고, 심지어 인간을 공격할까 두려워하는 그런 '인공지능'은 아니다.

‘버즈워드(통용어)’를 경계하고, 정확히 이해해야 한다. 머신러닝은 수많은 데이터의 패턴을 학습, 결과를 예측하는 기법이다. 그 결과가 ‘지적’으로 보일지 모르겠지만, 기본적으로 아주 빠른 속도와 규모로 통계 처리를 하는 기법이다.

오해 2 : 모든 데이터가 유용하다
머신러닝에는 데이터가 필요하다. 그러나 모든 데이터가 머신러닝에 유용한 것은 아니다. 시스템을 훈련시키기 위해, 머신러닝 시스템이 처리해야 할 패턴과 결과를 적용 범위로 하는 표본 데이터가 필요하다. 또 (남자는 모두 서 있고, 여자는 앉아있는 사진, 차는 차고에, 자전거는 진흙 마당에 세워진 사진 등)관련 없는 패턴이 포함된 데이터가 필요하다. 생성하려는 머신러닝 모델이 아주 특정적인 패턴을 조사하고, 같이 사용한 데이터에서 해당 패턴을 찾아야 하기 때문이다. 훈련(트레이닝)에 사용한 데이터에는 모두 레이블이 있어야 한다(분류가 되어 있어야 한다). 머신러닝 시스템에 물으려는 질문과 일치하는 특징에 대한 분류이다. 여기에 큰 노력이 필요하다.

보유 데이터가 모두 깨끗하고, 정리되어 있으며, 대표적인 표본이고, 쉽게 분류할 수 있다고 생각하지 말아야 한다.

오해 3 : 항상 많은 데이터가 필요하다
최근 이미지 인식, 머신 문장 독해, 언어 번역 등이 크게 발전을 했다. 더 나은 도구, 수많은 데이터를 병렬 처리할 수 있는 GPU 같은 컴퓨팅 하드웨어, 레이블이 있는(분류된) 수많은 데이터 세트(ImageNet과 Sandford Question Answering Dataset 등) 덕분이다. 그러나 전이 학습(Transfer Learning)이라는 기법 덕분에 많은 데이터 세트 없이도 특정 영역에서 좋은 결과를 얻을 수 있다. 다시 말해, 머신러닝 시스템에 하나의 대형 데이터 세트를 사용해 학습하는 방법을 가르친 후, 이런 학습 능력을 훨씬 작은 학습 데이터 세트로 이전하면 된다. 세일즈포스와 마이크로소프트 애저의 맞춤형 비전 API가 이런 식으로 작동한다. 예를 들어, 분류하기 원하는 30~50개의 이미지만 필요하다. 그래도 좋은 결과를 얻을 수 있다.

전이 학습은 훈련된 시스템을 맞춤화, 상대적으로 작은 데이터로 문제를 해결할 수 있도록 도와준다.


오해 4 : 누구나 머신러닝 시스템을 구축할 수 있다
머신러닝을 위한 오픈소스 도구와 프레임워크가 무수히 많다. 이를 활용하는 방법을 알려주는 교육 과정도 많다. 그러나 머신러닝은 여전히 전문 기법이다. 데이터를 준비하는 방법, 트레이닝과 테스트를 위해 구분하는 방법, 가장 좋은 알고리즘과 사용할 휴리스틱을 선택하는 방법, 신뢰도 높은 생산 환경의 시스템으로 바꾸는 방법을 알아야 한다. 또 계속 관련성 있는 결과가 나오도록 시스템을 모니터링 해야 한다. 시장이 변화하는지, 머신러닝 시스템이 여러 고객 세트를 제시할 수 있을 만큼 우수한지에 상관없이 모델이 계속 문제에 적합한지 확인해야 한다.

머신러닝을 올바르게 구현하기 위해서는 경험이 필요하다. 이제 막 시작했다면, 코드 내부에서 사전에 훈련된 모델을 호출할 수 있는 API를 찾거나, 데이터 과학과 머신러닝 전문가를 채용해 맞춤형 시스템을 구축하는 방법을 모색한다.
CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.

X