[209호 과학학술: 머신러닝] 머신러닝: 미래 무한데이터 시대를 이끌 새로운 패러다임

머신러닝은 인공지능의 한 분야로, 빅데이터의 무궁무진한 활용을 가능하게 하는 기술이다. 영향력이 큰 기술이기에 글로벌 IT기업들은 머신러닝에 대한 연구와 투자에 박차를 가하고 있고, 관련 스타트업도 늘어가고 있는 추세이다. 이에 본보는 머신러닝의 기본 개념 및 원리, 국내외 연구 진행과 머신러닝이 각광받는 이유 등을 살펴보고 미래를 전망하고자 한다.

머신러닝의 개념 및 원리

머신러닝(machine learning)은 기계(machine, 컴퓨터, 로봇, 소프트웨어)가 경험(data)으로부터 시행착오를 통해서 프로그램(model)을 자동으로 학습(learning)을 함으로써 스스로 성능을 향상시키는 인공지능 기술이다. 인공지능은 사람처럼 생각하고 사람처럼 행동하는 기계를 개발하는 연구 분야이며 머신러닝은 인공지능 소프트웨어를 개발하는 핵심 기술이다. 학습은 데이터를 기반으로 하고 학습의 결과는 재사용 가능한 프로그램으로 볼 수 있기 때문에, 머신러닝은 소프트웨어 프로그램을 빅데이터로부터 자동으로 생성하는 일종의 자동프로그래밍으로 볼 수 있다. 최근, 구글과 페이스북 등은 실세계의 대규모 데이터로부터 아주 복잡한 구조의 학습모델을 학습해내는 딥러닝(deep learning) 기술을 개발하여 음성인식과 얼굴인식에서 인간수준의 성능을 이루었다. 머신러닝 소프트웨어는 데이터가 많아질수록 성능이 끊임없이 향상될 수 있다는 점에서 기존 프로그래밍 방식의 소프트웨어 개발 방법론과는 근본적으로 다른, 미래 무한 데이터 시대를 이끌어갈 새로운 소프트웨어 개발 패러다임이다.

머신러닝의 학습 원리를 이해하기 위하여 스마트폰에서 사용자의 음성을 학습하는 머신러닝 프로그램이 있다고 하자. 처음에는 이 프로그램이 사용자의 음성을 잘못 인식하는 오류를 범하는데, 오류가 날 때 마다 사용자가 정답을 가르쳐 주면 이 프로그램은 오답과 정답의 차이를 계산하여 이를 줄여주는 방향으로 오류를 교정한다. 이렇게 하여 반복적으로 사용자의 음성을 많이 들려주고 잘못된 인식에 대해서 정답을 알려주면 이 프로그램은 점차 사용자의 음성 특성을 학습하여 인식의 성공률이 향상될 수 있다. 즉 음성인식 프로그램인 기계가 학습을 하는 것이다.

209-06-1-1

또 다른 예로서 인터넷 쇼핑몰에서 상품을 추천하는 에이전트(소프트웨어, 기계)를 생각해보자. 소프트웨어는 인터넷 방문 고객들의 과거 데이터를 학습하여 새로운 상품을 추천한다. 추천된 상품을 고객이 구매하면 이는 긍정적인 학습 예가 되어 다음에는 그 고객에게 비슷한 종류의 상품을 더 강하게 추천하도록 에이전트를 학습시킨다. 만약 추천을 했으나 고객이 반응이 없으면 이는 부정적인 학습 예로 간주하여, 다음에 는 이러한 상품을 추천하지 않는 방향으로 학습을 할 수 있다. 이 추천 소프트웨어는 고객들에게 상품을 추천하고 피드백을 받는 경험으로부터 점차 고객의 선호도를 학습하게 되며 시간이 갈수록 추천의 성공률이 올라간다.

