지난 2014년 개최된 브라질 월드컵의 우승팀을 유일하게 맞춘 이는 누구일까요? 사람도, 동물도 아닌, 바로 MS의 가상 비서 서비스인 '코타나'입니다. 국가별 우승 빈도와 피파 랭킹 등 데이터를 합쳐서 월드컵 우승팀 예측에 성공했는데요, 여기에는 바로 머신 러닝(Machine Learning)이라는 기술이 적용됐죠.

머신 러닝은 '컴퓨터를 학습시킬 수 있는가'라는 질문에서 시작했습니다. 인공지능이 인간과 같은 사고를 하는 컴퓨팅, 즉 사람처럼 행동하게 하는 그 모든 것을 총칭한다면, 머신 러닝은 데이터를 분석하여 숨겨진 특성, 즉 패턴을 발견해 학습 모델을 구축하는 기술입니다. 더 나아가 경험으로부터 습득한 지식을 기반으로 스스로 성능을 향상시키는 과학이라고 볼 수도 있습니다.

지금까지 IT 산업에서는 과거의 데이터를 이용해서 현재 상황을 설명하는 데 급급했습니다. 사람이 직접 실험으로 얻은 데이터를 대조해가며 숨겨진 패턴을 찾아야 했기 때문이죠. 그래서 “미래를 대비하여 이런 것을 미리 준비하는 것이 좋습니다”는 예측보다는, “과거에는 이런 일을 했습니다”라는 보고용 데이터를 만드는 데 그쳤습니다.

사실 많은 사람들이 알고자 하는 것은 바로 미래에 관한 예측 분석 보고서일 것입니다. 머신 러닝의 강점은 기계가 스스로 데이터에 숨겨진 속성을 찾아준다는 것입니다. 그래서 업무 방향성을 끌어나간다거나, 계약을 체결해야 할 비즈니스 결정자에게 머신 러닝은 유용한 기술이죠.

예를 들어, 소비자 3,000명의 상품 구매 정보를 갖고 있다고 가정해봅시다. 머신 러닝을 도입하면 사람이 하던 작업 속도보다도 빠르고 정확하게 '맥주를 구매한 사람이 기저귀도 함께 사는 경우가 많다'라는 결과를 얻을 수 있습니다. 이에 의사 결정권자는 맥주와 기저귀를 인접한 매대에 올려놓고 상품을 팔아서 수익을 더 많이 창출할 수 있겠죠.

한편, 머신 러닝과 유사한 딥 러닝이라는 용어가 있습니다. 딥러닝은 머신 러닝과 비교했을 때 메커니즘 측면에서 큰 차이가 없을 수는 있는데요, 딥러닝의 핵심 학습 방식은 바로 자율 학습(Unsupervised Learning)입니다.

보통 머신 러닝은 의미(레이블)을 부여한 훈련 데이터를 기반으로 다른 데이터를 파악하는 지도 학습(Supervised Learning)을 사용했습니다. 페이스북이나 맥의 아이포토에서 '이 사람이 영희다'라고 계속 입력해야 영희의 얼굴을 정확하게 인식할 수 있는 것이 바로 그 예죠.

그런데 비디오나 음성, 자연어 등 연속적인 데이터 스트림에서는 의미를 붙이기가 힘듭니다. 그래서 의미가 없는 데이터를 통해 기계가 스스로 결정하고 파악할 수 있는 자율 학습이 적합하다고 판단한 연구원들이 도전하는 분야가 바로 딥 러닝입니다.

그렇다면 왜 머신 러닝이 화두가 되고 있는 것일까요? 사실 머신 러닝이라는 개념은 1959년 논문을 통해 처음 언급됐을 정도로 그 역사는 깊습니다. 하지만 과거에 이 개념을 기술로 발전시키기에는 컴퓨팅 환경이 충분하지 않았죠. 다행히 최근 4~5년 사이 빅데이터라는 개념이 도입됨에 따라 수많은 데이터를 추출할 수 있는 기술이 발전했으며, 클라우드 컴퓨팅의 도입으로 컴퓨팅 인프라가 강화됐습니다. 이제 미래 예측이 필요한 그 모든 곳에서 머신 러닝을 활용할 수 있는 시대가 열린 셈이죠. editor@itworld.co.kr 

원문보기: 
http://www.itworld.co.kr/t/69500/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D/91546#csidx6202d1ee23addb89415599c5c2f0bd5 





머신 러닝이 데이터 깊숙이 묻혀 있는 패턴을 발견해준다는 점에서 애플리케이션의 성능을 높이고, 사용자의 수요에 더욱 민감하게 만들 수 있다는 잠재력이 있다. 제대로 고안한 알고리즘을 통해 인간의 사고와 분석적 한계를 뛰어넘어 엄청난 양의 이질적인 데이터로부터 가치를 뽑아낼 수 있다. 머신러닝은 개발자가 비즈니스에 필수적인 분석을 그 어떤 애플리케이션에도 적용하고, 고객 경험을 높이거나 제품 추천을 제공하고, 더욱 개인화된 콘텐츠를 제공하는 것까지 달성하게 해준다.

아마존과 마이크로소프트와 같은 클라우드 제공업체들은 개발자가 머신러닝을 손쉽게 통합할 수 있는 클라우드 기반의 솔루션을 제공함으로써 최근 화제를 불러일으켰다. 무엇인가 굉장해 보이기는 하나, 개발자들의 주의가 필요해 보인다.

클라우드 기반의 머신러닝 도구는 개발자가 머신러닝을 활용하여 참신한 기능을 구현할 수 있도록 한다. 하지만 이런 도구를 적절하게 활용하지 않으면 형편없는 결과로 사용자에게 좌절감을 줄 수 있다. 마이크로소프트의 나이 감지 머신러닝 도구를 시험해본 사람이라면 알겠지만, 사용 편의성이 뛰어난 만큼 중대한 정확도 문제가 대두한 바 있으며, 신뢰하거나 중요한 의사를 결정할 때 참조할 수 없는 경우도 많다.

머신 러닝을 자신의 애플리케이션에 도입하려는 개발자는 성공을 위한 일부 핵심 요소를 염두해야 한다.

1. 알고리즘의 데이터가 많으면 더욱 정확해진다. 따라서 가능하다면 부차 표본 추출은 피한다.

머신러닝 이론에는 예측 오차에 대한 매우 직관적인 특성이 있다. 쉽게 말해서 머신러닝 모델과 (이론상 최고의 오류를 달성하는) 최적 예측변수 사이의 예측 오차의 공백은 세 부분으로 분류할 수 있다.

1. 모델을 위한 적절한 기능적인 형태가 없기 때문에 발생하는 오차
2. 모델을 위한 최적의 파라미터가 없기 때문에 발생하는 오차
3. 모델에 충분한 데이터를 제공하지 않기 때문에 발생하는 오차

훈련 데이터가 제한된 경우 문제를 위해 필요한 모델 복잡성을 뒷받침하지 못할 수 있다. 통계의 기능적 법칙을 통해 우리는 가능하다면 부차 표본이 아닌, 우리가 가진 모든 데이터를 이용해야 한다.

2. 주어진 문제에 가장 적절한 머신러닝 학습법을 선택하는 것이 핵심이며, 이는 성공가 실패를 결정하기도 한다.
예를 들어, 정확도가 높은 GBT(Gradient Boosting Tree)는 업계 실무자들이 널리 활용하고 있는 인기 감독 학습 알고리즘이다. 하지만 그 높은 인기에도 불구하고 모든 문제를 위한 알고리즘으로써 맹목적으로 취급해서는 안 된다. 대신에 항상 가장 정확한 결과를 위해 데이터의 특성에 가장 적합한 알고리즘을 항상 사용해야 한다.