기계가 학습을 하려면 입력과 출력의 관계에 대한 지식을 표현하는 학습구조, 즉 러닝아키텍쳐(Learning architecture)가 필요하다. 이 학습구조는 데이터의 특성을 잘 묘사할 수 있는 높은 표현력을 가지면서도 새로운 데이터를 관측하면 그 오류를 쉽게 변경할 수 있는 유연한 구조여야한다. 보통 머신러닝 방법들은 이 학습 구조에 따라서 이름이 붙여지며 다양한 모델이 존재한다. 신경망 모델은 뇌의 신경구조를 모사한 네트워크 구조의 머신러닝 모델이다. 의사결정 트리는 트리구조를 가진 머신러닝 모델이다. 베이지안 네트워크(Bayesian network)는 그래프 구조를 가진 확률적인 머신러닝 모델이다. 딥하이퍼넷(Deep hypernet)모델은 하이퍼그래프 구조를 가진 다충신경망이다. 그 외에도 은닉마코프모델(hidden Markov model), 서포트벡터머신(Support Vector Machine), 부스팅 알고리즘(boosting algorithm)등 다양한 머신러닝 모델들이 존재한다.

각광받는 이유

머신러닝이 최근 들어 각광을 받고 있는 이유는 무엇일까? 가장 큰 이유 중 하나는 빅데이터를 활용할 수 있는 핵심 기술이라는 것이다. 지난 20여 년 동안 문서의 디지털화 및 구글, 이베이, 아마존, 유튜브, 페이스북, 트위터 등 새로운 서비스를 통해 디지털 데이터의 양이 폭발적으로 증가하였다. 뿐만 아니라 최근 스마트팩토리, 스마트카, 사물인터넷의 등장 등을 통해서 제조업 분야에서도 데이터가 급증하고 있으며 이 빅데이터를 분석하고 활용하는 능력은 모든 산업 분야의 핵심 역량이 되고 있다. 머신러닝은 이러한 빅데이터를 분석하고 이를 서비스화 하는 핵심 기술이다. 현재의 급속한 데이터양 증가 속도를 고려할 때 머신러닝은 다가오는 무한데이터 시대에 그 중요성이 더욱 커질 것이다.

특히 인터넷 비즈니스의 많은 부분이 광고와 상품 추천에 의존하는데, 머신러닝은 개인화된 맞춤형 추천에 핵심기술을 제공한다. 구글, 페이스북, 넷플릭스 등이 머신러닝을 이용하는 대표적인 회사들이다. 또한 생산 현장에서 공정 데이터들이 많이 쌓여 있을 때, 이를 분석하여 생산의 효율성을 향상하고 공정의 멈춤을 미리 예측하고 방지하기 위해서 머신러닝이 사용된다. 즉 과거에 문제가 되었던 공정을 데이터로 사용하여 학습하면 미래에 발생할 수도 있는 문제 상황을 미리 예측할 수 있다. 게임에도 머신러닝이 활용될 수 있다. 마이크로소프트는 XBOX의 자동차 경주 게임에 머신러닝을 적용하였다. 사용자가 경주 게임을 하는 상황을 센싱(sensing)하여 학습을 한 다음 사용자 수준에 가장 적합하게 난이도를 자동으로 조정해 줌으로써 사용자가 더욱 재미있게 게임을 할 수 있도록 하였다.

머신러닝 기술은 통계학적 기법을 많이 사용하나 통계학과는 많은 차이가 있다. 머신러닝 기법들도 통계학적 연구와 같이 데이터의 특성을 분석하는데 관심을 둔다. 그러나 보통 머신러닝은 분석에서 끝나기 보다는 예측, 추천, 판단 등 서비스를 제공하는 시스템과 직접 연결된다. 통계적 모델과 같이 데이터를 설명하는 모델을 찾고 끝나는 것이 아니라 생성된 모델을 이용하여 새로운 데이터가 들어오면 상황을 시뮬레이션하거나 예측까지 수행한다. 이점에서 머신러닝은 오히려 자동프로그래밍 기법으로 볼 수 있다. 컴퓨터로 문제를 풀 때 지금까지는 사람이 프로그램을 작성하여 이를 컴퓨터에 실행하였으나, 머신러닝은 컴퓨터 프로그램을 사람 대신 기계가 자동으로 작성하는 것으로 생각할 수 있다. 즉, 머신러닝 알고리즘은 데이터로부터 프로그램을 자동으로 생성한다. 물론 현재까지 사용되는 머신러닝 아키텍쳐는 C, Java 등의 컴퓨터 프로그램만큼 복잡한 일반적인 프로그램을 생성하지는 못하고 비교적 단순하다. 그러나 아래에서 논의할 딥러닝 등 최근 머신러닝 기술들은 아주 복잡한 형태의 프로그램을 자동으로 생성하는 방향으로 진화하고 있다.