이 개념을 입증하기 위해 GBT와 선형 SVM(Support Vector Machine) 알고리즘 사이의 정확성을 인기 있는 텍스트 범주와 데이터세트 rcv1에서 비교하는 실험을 해봐도 된다. 실제로 실험해본 결과, 선형 SVM이 이 문제에 대한 오류율 측면에서 GBT보다 우월하다는 사실을 발견했다. 이는 텍스트 영역에서 데이터가 종종 고차원적이기 때문이다. 선형 분류자는 N개의 예시를 N-1 차원으로 완벽하게 분리할 수 있어, 단순한 모델은 이런 데이터에서 제대로 기능하게 된다. 게다가 모델이 간단할수록 한정된 수의 훈련 예제로 파라미터를 학습할 때 문제가 덜 발생하여 과적응을 방지하고 정확한 모델을 제공할 수 있다.

한편, GBT는 매우 선형적이며, 더욱 강력한 성능을 자랑하지만, 학습이 더 어렵고 이런 설정에서 과적응의 경향이 더욱 크다. 때로는 정확도가 떨어질 수도 있다.

3. 뛰어난 모델을 얻기 위해서는 방법과 그 방법에 관한 파라미터를 반드시 잘 선택해야 한다.
데이터가 공학자가 아닌 사람들에게는 간단하지 않을 수 있다. 현대의 머신러닝 알고리즘은 변경할 수 있는 부분이 많다. 예를 들어, 인기 있는 GBT 알고리즘 단독으로도 트리(Tree) 크기 제어 방법, 학습률, 행이나 열의 샘플 채취 방법론, 손실 함수, 조직화 옵션 등을 포함하여 최대 12개의 파라미터를 설정할 수 있다. 일반적으로 프로젝트에서는 각 파라미터에 대한 최적값을 찾아 주어진 데이터 세트에 대해 가장 높은 정확도를 얻어야 하는데, 그리 쉬운 일이 아니다. 직관과 경험이 도움되긴 하지만, 데이터 공학자는 최선의 결과를 위해 다수의 모델을 훈련하면서 교차 검증 점수를 파악하고, 다음에 시도할 파라미터를 결정하는 일을 고민해야 할 것이다.

4. 머신러닝 모델이 데이터와 마찬가지일 수도 있다. 부적절한 데이터 수집과 청소로 일반화가 가능한 예측 가능한 머신러닝 모델을 구축하는 능력이 저하될 수 있다.
주제와 관련된 전문가와 데이터를 신중하게 검토하여 데이터와 그 이면의 생성 프로세스에 대한 통찰력을 얻는 것이 좋다. 종종 이 과정으로 기록, 기능, 값, 샘플 채취 등과 관련된 데이터 품질 문제를 식별할 수 있다.

5. 데이터의 특징을 이해하고 (새로운 기능을 만들어내면서 기존의 것들을 없애) 향상시키면 예측 가능성을 높일 수 있다.
머신러닝의 기본적인 역할 중 하나는 머신러닝 알고리즘을 효과적으로 활용할 수 있는 풍부한 기능 공간에서 미가공 데이터를 표현하는 것이다. 예를 들어, 수학적 변화를 통해 기존의 기능을 토대로 새로운 기능을 개발하는 '기능 변화'는 이를 인기 있는 방법이다. 그 결과 기능 공간(즉, 데이터를 특징짓기 위해 사용하는 기능의 집합)은 (여러 기능들 사이의 비선형성과 상호작용 등) 데이터의 여러 복잡한 특성을 잘 잡아내며, 이는 다음 학습 프로세스에 중요하다.

6. 기업 가치에 부합하는 적절한 목적/손실 함수의 선택은 애플리케이션의 궁극적인 성공에 중요하다.
거의 모든 머신러닝 알고리즘이 최적화 문제로 표현되고 있다. 기업의 특성에 기초하여 최적화의 목적 함수를 적절히 설정하거나 조정하는 것이 머신러닝의 성공을 위한 핵심이다.

그 예로, SVM은 모든 유형의 오류의 가중치가 동등하다고 가정함으로써 바이너리 분류 문제에 대한 일반화의 오류를 최적화한다. 이는 고장 감지 등 특정 유형의 오류의 비용이 다른 것보다 더욱 중요할 수 있는 비용에 민감한 문제에 적합하지 않다. 이때, 가중치를 고려하기 위해 특정 유형의 오류에 더 많은 패널티를 더함으로써 SVM 손실 함수를 조정하는 것이 좋다.

7. 적절한 훈련 및 시험 데이터를 취급함으로써 모델을 제품에 배치할 때 시험 데이터를 유입되는 데이터처럼 보이도록 한다.
이 점이 시간에 의존하는 데이터일 경우 얼마나 중요한지 알 수 있다. 이때, 훈련, 조율, 시험 모델을 위해 표준 교차 검증 접근방식을 사용하면 잘못되거나 정확하지 않은 결과로 귀결될 수 있다. 그 이유는 배치 단계에서 유입되는 데이터의 특성을 적절히 모방하지 않기 때문이다. 이를 바로잡기 위해서는 배치 시 모델이 사용되는 방식을 반드시 모방해야 한다. 훈련한 모델을 시간의 측면에서 더욱 새로운 데이터에 대해 검증하는 시간 기준 교차 검증을 이용해야 한다.

8. 배치 전 모델의 일반화의 오류를 이해한다.
일반화의 오류는 모델이 보이지 않는 데이터를 얼마나 잘 처리하는지를 측정한다. 모델이 훈련 데이터를 잘 처리한다고 해서 반드시 보이지 않는 데이터에 잘 일반화되는 것은 아니다. 모델의 일반화의 오류를 예측하기 위해 실제 배치 용법을 모방한 신중하게 설계한 모델 평가 프로세스가 필요하다.

인지하지도 못한 채 교차 검증의 규칙을 위반하기 쉬우며, 교차 검증을 올바르지 않게 수행하는 방식이 명확하지 않아 연산을 위한 지름길을 이용하려 시도할 때 자주 발생한다. 배치 성능에 대한 과학적인 예측을 얻기 위해 모델을 배치하기 전에 적절하고 성실한 교차 검증에 주목하는 것이 중요하다.

9. 텍스트, 시계열, 공간, 그래프 데이터, 이미지 등의 비구조화 및 준구조화 데이터를 처리하는 방법을 파악한다.
대부분의 머신러닝 알고리즘은 각각 객체의 특성을 기술하는 일련의 기능으로 객체를 표현하는 기능 공간에서 데이터를 다룬다. 실제로 이런 형식으로 해당 세트에 도입되는 대신 데이터는 종종 미가공 형태로 유입되며, 머신러닝 알고리즘의 소비를 위해 반드시 바람직한 형태로 만들어야 한다. 예를 들어, 이로부터 다양한 특징을 추출하기 위해 다양한 컴퓨터 비전 기법을 사용하는 방법이나 텍스트를 특징짓기 위해 자연어 처리 기법을 적용하는 방법을 알아야 한다.

10. 기업 문제를 머신러닝 알고리즘으로 변화하는 문제를 학습한다.
사기 감지, 제품 추천, 표적 광고 등 기업에서 중요하게 여기는 일부 문제를 실제적으로 해결한 '표준' 머신러닝 공식이 있다. 이런 잘 알려진 문제뿐만 아니라, 덜 알려졌지만 예측 정확성이 더 높은 더욱 강력한 공식이 존재한다. 블로그와 포럼에서 일반적으로 논의하는 일련의 소규모 예시 외의 기업 문제의 경우 적절한 머신러닝 공식이 덜 명확하다.

개발자에게 있어서 이런 성공을 위한 10가지 핵심 요소를 학습하기가 것이 쉽지 않아 보일 수 있지만 낙담할 필요는 없다. 사실 개발자들은 데이터 공학자가 아니다. 개발자가 머신러닝이 제공하는 모든 도구를 활용할 수 있다고 생각하는 것 자체가 무리일 수 있다. 하지만 그렇다고 해서 개발자가 자신의 애플리케이션의 성능을 높이기 위해 일정 수준의 데이터 공학을 배우지 않아도 된다는 것은 아니다. 적절한 기업 솔루션과 향상된 자동화가 있으면 개발자는 높은 정확성을 보유한 머신러닝 모범 사례를 이용해 모델 구축부터 배치까지 모든 것을 할 수 있다.