209-06-1-2

국내외 현재 연구 진행

글로벌 기업들은 최근 머신러닝에 대한 연구와 투자에 박차를 가하고 있다. 구글은 2012년에 머신러닝 분야 선구자 중의 한 사람인 제프리 힌튼(Geoffrey Hinton) 교수가 설립한 회사 디앤앤리서치(DNNResearch)를 인수하여 딥러닝 기술을 확보하였다. 2013년에는 페이스북이 뉴욕대학교의 얀 러쿤(Yann LeCun) 교수를 영입하여 인공지능 연구소를 설립하고 얼굴인식 딥러닝 기술을 연구하고 있다. 2014년 바이두(Baidu)는 스탠포드 대학교의 앤드류 응(Andrew Ng) 교수를 초빙하여 실리콘벨리에 딥러닝 연구소를 설립하였다. 2015년에 미국 정보국의 산하기관인 고등정보계획국(IARPA)에서는 인간의 뇌를 모방한 뇌과학 기반의 머신러닝 신기술을 개발하는 연구지원 프로그램을 창설하였다. 중국의 IT 기업들도 최근 앞다투어 머신러닝 분야에 투자하고 있다. 한편, 머신러닝 스타트업도 늘고 있는 추세이다. 위에서 언급한 힌튼 교수의 스타트업 디앤앤리서치는 설립 1년도 안 되어 구글에 인수되었다. 게임분야에 머신러닝을 적용하는 스타트업 회사 딥마인드(Deep Mind)는 2014년에 4,000억 원에 구글에 인수되었다. 일본에서 창업된 프레퍼드 네트웍스(Preferred Networks)라는 벤처기업은 최근 제조로봇 분야의 글로벌 기업인 화낙(Fanuc)으로부터 투자를 받았다. 대부분의 빅데이터나 클라우드 관련 스타트업들은 직간접적으로 머신러닝 기술과 관련이 많다.

국내 기업들도 최근 머신러닝의 중요성을 인식하고 기술과 인력확보에 노력하고 있다. 삼성전자는 DMC 연구소, SW연구소, 종합기술원 등에 딥러닝을 연구하는 그룹들이 형성되어 있으며, LG 중앙연구소와 생산기술연구소도 머신러닝 기술을 적용하고 있다. SKT 중앙연구소의 인공지능그룹에서도 머신러닝 연구를 활발히 하고 있다. 네이버는 최근 Naver Labs에 머신러닝 연구자들을 적극 채용하고 있다. 한국전자통신연구원(ETRI) 등 국가 출연 연구소에서 머신러닝을 연구하는 연구자들이 늘어나고 있다. 한국전자통신연구원의 국책과제인 엑소브레인(Exobrain)과 딥뷰(Deep View) 과제에서도 머신러닝은 핵심역할을 한다. 미래창조과학부에서는 머신러닝의 중요성을 인식하고 2014년에 기계학습연구센터를 포항공대에 설치하였다. 이 센터에서는 서울대, 카이스트, 연세대, 고려대 등과 협력하여 차세대 머신러닝 기술 연구와 인재 양성에 힘쓰고 있다. 2011년부터 한국정보과학회 인공지능소사이어티에서는 패턴인식 및 머신러닝 겨울학교를 개설하였으며 참석자 수가 증가하는 추세에 있다. 한국인지과학산업협회에서는 2014년부터 딥러닝 아키텍쳐 인지튜토리얼과 실습 강좌를 개최하고 있다. 등록자 수로 볼 때도 머신러닝에 대한 산업체의 관심이 급증하고 있는 것을 알 수 있다. 그러나 국내에서는 아직 순수하게 머신러닝 기술을 바탕으로 한 스타트업은 별로 없다.

209-06-1-3

딥러닝의 전망

딥러닝은 최근 가장 각광받고 있는 머신러닝 기술이다. 딥러닝은 뇌를 모방한 신경망 계열의 학습 모델로서 아주 많은 수의 신경망 층을 가진 복잡한 학습 모델이다. 최근 들어 딥러닝이 가능해 진 것은 딥러닝 모델 학습이 가능하도록 하는 몇 가지 기술적인 혁신 때문이다. 또한 빅데이터와 고성능컴퓨팅 능력에 힘입은 바가 크다. 딥러닝은 무엇보다도 산업스케일의 고난도 문제를 풀 수 있기 때문에 특히 기업체에서 관심이 많다. 음성인식, 이미지 분류, 게임 등에서 사람 수준의 성능을 보였으며 현재 컴퓨터비전, 자연언어처리, 로보틱스, 소셜네트워크, 추천 서비스 등에 다양하게 확산되어 응용되고 있다. 딥러닝은 기존의 머신러닝 방법에 비해서 한 단계 더 자동화된 방법으로 볼 수 있다. 기존에는 패턴인식 등의 문제를 해결하기 위해서 먼저 특징 추출 등의 무감독 학습 과정을 따로 수행하여 유용한 특징들을 잘 선별한 다음, 이 특징을 지닌 학습 데이터를 가지고 패턴분류기를 학습시키는 두 단계를 거쳤다. 그러나 딥러닝은 이 두 단계를 하나의 프로세스로 묶어서 실세계의 데이터를 넣으면 자동적으로 내부
에서 특징을 다단계로 추출하여 분류까지 수행한다. 특징을 다층으로 쌓아가며 복잡한 표현구조를 순차적으로 만들어가기 때문에 예전에 사용하던 3층짜리 신경망이나 2층짜리 서포트벡터머신이 풀기 어려웠던 아주 복잡한 패턴 분류 문제를 해결한다.

머신러닝의 발전 방향

최근의 머신러닝 연구 동향을 보면, 인공지능(컴퓨터비전, 자연언어처리, 로보틱스 포함) 외에도 웹, 소셜네트워크, HCI(Human-Computer Interaction), 게임, 전자상거래 등의 다른 많은 분야로 머신러닝 기술이 확산되는 것을 알 수 있다. 특히 외국의 경우, 최근 몇 년 사이에 머신러닝 기술을 기반으로 새로운 사업을 하는 스타트업들이 많이 생겼으며 현재도 빅데이터와 클라우드컴퓨팅과 결합되어 사물인터넷, O2O(online to offline)사업, 스마트카, 게임, 교육, 헬스 산업을 겨냥한 새로운 스타트업들이 생기고 있다. 국내에서는 대기업을 중심으로 머신러닝 고급인력을 찾고 있으나 수요에 비해서 공급이 모자라는 상황이다. 이는 외국의 경우도 마찬가지로 머신러닝 전문가들은 구글, 페이스북, 아마존, 애플, 마이크로소프트, 아이비엠 등에서 고액의 연봉을 받고 스카우트되고 있다.

머신러닝은 향후 지속해서 주목해야 할 핵심 기술로 평가받는 중요한 기술이다. 특히 인공지능 관점에서 볼 때 머신러닝 기술은 제1세대의 프로그래밍 방식 기반 인공지능 시스템 개발방식을 탈피하여, 제2세대의 학습 방식의 인공지능 시스템 개발패러다임으로 전환하는 핵심 동력원이다. 현재처럼 데이터가 계속 증가하고 컴퓨팅 파워도 급속도로 증가한다면 인간의 행동과 사고를 기록한 빅데이터로부터 자동으로 인공지능 프로그램을 학습하여, 이를 로봇에 이식함으로써 인간수준의 인공지능 로봇을 자동으로 개발할 수 있는 날이 올 수도 있을 것이다.

209호 과학학술 학술팁

장 병 탁 / 서울대학교 컴퓨터공학부 교수

* 그림 설명 및 출처

-그림 1:  딥러닝의 이해 ⓒwww.slideshare.net/alchemyapi/what-is-deep-learning

-그림 2:  페이스북의 딥페이스(Deep Face)의 인식과정. 딥페이스는 이용자의 얼굴을 인식해 해당 이용자를 파악해내는 서비스이다.  ⓒwww.facebook.com

-그림3: 딥페이스 작동 원리. 무작위로 선별된 사진 2만 장으로 사진의 주인공을 맞추는 실험에서 정확도 97.5%를 기록했다. ⓒwww.facebook.com

작성자: khugnews

이글 공유

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다