자동화는 애플리케이션 내 머신러닝 확산의 핵심이다. 개발자와 밀접히 협력할 수 있는 소수의 데이터 공학자를 확보할 수 있다 하더라도 충분한 인력을 확보할 수는 없다. 스카이트리(Skytree)의 오토모델(AutoModel)의 사례가 모델 정확성 최대화를 위한 최적의 파라미터와 알고리즘을 자동으로 결정하는 데 도움이 될 수 있다. 사용이 간편한 인터페이스를 통해 개발자는 훈련, 조율, 시험 모델의 과정을 거치면서 통계적 실수를 방지할 수 있다.

머신러닝 프로세스 내의 자동화는 여러 측면에서 데이터 공학자나 개발자를 위해 인공지능의 원리를 통합하고, 알고리즘이 생각하고 학습하는 모델 구축 작업의 부담을 크게 덜어줄 수 있다. 즉, 데이터 공학자를 머신러닝과 분리하여 생각할 수 있다는 생각이 실수이며, 특히 업무에 필수적인 모델의 경우에는 더욱 그렇다. 기초 기술의 정확함, 정교함, 확장성 등에 대한 생각 없이 적용할 수 있는 간편한 머신러닝 기능의 가능성을 인지하자. 이를 통해 높은 예측 정확성과 머신러닝이 제공해야 하는 이로 인한 높은 비즈니스적 가치를 얻을 수 있다. 게다가 애플리케이션에서 형편없는 모델을 제공하면 실제로 역효과를 낳고 사용자들 사이에서 제품이나 서비스에 대한 불신이 신속하게 쌓일 수 있다. editor@itworld.co.kr 

원문보기: 
http://www.itworld.co.kr/news/94517?page=0,1#csidx620e9bed4447bedb465e0344a220834 






최근 구글의 머신러닝 기반의 인공지능 바둑 알고리듬인 알파고(AlphaGo)와 이세돌 9단과 바둑 대결이 학계와 IT업계는 물론, 일반인들에게도 큰 관심을 끌고 있다.

구글의 모기업인 알파벳(Alphabet)과 바둑(Go)의 합성어인 '알파고'는 딥마인드의 머신러닝과 시스템 신경과학 분야의 기술을 활용해 고전 전략 게임인 바둑에서 프로 바둑 기사를 이길 수 있도록 설계된 인공지능 프로그램이다.

바둑은 인간이 즐기는 경기 가운데 가장 많은 경우의 수를 갖고 있는 굉장히 복잡한 게임으로 컴퓨터가 프로 기사를 이기는 것은 아주 오랜 시간이 걸릴 것으로 예상되어 왔다. 그러나 알파고 팀은 유럽 바둑 챔피언인 판후이를 런던 사무실로 초청해 경기를 진행했는데, 알파고가 판후이를 5대 0으로 이겨 프로 기사를 이긴 최초의 프로그램이 되었다. 2016년 3월, 알파고는 서울에서 이세돌 9단과 경기를 진행할 예정이다.

2014년 1월, 구글은 영국 런던의 인공지능업체인 딥마인드(DeepMind)를 인수했는데, 이 인수전에는 IBM, 페이스북 등이 참여했었다.

구글, 이번엔 인공지능 업체 인수 … 대용량 데이터 분석 알고리듬 강화
구글 딥마인드, 게임법을 스스로 터득하는 'DQN' 개발

머신러닝(Machine Learning)이란 알고리즘을 기반으로 컴퓨터를 학습시킴으로써 방대한 데이터를 분석해 그 결과를 예측하는 것을 말한다. 직역하면 기계학습이라고 부르는 이 기술은 인공지능(Artificial Intelligence)의 한분야로 빅데이터 핵심 기술로 각광받고 있다.

ITWorld 용어풀이 | 머신 러닝(Machine Learning)
“기계에 지능을 더하는” 머신러닝의 이해 - IDG Tech Report 

머신러닝은 데이터를 수집, 분석해 미래를 예측한다는 목적은 여타 빅데이터 분석과 유사하지만 컴퓨터 스스로가 방대한 데이터를 수집, 학습할 수 있다는 점에서 차이를 두고 있다.
또한 인공지능에서 빠질 수 없이 거론되는 딥 러닝(Deep learning)은 머신러닝 기법 가운데 하나로, 머신러닝의 가장 어려운 문제를 해결할 잠재력을 지닌 지도 러닝(supervised learning) 기술이다.

머신러닝 입문 가이드 - IDG Deep Dive 

머신러닝의 기술적인 토대가 만들어진 시기는 50여 년 전이지만 얼마 전까지만 해도 학계를 벗어나면 머신러닝의 인지도는 미미했다. 머신러닝에는 막대한 컴퓨팅 자원이 필요한데, 이를 비용 효율적으로 사용할 수 있는 인프라를 갖추기 어려웠기 때문이다.

최근 머신러닝에 대한 관심과 활동이 폭증한 이유는 다음과 같다.
- 무어의 법칙(Moore's Law)으로 컴퓨팅 비용이 급격히 낮아져 지금은 최소한의 비용으로 강력한 컴퓨팅 성능을 폭넓게 이용할 수 있다.
- 새롭고 혁신적인 알고리즘이 더욱 빠른 결과를 제공한다.
- 데이터 과학자들이 머신러닝을 효과적으로 적용하기 위한 이론과 실무 지식을 축적했다.

무엇보다 빅데이터가 대대적으로 도입되면서 일반적인 통계 기술로는 해결이 불가능한 분석 문제가 발생했다. '필요가 곧 발명을 낳는다'는 말이 있듯 기존 통계 분석 방법으로 풀 수 없는 비즈니스 과제들이 발생해 새로운 빅데이터 분석기술이 필요하게 된 것이다.

“머신러닝이 다시금 주목을 받을 수 있었던 이유는...” 서울대 노영균 교수

머신러닝이 현재 부상하는 기술이라고 하지만 실제 적용된 사례는 이미 상당히 많다. 사기 방지, 타겟팅 디지털 디스플레이, 콘텐츠 추천, 자동차 품질 개선, 유망 잠재 고객에 집중, 미디어 최적화, 의료보건 서비스 개선 등 전 산업군에 걸쳐 활용되고 있다.

머신러닝, 소프트웨어 버그 수정에 탁월…10배 성능과 파급 효과 기대 : MIT

이런 무궁무진한 가능성으로 인해 구글, 야후, 네이버, 카카오 등 초대형 데이터를 다루는 업체뿐만 아니라 IBM, 마이크로소프트, SAS, 스플렁크와 같은 빅데이터 솔루션 업체들도 머신러닝 전문업체들을 인수하는 등 대규모 투자를 아끼지 않고 있다.

IBM, 스파크 기반의 머신 러닝 서비스 예정…블루믹스와 통합
MS, 데이터 예측 분석 서비스 ‘애저 머신 러닝’ 국내 출시
스플렁크, '스플렁크라이브!' 개최...신제품 대거 출시
“SAS코리아, 국내 BI 및 고급 분석 툴 소프트웨어 시장 선도”...한국 IDC

현재 머신러닝 분야에서 빠른 행보를 하는 업체는 단연 구글이다. 머신러닝을 위시한 인공지능에 사활을 걸고 있는 구글은 관련 기술에 집중 투자를 하면서 세간의 이목을 집중시키고 있다.

구글 CEO 피차이는 "머신러닝과 인공지능에 대한 구글의 투자는 최우선순위 사업"이라며 "머신러닝과 인공지능을 검색, 광고, 유튜브, 구글 플레이 등 모든 제품에 적용하고 있다. 아직 초기 단계지만, 곧 조직적인 구글의 인공지능 사업이 윤곽을 드러낼 것이다. 모든 분야에 머신러닝이 적용되는 세상을 상상해 보라"고 강조했다.

‘머신러닝의 중요성 강조한’ 구글 알파벳의 첫 실적 발표
구글 인박스, 머신러닝으로 이메일 답장 속도 높인다
구글, “머신러닝으로 스팸 메일 잡는다”…지메일 관리 도구 포스트마스터 개발

특히 구글은 2015년 11월 앱의 지능 향상을 목표로 하는 머신러닝 프로젝트인 텐서플로우(TensorFlow)를 오픈소스로 공개했다. 텐서플로우는 스마트폰과 데이터센터의 수천만 대 컴퓨터에서 모두 실행할 수 있는 구글의 차세대 내부 머신러닝 시스템이다.

구글, 오픈소스 툴 ‘텐서플로우’공개… 머신러닝 기술 외부로 오픈한다
구글의 텐서플로우 공개가 중요한 4가지 이유

구글이 이를 오픈소스화함으로써 머신러닝 기술은 오픈소스라는 새로운 발전 동력원이 생겼다.  구글이 텐서플로우를 오픈소스로 공개한 지 며칠이 지나지 않아 마이크로소프트도 DMLT(Distributed Machine Learning Toolkit)이라는 자체 머신러닝 프로젝트를 오픈소스로 공개, 배포했다.

MS, 머신러닝 오픈소스 툴킷 DMLT 공개

이어 야후는 머신러닝 과학자들을 대상으로 지금까지 중 가장 큰 데이터 집합을 공개했다. 공개된 데이터는 사용자가 뉴스를 클릭한 시간, 뉴스 피드를 본 후의 활동 등을 담은 총 1,100억 건의 기록이며, 용량은 13.5TB, 또는 압축해서 1.5TB다. 야후는 지난 번 공개된 데이터 집합보다 약 10배 더 큰 규모라고 밝혔다. 야후는 지난 해에도 마케팅 업체 크리테오(Criteo)를 통해 1TB 용량에 40억 건의 데이터를 공개한 바 있다.

야후는 "데이터는 머신러닝 연구의 생명선과 같다"며, "그러나 진정한 대규모 데이터 집합에 접근하는 것은 대형 업체 소속의 머신러닝 연구자, 데이터 과학자에게만 허락된 특권이었고, 학계 연구자에게는 매우 어려웠다"고 데이터 공개 목적을 밝혔다.

"관대한 야후", 1,100억 건 사용자 행동 데이터 머신러닝 연구용으로 공개

그러나 현재 밝혀진 머신러닝 기술 속에는 상당한 거품이 존재한다는 시각도 있다. 가트너는 2015년 주목해야 할 미래 기술 분야로 머신러닝을 선정한 바 있다. 하지만, 2015년 신기술 하이프 사이클에서는 빅데이터를 대신해 최정점에 위치하면서 허황된 기대가 가장 극심한 수준인 5개 기술 가운데 하나로 지목했다.


출처. 가트너 2015

글로벌 칼럼 | 머신러닝과 달콤한 가짜 약

머신러닝 전문가들은 이런 주장을 일축한다. 현재 머신러닝은 과대포장된 것이 아니라 오히려 과소평가를 받고 있다는 것이다.

하버드 대학 정량사회과학(Quantitative Social Science) 연구소 책임자 개리 킹은 "머신러닝은 결코 헛된 망상이 아니지만 그렇다고 무슨 일이든 척척 해낸다는 의미는 아니다"며, "지금은 머신러닝이 효과를 제대로 발휘하지 못하는 분야가 있으며, 머신러닝을 사용해 좋은 결과를 얻지 못하는 경우도 많지만 이를 이끄는 것이 숙련된 인력"이라고 설명했다.

머신러닝이 데이터 깊숙이 묻혀 있는 패턴을 발견해준다는 점에서 애플리케이션의 성능을 높이고, 사용자의 수요에 더욱 민감하게 만들 수 있다는 잠재력이 있다. 제대로 고안한 알고리즘을 통해 인간의 사고와 분석적 한계를 뛰어넘어 엄청난 양의 이질적인 데이터로부터 가치를 뽑아낼 수 있다는 것이다.

머신러닝은 개발자가 비즈니스에 필수적인 분석을 그 어떤 애플리케이션에도 적용하고, 고객 경험을 높이거나 제품 추천을 제공하고, 더욱 개인화된 콘텐츠를 제공하는 것까지 달성하게 해준다.

아마존과 마이크로소프트와 같은 클라우드 제공업체들은 개발자가 머신러닝을 손쉽게 통합할 수 있는 클라우드 기반의 솔루션을 제공함으로써 최근 화제를 불러일으켰다. 무엇인가 굉장해 보이기는 하나, 개발자들의 주의가 필요해 보인다.

클라우드 기반의 머신러닝 도구는 개발자가 머신러닝을 활용하여 참신한 기능을 구현할 수 있도록 한다. 하지만 이런 도구를 적절하게 활용하지 않으면 형편없는 결과로 사용자에게 좌절감을 줄 수 있다.

마이크로소프트의 나이 감지 머신러닝 도구를 시험해본 사람이라면 알겠지만, 사용 편의성이 뛰어난 만큼 중대한 정확도 문제가 대두한 바 있으며, 신뢰하거나 중요한 의사를 결정할 때 참조할 수 없는 경우도 많다.

머신러닝을 자신의 애플리케이션에 도입하려는 개발자는 성공을 위한 일부 핵심 요소를 염두해야 한다. 결국 머신러닝 기술 또한 무조건 도입한다고 효과를 얻을 수 있는 만능의 비약이 아니라 관련 데이터를 수집, 분석해 미래를 예측하는 도구에 불과하다는 점을 인지해야 한다. editor@itworld.co.kr

원문보기: 
http://www.itworld.co.kr/t/65210/bi%20%7C%20%EB%B6%84%EC%84%9D/97824#csidx74f0705c0b9b352ab2dd23afcee9b0a 



오래 전인 1950년대 중반, 로버트 하인라인은 유능한 기계 엔지니어가 패턴 매칭 메모리와 “판단을 추가하기 위한” 몇 가지 측면 회로를 만들기 위해 “토르센 튜브(Thorsen Tubes)”를 연결한다는 “여름으로 가는 문”이란 제목의 작품을 썼으며 지능형 로봇이라는 하나의 산업 분야를 창조해냈다. 그는 이야기를 좀 더 그럴듯하게 만들기 위해, 미래를 잘 설정해 놓았다. 1970년이라는 미래다. 이 로봇들은 시연된 접시 닦기 같은 임무를 완벽하게 복제했다.

굳이 말할 필요는 없겠지만, 20년 후 현실은 그렇게 되지 않았다. 1956년에는 타당한 것처럼 보였지만, 1969년이 되자 1970년에는 로봇이라는 미래가 오지 않으리라는 것이 확실해졌다. 그리고 얼마 뒤인 1980년이나 1990년 또는 2000년이 되어도 그런 미래가 오지 않으리라는 것이 확실해졌다. 10년마다, 평범한 엔지니어가 인공 지능(Artificial Intelligence) 머신을 구축할 능력이 최소한 지나간 시간만큼이나 빠르게 후퇴하는 것처럼 보인다. 기술이 진보함에 따라, 어려운 사항들이 한 꺼풀씩 드러남에 따라, 이 문제가 엄청나게 어려운 문제라는 점이 더욱 명확해지고 있다.

머신 러닝이 중요한 문제들을 해결하지 않고 있었다는 것이 아니다, 해결하고 있었다. 예를 들면, 90년대 중반에도 모든 신용 카드 거래가 금융사기 여부를 판단하기 위해 신경망을 이용해서 스캔되고 있었다. 90년대 후반 구글은 검색을 개선하기 위해 웹에서 고급 신호를 분석하고 있었다. 그렇지만 일반적인 엔지니어는 박사학위를 받기 위해 학교로 돌아가거나 똑같은 일을 할 수 있는 생각이 비슷한 친구를 여럿 찾기 전에는 그런 시스템을 구축할 수 있는 기회를 얻지 못했다. 머신 러닝은 어려웠으며, 각각의 새로운 영역은 많은 신기원을 필요로 했다. 최고의 연구원들조차도 현실 세계에서는 이미지 인식 같은 어려운 문제를 깰 수 없었다.

비로소 상황이 극적으로 바뀌었다고 말할 수 있어서 기쁘다. 우리 중 누구도 가까운 장래에 하인라인 스타일의, 마술처럼 자동으로 이루어지는, 전부가 로봇인 엔지니어링 회사가 등장할 것이라고 생각하지는 않지만, 이제는 별다른 고급 교육을 받지 않고도 소프트웨어 엔지니어가 정말로 멋진 일들을 해내는 시스템을 만들 수 있다. 놀라운 부분은 컴퓨터가 이런 일들을 할 수 있다는 것이 아니다. (이 사실은 1956년 이래로 언제든지 가능할 것으로 알려져 있었다!) 놀라운 점은 지난 10년간 우리 인간이 얼마나 발전했는가 하는 것이다. 10년 전에는 정말로 훌륭한 박사학위 논문이었을 주제가 이제는 주말 동안 할 수 있는 가볍고 멋진 프로젝트가 된 것이다.

머신 러닝은 더욱 쉽고 액세스하기 편한 주제가 되었다
곧 발간될 “머신 러닝 실행 계획(Machine Learning Logistics)”(오라일리(O’Reilly)에서 2017년 9월 말에 발간 예정)이라는 책에서, 엘렌 프리드먼과 필자는 친구이자 소프트웨어 엔지니어인 이안 다우나드가 심심풀이 홈 프로젝트로 구축한 텐서치킨(TensorChicken)이라는 시스템을 설명한다. 해결할 문제는 커다란 어치 새가 친구의 닭장 안으로 들어와서 달걀을 쪼아댄다는 것이다. 친구는 큰 어치새를 인식하는 컴퓨터 비전 시스템을 구축해서 쪼아대는 것을 막기 위한 어떤 조치가 취해질 수 있기를 원했다.

텐서플로우 팀 소속 구글 엔지니어의 딥 러닝 프레젠테이션을 본 뒤, 이안은 서둘러 일에 착수해서 바로 그 시스템을 구축했다. 그는 인셉션-v3(Inception-v3)라 알려진 부분 모델을 가지고 시작해서 자신의 닭장에 있는 웹캠이 찍은 수천 장의 새로운 이미지로 큰 어치새 발견이란 임무에 맞춰 교육을 실시했다. 결과물을 라스베리 파이에 배포할 수도 있었지만, 현실적으로 효과를 낼 수 있는 빠른 반응 시간을 확보하려면 인텔 코어 i7 프로세서 같은 좀 더 강력한 것을 필요로 했다.

그리고 이안은 혼자가 아니다. 데이터 과학자로 훈련되지 않은 사람이 다수였지만, 오만 가지 일을 하는 멋진 봇을 구축하는 많은 사람들이 주변에 있다. 그리고 머신 러닝 그리고 심지어는 딥 러닝까지 더욱 액세스하기 쉬워지면서, 점점 더 많은 수의 개발자들이 여러 가지 상이하고 깊이 있는 머신 러닝 프로젝트에서 작업하기 시작했다. 개발자들은 “데이터 옵스(Data Ops)” 스타일의 작업에서 데이터 엔지니어로 역할을 채워가기 시작하고 있으며, 이런 환경에서는 머신 러닝 시스템을 구축하기 위해 데이터 중심적인 기술들(데이터 엔지니어링, 아키텍트, 데이터 과학자)이 데브옵스 접근방식과 결합된다.

이미지 인식 모델을 사용해, 큰 어치새를 알아채도록 컴퓨터를 교육하는 과정이 아주 쉬워졌다는 점이 인상적이다. 많은 경우, 보통 사람들은 앉아서 단순히 이 프로젝트뿐 아니라 훨씬 더 많은 것을 할 수 있게 되었다. 필요한 것이라곤 유용한 기법들에 대한 몇 가지 조언뿐이고, 특히 중요한 것은 소프트웨어 개발자의 경우 마음 상태를 약간 리셋하는 것이다.

모델을 구축한다는 것은 설계 주도가 아니라 데이터 주도적이라는 면에서 일반적인 소프트웨어를 구축하는 것과 다르다. 시스템을 실증적 관점에서 봐야 하며 단위 시험과 통합 시험이 수반되는 훌륭한 설계의 조심스러운 구현보다는 기능의 실험적 증거에 생각보다 조금 더 많이 의지해야만 한다. 문제 영역이 쉬워지면 머신 러닝도 놀라울 정도로 쉬워진다는 것도 명심하라. 그렇지만, 바로 그 옆에 여전히 어렵고 더욱 복잡한 데이터 과학기술을 절실하게 필요로 하는 문제들이 있다. 시험하라. 문제가 쉬운 범주 또는, 최소한 그다지 최첨단 범주에 속해있지 않다는 것을 거듭 확인하기 전에는 절대 확신하지 말라. 처음으로 동작하는 것처럼 보인다고 확신하지 말라. 다른 훌륭한 데이터 과학자들처럼, 결과가 좋아보인다면 더더욱 의심하라.

머신 러닝 초보자들을 위한 필수 데이터 기술
이제부터는 머신 러닝을 효과적으로 사용하기 위해 개발자에게 필요한 몇 가지 기술과 요령을 설명한다.

데이터가 말하게 하라
훌륭한 소프트웨어 엔지니어링에서, 개발자는 종종 설계를 도출해내고, 소프트웨어를 작성하며, 솔루션의 정확성을 직접적으로 그리고 독립적으로 검증한다. 몇몇 경우에는, 소프트웨어가 정확하다는 것을 수학적으로 입증할 수도 있다. 현실은 특히, 인간이 관련되어 있을 때 조금은 제멋대로이지만, 좋은 설계도를 가지고 있다면 정확한 솔루션을 구현할 수 있다.

일반적으로 머신 러닝에서는 개발자가 엄격한 설계도를 가지고 있지 않다. 어떤 시스템에 대해 과거의 경험을 대표하는 데이터를 가지고 있고, 미래에 작동할 시스템을 구축해야만 한다. 시스템이 정말로 동작할 수 있는지를 판단하기 위해서는, 현실적인 상황에서 성능을 측정해야만 한다. 이렇게 데이터 주도적이고, 설계 명세서가 취약한 스타일의 개발로 전환하는 것이 어려울 수 있지만, 머신 러닝을 내부에 탑재한 시스템을 구축하고 싶다면 이것은 중요한 단계이다.

더 나은 모델을 알아보는 능력을 키워라
두 개의 숫자를 비교하는 것은 쉽다. 두 숫자 모두 올바른 것이라고 가정하면(NaN(Not a Number)이 아니라면), 어느 것이 더 큰지를 확인하면, 그것으로 끝이다. 그렇지만, 머신 러닝 모델의 정확도에 대해서는 그렇게 간단하지가 않다. 비교 모델에 대한 결과가 많으며, 대개는 깔끔하게 떨어지는 정답이 없다. 머신 러닝 시스템 구축에 있어서 가장 기본 기술이라 할 수 있는 것은 두 가지 모델이 행한 의사결정 이력을 보고 어떤 모델이 현 상황에 더 적합한지를 결정하는 능력이다. 이런 판단은 단일 값보다는 전체 값들의 집합을 갖는 값에 대해서 생각하기 위한 기본적인 기법을 필요로 한다. 일반적으로, 데이터를 잘 가시화하는 능력도 필요로 한다. 히스토그램과 산포도 그리고 많은 관련 기법들이 요구된다.

본인의 결론을 의심하라
시스템의 어떤 변형이 더 나은 작업을 할 수 있을지를 판단하기 위한 능력과 함께, 본인의 결론을 의심하는 것도 정말로 중요하다. 이 결과는 더 많은 데이터가 추가되면 다른 방향으로 흘러갈 수 있는 통계적 우연인가? 평가 이후 세상이 바뀌었는가, 그래서 어느 세상이 더 나아졌는가? 머신 러닝을 내장한 시스템을 구축한다는 것은 애초에 하고자 했던 것을 여전히 하고 있는지를 확인하기 위해 시스템에서 눈을 떼지 말아야 한다는 것을 의미한다. 변화하는 세상에서 퍼지 비교(Fuzzy Comparison)를 처리할 때는 이런 의심 많은 성격이 필요하다.

여러 가지 모델을 구축하고, 다시 내던져버려라
단지 버리기 위해서 한 가지 버전의 시스템을 구축하라는 것은 소프트웨어 개발에서 잘 알려진 격언이다. 동작하는 시스템을 실제로 구축하기 전까지는, 해당 시스템을 잘 구축할 수 있을 정도로 문제를 제대로 이해할 수 없을 거라는 의미이다. 학습을 위해서는 하나의 시스템을 구축하고 그 다음에는 실제 시스템을 설계하고 구축하기 위해 배운 것을 활용해야 한다.

머신 러닝에서도 상황은 똑같지만, 이 격언이 더욱 어울린다. 단 하나의 일회용 시스템을 구축하기보다는, 수십 또는 수백 가지의 변형을 구축할 각오를 해야만 한다. 이런 변형 중 일부는 상이한 학습 기술을 사용하거나 러닝 엔진을 위해 상이한 설정만을 사용하는 것일 수도 있다. 다른 변형은 문제나 모델을 훈련할 때 사용하는 데이터를 완전히 다르게 재해석하는 일일 수 있다. 예를 들면, 어떤 신호가 예측하려는 대상은 아닐지라도 모델을 훈련하기 위해 사용할 수 있는 대리 신호(Surrogate Signal)라고 판단할 수도 있다. 이런 결정을 내리면, 훈련에 사용할 수 있는 데이터를 10배 더 많이 제공할 수도 있다. 혹은 해결하기에 더 쉬운 방식으로 문제를 재해석할 수도 있다.

세상은 바뀔 수도 있다. 예를 들면, 사기를 잡아내기 위해 모델을 구축하고 있는 경우라면, 더더욱 그렇다. 성공적인 시스템을 구축했더라도, 미래에는 바꿀 필요가 있을 것이다. 사기꾼들이 대응책을 알아낼 것이고, 그들은 행태를 바꿀 것이다. 그러면 새로운 대응책으로 대답해야만 할 것이다.

성공적인 머신 러닝을 위해, 버리기 위한 모델을 많이 구축할 계획을 하라. 영원히 정답으로 남아있는 유일한 정답 모델을 찾기를 바라지 말라.

판을 바꾸는 것을 두려워하지 말라
머신 러닝을 사용해서 해결하려는 첫 번째 질문은 대개는 올바른 것이 아니다. 흔히 아주 잘못된 질문이다. 잘못된 질문을 한 결과는 거의 훈련하기 불가능한 모델이거나, 혹은 수집하기 불가능한 훈련 데이터일 수 있다. 아니면, 최고의 답을 찾은 모델이지만 그다지 가치가 없는 경우일 수 있다.

문제 재구성은 때로 구축하기 아주 간단한 모델이 아주 높은 가치를 제공하는 상황을 제시할 수 있다. 예전에 필자는 판매 항목에 대한 권고를 해야 하는 문제가 있었다. 아주 강력한 기법을 여러 개 사용해도 아주 작은 결과조차 얻을 수 없었다. 결과적으로, 높은 가치의 문제는 좋은 항목들이 판매된 시점을 결정하는 것이었다. 일단 시점을 알고 나면, 권고할 제품이 많았기 때문에 어떤 제품을 권고할 것인가라는 문제는 사소한 것이 되었다. 잘못된 시기에는 권고할 만한 제품이 전혀 없었다. 질문을 바꾸자 문제가 엄청나게 쉬워졌다.

작게 시작하라
단 몇 가지의 사례나 단일 하부 문제로만 국한된 초기 시스템을 배포할 수 있는 것이 매우 중요하다. 이는 노력을 집중하고 문제 영역에 대한 전문성을 얻고, 모델을 구축해 가면서 회사에서 지원을 받을 수 있게 해준다.

크게 시작하라
충분한 훈련 데이터를 확보하고 있는지 확인하라. 실제로, 할 수만 있다면, 필요하다고 생각한 것보다 10배 많은 데이터를 반드시 확보하라.

도메인 지식은 여전히 중요하다
머신 러닝에서, 모델이 어떻게 의사결정 또는 예측을 할 수 있는지를 이해하는 것도 한 가지 방편이 된다. 정말 중요한 질문이 무엇인지를 알아내는 것이 훨씬 더 중요하다. 그런 의미에서, 이미 많은 도메인 지식을 가지고 있다면, 적절한 질문을 하고 머신 러닝을 실행 가능한 제품에 포함할 가능성이 훨씬 더 크다. 도메인 지식은 판단 감각을 추가할 부분과 그 가능성이 타당하게 추가될 부분을 찾아내는 데 극히 중요하다.

코딩 기술은 여전히 중요하다
끌어 놓기(Drag-and-Drop) 작업만으로 머신 러닝 모델을 구축할 수 있게 해준다고 주장하고 있는 여러 가지 도구가 있다. 실상은, 머신 러닝 시스템 구축에 있어서 대부분의 작업은 머신 러닝이나 모델과 전혀 관계가 없으며 훈련 데이터 수집, 모델의 출력물을 사용하기 위한 시스템 구축과 관련되어 있다. 이는 훌륭한 코딩 기술을 엄청나게 값지게 만든다. 데이터 조작을 위해 작성되는 코드에는 다른 가치가 있지만, 배우기는 어렵지 않다. 개발자의 기본적인 기술은 수많은 다양한 머신 러닝 분야에서도 유용한 것으로 판명되었다.

이제는 실질적으로 모든 소프트웨어 엔지니어들이 머신 러닝을 활용해서 놀라운 일을 할 수 있는 시스템을 구축할 수 있는 도구와 새로운 기법을 더 쉽게 사용할 수 있게 되었다. 이런 시스템을 구축하는 데는 기본적인 소프트웨어 엔지니어링 기술이 매우 중요하지만, 데이터에 조금 더 초점을 맞추면서 보완해야 한다. 새로운 기술을 습득하기 위한 최고의 방법은 바로 지금부터 재미있는 것을 구축하기 시작하는 것이다.

*이 글을 쓴 테드 더닝은 맵알 테크놀로지(MapR Technologies)의 수석 애플리케이션 설계자이자 아파치 소프트웨어 재단 이사회 소속이다. 또, PMC 회원이며 아파치 Mahout, 아파치 주키퍼, 아파치 드릴 프로젝트의 공여자이자 다양한 인큐베이터 프로젝트의 멘토로 활동하고 있다. 더닝은 야후 뮤직, 베오(Veoh) 추천 시스템의 수석 설계자이며 ID 애널리틱스(LifeLock)용 사기 탐지 시스템을 구축했다. 또, 머신 러닝과 빅데이터를 주제로 여러 권의 책을 공동 집필한 데이터 전문가로 활동하고 있다. editor@itworld.co.kr 

원문보기: 
http://www.itworld.co.kr/news/106425#csidxda24dcd81fef82e84c57e470b763ec8 



우버(Uber)에는 다른 기업에서 보기 힘든 이색 조직이 있다. 모바일 앱 개발자, 지도 전문가, 자율주행팀으로 구성된 팀에 사전 패키지화된 머신러닝 알고리즘을 ‘서비스형'으로 제공하는 팀이 있다.



우버의 머신러닝 책임자 대니 레인지는 자신이 AWS에서 근무하는 동안 개발한 구조를 우버에 적용했다. 그는 AWS에서 내부 머신러닝(Machine Learning) 플랫폼을 관리하며 AWS용 AML(Amazon Machine Learning) 개발 업무에 참여했던 이력을 보유한 인물이다. 

컴퓨터월드 UK(Computerworld UK)와의 인터뷰에서 레인지는 “우리 사업의 모든 부분을 더욱 스마트하게 하고 더 나은 사용자 경험을 제공하기 위한 시도로, 머신러닝 서비스 팀을 운영하고 있다. 이러한 목표 달성하기 위해 머신러닝을 하나의 인프라로 제공하는 팀을 운영한다. 우버의 비즈니스에는 이동하는 운전자와 탑승객, 운전자를 위한 지도 개선, 자율주행 자동차 등 3가지 핵심 영역이 있다”라고 말했다.

서비스형 머신러닝
레인지는 자신의 팀이 개발팀에 머신러닝 기능을 제공하는 방식이 다른 컴퓨팅 자원을 제공하는 방식과 비슷하다고 말했다.

“머신러닝은 예전부터 있어왔지만 소프트웨어 엔지니어가 쉽게 얻기 힘든 대상이었다 그래서 우리는 기업 내에서 서비스형 머신러닝을 클라우드 서비스로 구축했다”라고 그가 설명했다.

실제로 이는 웹 인터페이스나 모듈처럼 나타난다. API를 통하거나 프로그램에 따라 통합할 수 있도록 일련의 스톡 알고리즘이 개발자들에게 제공되게 된다.

레인지는 “개발자들이 이용할 수 있는 일련의 조정된 알고리즘이다. 그리고 그들은 자신의 데이터와 애플리케이션 또는 서비스를 이용해 고객 습관 또는 트래픽 혼잡에 대해 예측할 수 있는 모델을 구축한다”라고 말했다.

가령 지도 제작과 자율주행의 경우 레인지와 그의 팀은 ‘전통적인 머신러닝’ 알고리즘을 벗어나 컴퓨터 비전과 딥러닝(Deep Learning) 기법으로 진보할 수 있도록 시도하고 있다.

우버에서의 머신러닝 애플리케이션
우버는 이번 달 머신러닝 기법을 이용해 자사의 핵심 탑승객 앱의 개인화를 강화했다. 이 새로운 앱은 우선 습관과 현재 위치에 기초한 여러 예측을 포함하여 목적지를 묻는다. 예를 들어, 사무실에 있는 경우 앱은 탑승객이 집 또는 체육관 또는 술집에 가고 싶어할 것으로 가정하게 된다.

또한 우버는 그들의 이동 이력 데이터 위에 적용된 머신러닝 알고리즘도 이용하여 ETA(Estimated Time of Arrival) 정보를 더욱 정확하게 하고 계정 트래픽 패턴을 고려한다. 레인지는 이미 더 많은 데이터와 알고리즘을 우버 이츠(Uber Eats) 식품배달 사업부에 적용하여 예측 배달 시간을 크게 개선했다. 그는 “정확도가 26%나 증가했다”라고 전했다.

또한 우버는 양호한 탑승 위치에 관해 ‘학습’할 수 있도록 20억 개의 이동 로그에서 얻은 데이터를 활용하고 있다. 레인지는 이렇게 설명했다.

“우리는 데이터를 꼼꼼하게 추려내고 우리가 고객을 탑승시키는데 문제가 가장 적은 곳을 파악하는 머신러닝 알고리즘이 있다. 탑승 마찰을 통해 학습한다. 따라서 차량 도착부터 개인의 이동 시작까지 소요되는 시간을 측정할 수 있다.” ciokr@idg.co.kr

원문보기: 
http://www.ciokorea.com/news/35582#csidx7cb1907ab27414bac279e3a6ad1fe3e 



인공지능 및 머신러닝 기술이 비즈니스 판도를 바꾸는 솔루션들을 낳아가고 있다. 여기 CIO를 비롯한 IT 의사결정자들이 성공적인 머신러닝 전략을 수립해 출범하고 유지하는 과정에서 필요한 팁들을 정리했다.

“앞서가는 사고를 하는 CIO인가를 판단하는 기준으로 머신러닝(Machine learning, ML)이 떠오르고 있다. 제품 개발 및 비즈니스 운영 과정에서 ML을 도입하지 못하는 기업들은 재빠르게 움직인 경쟁 기업들에게 뒤쳐질 각오를 해야 한다.”

RELX 그룹의 과학 및 건강 정보 유닛인 엘스비어(Elsevier) CTO인 댄 올리가 내린 결론이다. 그 또한 몇 년 전부터 ML 기술의 도입을 추진해왔다.

“나는 우리가 머신러닝 기술의 티핑 포인트에 도달했다고 믿는다. 그리고 머신러닝은 향후 십 수년간 우리가 디지털 세계와 상호작용 하는 방식을 완전히 바꾸어 놓을 것이다. 우리의 의사 결정은 점차 기계가 대신하게 될 것이다”라고 지난달 콜로라도 주 콜로라도 스프링스에서 열린 CIO100 심포지엄에서 그는 청중을 향해 말했다.

이는 충분히 일리 있는 말이다. 컴퓨팅 파워의 증대, 점점 더 정교해져 가는 알고리즘과 트레이닝 모델, 그리고 무제한적 데이터 소스의 등장으로 인공지능 혁신이 가능해지고 있다. 기계가 인간의 행위와 생각을 모방하는 테크놀로지들을 총칭하는 인공지능, 즉 AI는 그 하위 분야로써 통계 기반 알고리즘이 지식 엔지니어링을 자동화하는 메커니즘인 머신러닝을 포함한다.

구글, 아마존, 바이두 등 기업들도 AI, ML 기술에 돈을 아낌 없이 퍼붓고 있다. 게다가 이러한 기업들의 개발 성과들로 인해 해당 분야에 대한 투자액은 그 전 3년동안의 투자액에 비해 2016년에 3배 가까이(약 260억 달러에서 390억 달러 가량) 증가하였다고 맥킨지 글로벌 인스티튜트(McKinsey Global Institute)는 밝혔다.

AI와 ML 도입의 적기는 ‘지금’이다
기술 분야 외에서의 AI 도입은 아직까지 초기의 실험적 단계에 머물고 있으며 이를 대규모로 도입하는 기업들은 찾아보기 힘들다고 맥킨지 보고서는 밝히고 있다. 보고서에 따르면 아직까지 AI를 대규모로, 혹은 비즈니스의 핵심적 부분으로 받아들이지 않고 있는 이유는 AI 투자를 통해 어느 정도의 수익을 얻을 수 있을지에 대한 확신이 없기 때문이다.

그렇지만 올리의 생각은 다르다. 엘스비어는 ML 도입을 통해 제약회사 클라이언트들이 적절한 의료 정보를 찾고 약품 종류를 결정해 이를 의료진들에게 제공할 수 있었다는 점에서 ML도입을 성공적으로 평가하고 있다. 때문에 올리는 ML이 탤런트 관리, 세일즈 및 마케팅, 고객 지원 등 여러 분야에서 유용하게 쓰일 수 있다고 강조했다.

타사에 비해 비교 우위를 얻고 싶거나, 최소한 조금이라도 앞서 가고 싶은 CIO라면 지금 당장 자리를 박차고 일어나 이러한 새로운 테크놀로지를 수용해야 한다. “적기가 있다면 지금 당장이다”라고 올리는 조언했다.

AI 알고리즘에 전혀 익숙하지 않은 기관들이 어떻게 데이터 과학이나 ML같은 테크놀로지에 접근해야 할까? 그런 기업들을 위해 올리와 가트너가 10가지 팁을 제시했다.

1. 데이터 과학이 현장에 섞여 들도록 하라
기업에 데이터 과학 및 ML 기술을 적용하고 싶다는 생각은 있지만, 도대체 어디서부터 시작해야 하는 걸까? 우선, 데이터 과학 및 ML 오퍼레이션을 반드시 중앙화할 필요는 없다는 점을 기억할 만하다. 세일즈, 마케팅, HR, 금융 등 다양한 부서에 각각 데이터 과학 및 머신러닝 기술을 적용하는 것이 더 나을 수 있다.

올리는 데이터 과학자와 소프트웨어 엔지니어, 또는 종양학 전문가를 짝지어 스포티파이(Spotify) 모델에 기반한 애자일 스쿼드(agile squad)로 상품을 개발하도록 했던 엘스비어 사에서의 자신의 경험을 바탕으로 다른 CIO들에게 다음과 같이 조언했다.

“우리는 데이터 과학 팀을 제품 관리팀과 비즈니스 유닛에 섞여 들도록 했다. 이들을 하나의 유닛처럼 대하되 전체 유닛을 이끌어갈 사람을 따로 정했다. 또한 최대한 문제 해결에 데이터 과학자가 깊이 관여할 수 있도록 했는데 왜냐하면 기업 전반에 걸친 ML 기술의 확장 적용을 위해서는 그것이 최선이라고 판단했기 때문이다”라고 올리는 말했다.

2. 일단 시작하라
데이터 과학 기술 적용을 위해 거창한 플랜이 필요한 건 아니다. 혹은 그럴듯한 ML 제품 개발을 위해 거창한 프레임워크가 필요하지도 않다. 여러 비즈니스 분야에서 특정 AI 테크놀로지를 적용하여 소규모 실험적 프로젝트들을 우선 진행해 보고 그러한 시도로부터 수익이 아닌 경험과 학습을 목표로 하는 것이 첫 시작이 되어야 한다고 가트너는 강조했다.

올리는 “아직까지도 이러한 기술들의 도입을 시작하지 않았다면, 지금 당장 시작하기를 권한다. 적어도 당신의 경쟁사들은 이미 머신러닝에 뛰어들고 있다”라고 말했다.

3. 데이터 보기를 금같이 하라
데이터는 AI, ML 기술의 연료 같은 역할을 한다. 따라서 CIO들은 데이터를 마치 돈처럼 관리하고, 지키며, 귀중하게 여겨야 한다. “CFO는 아무렇게나 예산 승인을 내리고, 아무 데에나 지출을 결정하지 않는다. 또한 올 해 수익이 어느 정도였는지도 어림 짐작으로 계산하는 것이 아니라 철저한 분석을 통해 접근한다. 이러한 접근법이 CIO에게도 요구된다”라고 올리는 말했다.

-> 데이터가 '자산'되는 시대... CFO에게 닥친 과제

4. 완벽한 구직자는 상상 속에만 존재한다
데이터 과학자들은 어떤 역량을 가져야 할까? 알고리즘을 직접 쓰고 제품을 만들어 낼 수 있는 소프트웨어 엔지니어들은 아닐지라도, 대개 수학, 통계학에 높은 적성도를 보이며 데이터 속에서 유의미한 정보와 통찰력을 얻는데 능숙한 정도면 무난하다.

애석하게도 대부분 기업들은 통계학, 소프트웨어 엔지니어링에 모두 능숙하면서도 헬스케어면 헬스케어, 금융 서비스면 금융 서비스 등 해당 분야의 전문 지식까지 꿰차고 있는 상상 속에서나 존재할 법한 직원을 찾는 경향이 있다고 올리는 지적했다.

“실제로 내가 아는 어떤 사람은 ‘소프트웨어 엔지니어이면서 수학 박사 학위도 가지고 있으면 좋을 것 같고, 그러면서도 환자를 상대해 본 의사였으면 좋겠다. 특히 종양학 전문의라면 더할 나위 없을 것 같다’라는 꿈같은 이야기를 하기도 했다. 소프트웨어 엔지니어와 수학 박사, 그리고 의사를 따로따로 세 명 알고는 있지만 그 셋을 한 몸에 합친 사람을 알지는 못한다”라고 올리는 말했다.

5. 데이터 과학 교육 커리큘럼을 마련하라
데이터 과학 기술을 보유한 모든 이가 데이터 과학자이거나, 이 기술에 있어서 전문가나 장인이 될 필요는 없다. “실제로 고도의 전문성을 갖춘 데이터 과학자는 흔하지 않으므로, 일정 수준의 지식을 갖춘 이들을 훈련시키는 방법을 찾는 게 빠르다”라고 올리는 말했다.

올리 역시 IT 직원이나 데이터 과학 담당자를 교육해 이들의 ‘수준을 끌어올리는’ 역할을 따로 전담하는 전담자를 두고 있다.

엘스비어 사는 또 온라인 강의 코세라(Coursera)의 도움을 받고 있다. 올리는 CIO들에게, 최소한 확률 및 통계에 대한 지식을 새롭게 상기시켜 줄 수 있도록 해당 분야의 수업을 창설하고, 해당 직무의 적임자임을 입증하기 위해 지원자들에게 시험을 보게 할 것을 권했다. 가트너 또한 AI 인재 풀에 존재하는 수요와 공급간의 간극을 인지하고 기준에 조금 못 미치는 인재라 해도 일단 뽑아 교육을 시킬 수 있도록 계획을 세워야 한다고 조언했다.

6. 커뮤니티 플랫폼의 사용도 고려해보라
AI나 ML 기술을 도입하는 기업들, 혹은 데이터 과학과 관련한 문제를 어떻게 해결해야 좋을지 확신이 없는 기업들은 캐글(Kaggle)같은 데이터 과학 플랫폼에 의지하는 것도 하나의 방법이다. 캐글 같은 전문 플랫폼은 어려운 문제를 해결하는 것이 취미인 데이터 과학자들, 통계전문가, 금융 전문가, 소프트웨어 프로그래머 등 일련의 전문가들이 모여 기업의 비즈니스 문제를 해결해주는 데 특화된 플랫폼이기 때문이다.

7. 데이터 공유에 신중하라
만일 파트너와 알고리즘을 공유할 예정이라면 그 파트너가 데이터를 보게 될 것이라는 것도 알아야 한다. 이런 상황은 엘스비어 같은, 정보가 비교 우위의 원천이고 정보 보호에 예민한 기업들에게는 그다지 바람직하지 않다.

“데이터는 새로운 화폐와도 같다. 어떤 데이터를 보호하고, 어떤 데이터까지는 기꺼이 공유할 수 있는가를 사전에 판단해 두어야 한다”라고 올리는 말했다.

8. 모든 문제를 한 번에 해결하려 하지 말라
며칠 전부터 예약을 잡지 않으면 얼굴조차 보기 힘든 1차 의료기관의 의사들을 대신할 의료 알고리즘 개발하는 시도가 이제 상상을 넘어 현실이 됐다. 이제는 환자가 단순히 진통제 정도만 처방하면 되는 환자인지, 좀 더 심층적인 검사와 치료를 요하는지 정도는 분간할 수 있는 알고리즘을 개발해 문제를 해결하는 헬스케어 기업들이 있다. 올리는 “작은 문제들부터 하나씩 해결해 나가야 한다. 더 많은 데이터를 수집하고, 시간을 가지고 천천히 쌓아 나가야 한다”고 올리는 말했다.

9. 데이터 모델에 중요성을 지나치게 부여하지 말라
완벽한 데이터 모델을 갖추는 것보다 제대로 된 교육 모델을 갖추는 것이 더 중요하다. 아무에게나 함부로 데이터를 맡기다 보면 데이터 모델의 퀄리티가 급격히 하락할 수 있다고 올리는 경고했다.

“가장 어려운 부분은 직원들에게 가능성을 보여주고, 이들에게 그러한 기술로 실현할 수 있는 가능성을 자유롭게 탐색하도록 자유를 주는 일이다”라고 올리는 말했다.

10. CEO와 이사회를 지속적으로 설득하라
데이터 과학 파일럿 프로젝트가 상당히 희망적인 상황이라면, CIO의 다음 임무는 AI와 ML 기술이 기존의 비즈니스 모델을 새롭게 만들어 낼 수 있는 잠재력을 지녔다는 사실을 CEO 및 이사회에게 알리는 것이라고 가트너는 강조했다. 성공적인 머신러닝 오퍼레이션은 기업의 미래를 바꾸는 열쇠가 될 수도 있다.

---------------------------------------------------------------
머신러닝 How To 인기기사
->우리 회사는 AI·머신러닝에 준비돼 있을까?··· '10가지 체크리스트'
->기계학습 구현을 쉽게!··· 머신러닝 프레임워크 13종 
->머신러닝을 시작하는 방법, '텐서플로우 통해 머신러닝을 기업 DNA에 각인시켜라' 
->데이터 과학자·머신러닝을 비즈니스에 활용하는 방법(태도) 
->지금 CIO가 머신러닝에 투자해야··· 왜? 어떻게? 
->기업 4곳이 전하는 'AI 조직' 구축법
->'IT업무도 AI가···' CIO는 무엇을 준비해야 하나 
->'데이터 입력, 지능 출력' 알기 쉽게 설명하는 머신러닝 파이프라인 
->요즘 화제 '챗봇'··· CMO가 알아야 할 7가지 
---------------------------------------------------------------

ciokr@idg.co.kr

원문보기: 
http://www.ciokorea.com/news/35566#csidxaadef71fa75e7b88925c55e4f5761b1 

+ Recent posts