데이터 과학자가 바라본 알파고: 오해, 진실, 그리고 교훈

이번 주 내내 화제가 되었던 ‘세기의 대결’이 알파고의 승리로 끝났다. 어렸을 때 남들처럼 바둑을 배웠고, 지금은 검색엔진의 데이터 과학자로 일하는 필자 역시 매 대국을 흥미롭게 지켜보았다. 필자는 꾸준히 글을 통해 빅데이터의 허상을 지적해왔고 최근에는 일반인들의 데이터 입문을 돕는 책까지 출판한 터라 특히 관심이 가는 주제였다.

하지만 필자에게 더 흥미로웠던 점은 이 사건에 대한 전문가와 비전문가 간의 반응의 차이였다. 언론, 특히 한국 언론에서 보도되는 알파고는 인류의 구세주 혹은 재앙으로 우리의 삶을 송두리째 바꿔 놓을 것처럼 묘사되고 있다. 반면 데이터 과학 및 인공지능 종사자가 상당수인 필자의 SNS 타임라인은 무덤덤하거나 다소 냉소적인 반응이 주를 이룬다.

‘왜 이런 간극이 생겼을까?’라는 의문에서 출발한 필자는 이 글을 통해 다음 주제를 다루려고 한다.  IT 전문가들은 일반인들이 모르는 무언가를 알고 있을까? 알파고의 실체는 무엇이며 이번 대국의 진짜 의미는 무엇일까? 이제 딥러닝 전문가가 아니면 모두 도태되는 세상이 조만간 올까? 지금 나는 당장 무엇을 해야 하는가?

알파고는 전혀 새로운 종류의 AI다?

우선 알파고에 대한 이야기를 하지 않을 수 없다. 알파고의 작동원리는 구글의 논문 및 관련 글에 (이정원님 / 엄태웅님) 자세히 나와 있으므로 생략하고, 여기서는 알파고와 기존 AI와의 차이에 집중하려고 한다. 알파고의 진짜 혁신은 무엇일까?

필자는 해답을 찾기 위해 구글의 네이쳐 논문을 읽어보았다. 논문 초록에서는 알파고의 새로운 점을 다음과 같이 밝히고 있다. 요약하면 딥러닝 기법(DCNN)을 확률적 트리 서치 알고리즘(MCTS)과 결합했다는 것이다. 또한 알파고의 서로 다른 버전 간의 대국을 통하여 얻은 데이터를 강화 학습에 사용하는 것으로 알려져 있다.

그렇다면 이는 얼마나 새로운 아이디어일까? 위 논문에서 인용한 관련 논문을 찾아보면 바둑에 DCNN이나 MCTS를 적용하는 논문이나 시스템은 이미 여럿 있었다. 또한 최근에 페이스북에서 내놓은 논문에는 DCNN과 MCTS를 결합한 darkfmcts3라는 알고리즘을 소개하고 있다.

물론 darkfmcts3은 알파고를 이기지 못했으므로, 알파고가 현존 최고의 바둑 AI인 것은 맞다. 하지만, 알파고가 무에서 유를 창조했다는 식의 설명은 과장이다. 딥러닝은 이미 바둑 AI에 활용되고 있었고, 알파고는 딥러닝과 트리서치 등의 기존 학습 기법에 자기 자신과의 대국(self-play) 및 강화 학습 등 몇 가지 아이디어를 더해 만들어진 잘 튜닝된 시스템이다. 전혀 새로운 혁신이라기 보다는 점진적인 개선의 산물이라는 것이다.

AI가 세상을 정복하는 세상이 조만간 온다?

알파고가 세상에 전혀 없었던 신기술을 통해 만들어진 괴물(?)이라는 오해는 ‘알파고가 세상의 모든 문제를 풀수 있다’는 착각으로 이어진다. 딥마인드 홈페이지의 아래 설명은 그런 의미에서 오해의 소지가 다분하다. 사실 논문에 레퍼런스까지 읽는 사람이 얼마나 되겠는가?

The game of Go is widely viewed as an unsolved “grand challenge” for artificial intelligence. Despite decades of work, …. In this paper we describe our Go program, AlphaGo. This program was based on general-purpose AI methods, … This is the first time ever that a computer program has defeated a professional Go player, a feat previously believed to be at least a decade away.

위 글을 읽으면 알파고가 조만간 세상의 모든 문제를 해결할 수 있을 것 같다. 하지만, 위에서 설명한 대로 알파고는 기존 연구에 ‘바둑’이라는 문제의 특성에 착안한 몇 가지 아이디어를 더해서 만들어진 ‘바둑 AI’다. 인공지능의 궁극적 목표로 여겨지는 일반인공지능(Artificial general intelligence)과는 거리가 멀다.

이를 좀더 구체적으로 알아보자. 알파고는 체스보다 훨씬 경우의 수가 많은 바둑을 인간 최고수보다 더 잘 둔다. 하지만 바둑은 사람이 하는 다른 영역보다 훨씬 제한된 경우의 수를 가진, 그것도 매우 잘 정의된 규칙을 바탕으로 하는 게임이다. 이런 바둑의 특성은 트리 서치 등의 AI기법의 적용을 용이하게 한다.

더 중요한 것은 바둑 데이터의 핵심이라고 할 역대 기보가 잘 정리된 형태로 공개되어 있다는 것이다. 이런 바둑의 특성은 대용량 데이터를 필요로 하는 딥러닝 기법의 적용을 용이하게 한다. 하지만, 온라인 서비스 (예: 검색엔진) 등 제한된 분야를 제외하고는 이런 대용량의 정제된 데이터를 구하는 것은 어려운 일이다.

요약하면 알파고는 바둑이라는 문제의 특성에 특화된 문제해결 시스템이다. 일반인공지능을 구현하기 위해서는 1) 스스로 문제를 정의하는 기술 2) 경우의 수가 바둑보다 훨씬 큰 (거의 무한대인) 문제에 대한 근사치를 찾는 기술 3) 문제 해결에 필요한 데이터를 찾거나 만들어내는 기술이 필요한데, 이 모두 근래에 해결이 요원한 문제들이다. 그러니 AI가 인간을 대체할 것이라는 걱정은 당분간 접어 두자.

딥러닝으로 무엇이든 해결할 수 있다?

알파고에 대한 관심은 자연히 그 기반 기술인 빅데이터와 딥러닝으로 이어진다. 이미 ‘빅데이터면 무엇이든 할 수 있다’는 식의 기사는 많았고, 이에 더해 최근에는 딥러닝에 대한 기사가 넘쳐 나고 있다. 이들은 대부분 딥러닝의 가능성에 대한 장밋빛 전망 일색이다.

빅데이터에 대한 오해와 진실은 필자의 예전 글을 참조하도록 하고, 여기서는 딥러닝에 대해 이야기해 보자. 검색엔진에서 데이터과학자로 일하는 필자 역시 최근 딥러닝에 대한 다양한 기사와 논문을 접하고 있다. 기존의 기계학습 기법보다 사람의 손을 덜 거치고도 높은 성능을 나타낸다는 점에서 딥러닝은 분명 혁신적인 기술이다. (딥러닝에 대한 좀 더 자세한 설명은 엄태웅님의 글을 참고하자.)

하지만 이런 딥러닝의 잠재력을 실현하기 위해서는 치러야 하는 대가가 많다. 우선 대용량의 학습 데이터가 필요하며, 엄청난 계산량에 속도도 느리고 이를 뒷받침할 컴퓨팅 파워도 기본이다. 학습된 결과물을 인간이 해석하는 것도 쉽지 않은 블랙박스와도 같은 방법이다. 물론 이런 문제들은 연구와 기술 진보로 인해 점차 해결되고 있으니 미래는 지켜 볼일이다.

하지만, 딥러닝을 실제로 배워 당장 활용할 수 있는 조직이나 개인은 얼마나 될까? 기계학습 기법에는 다양한 유형이 있으며, 이중에는 딥러닝과 같은 높은 복잡도와 학습 성능을 자랑하는 알고리즘부터 선형모델과 같이 단순하지만 빠르고 이해가 쉬운 방법도 있다. 다양한 데이터 과학 프로젝트를 진행하는 필자의 경험으로는 현업에서 유용한 알고리즘은 제한된 데이터와 컴퓨팅 자원으로 사람이 이해할 수 있는 결과를 내는 후자인 경우가 많았다.

결국 빅데이터나 딥러닝이나 문제해결의 수단이다. 이미 많은 데이터와 충분한 컴퓨팅 파워가 있으며 학습 성능이 해석 가능성보다 중요한 경우 딥러닝은 고려해 볼만한 옵션이다. 하지만, 런타임에서의 성능 및 예측 결과를 설명할 수 있어야 하는 경우 딥러닝은 최선의 선택은 아니다. 또한 기계학습은 일단 만들어 놓으면 끝이 아니라 이를 꾸준히 유지 보수하는 비용도 생각해야 한다. 요약하면 무작정 딥러닝을 배우기보다는 주어진 예측 문제의 성격부터 고민해야 한다는 것이다.

‘세기의 대결’이 우리에게 가르쳐주는 진짜 교훈?

앞에서 필자는 알파고의 ‘혁신’이 실제로는 기존의 연구 성과의 연장선 상에 있으며, 알파고와 같은 시스템이 일반인공지능으로 발전하기까지는 오랜 시간이 걸릴 것이라고 전망했다. 또한 빅데이터와 딥러닝은 만능 열쇠라기보다는 아직은 한정된 영역의 문제에만 적용 가능한 기법이라는 사실도 알아보았다. 알파고의 기술적인 의의와 함께 그 한계도 명확히 알았을 것이다.

어쨌든 데이터의 폭증과 기계학습 등 이를 처리하는 다양한 기술이 세상을 바꾸고 있는 것은 분명하다. 그렇다면 이 시대를 살아가는 우리가 이러한 변화에 대처하기 위해 지녀야 할 바람직한 태도는 무엇일까? 우선 데이터 관련 기술 진보가 산업에 주는 영향을 설명하기 위해 필자가 상상력을 발휘하여 만든 다음 매트릭스를 살펴보자.

산업별 (열) 데이터 활용도별 (행) 인력 구성을 나타내는 위 매트릭스에 따르면 현재는 IT 산업에 종사하는 사람 중에는 데이터를 활용하는 사람이 많지만 기타 산업에는 데이터를 활용하는 사람이 많지가 않다. 하지만 필자는 아직은 데이터 활용이 저조한 기존 산업에서 데이터를 잘 활용하는 주황색 군에 속하는 사람들이 앞으로 각광 받을 것이라고 전망하고 싶다.

필자는 모두가 개발자나 데이터 과학자가 되어야 21세기에 살아남을 수 있다고 생각하지는 않는다. 오히려 시류에 편승하기 보다는 자신의 영역에서 데이터와 첨단 기술을 적절히 활용하는 것이 가치를 창조하는 지름길이라고 믿는다. 데이터 기반의 접근 방법은 점점 확산되고 있고, 분야에 관계없이 이를 이해하고 앞서나가는 사람에게 기회가 주어지는 것이다.

그렇다면 구체적으로 데이터를 활용한다는 것은 어떤 의미인가? 데이터 활용의 단계를 필자는 다음 세가지로 나누어 설명하고 싶다.

  1. 데이터를 전혀 활용하지 않음
  2. 다른 사람이 만들어 놓은 데이터를 분석하여 활용
  3. 데이터로 활용할 수 있는 문제를 적극적으로 탐색하고 해결

위 단계에 따르면  데이터를 아예 활용하지 않는 것보다는 다른 사람이 만들어 놓은 데이터라도 분석하여 활용하는 것이 바람직하지만, 데이터로 활용할 수 있는 문제를 적극적으로 탐색하고 해결하는 수준이 되어야 데이터 가지고 많은 가치를 만들어낼 수 있다. 이 세번째 그룹은 앞에서 필자가 소개한 매트릭스의 주황색 부분에 속하는 사람들이기도 하다.

그렇다면 어떻게 데이터를 제대로 활용하는 방법을 배울 수 있을까? 필자는 우선 ‘데이터 = 기술’이라는 편견을 깨고 문제 해결의 수단으로 데이터를 바라보는 ‘데이터 마인드’를 강조하고 싶다. 또한 자신의 삶과 업무에 데이터를 적극 활용하는 데이터 생활화 역시 데이터 문맹을 탈출하기 위한 요령이다. 데이터 입문에 대한 좀 더 자세한 내용은 필자의 블로그 및 저서 헬로 데이터 과학을 참조하기 바란다.

맺음말: ‘세기의 대결’ 그 이후는?

미국의 저명한 과학저널 ‘사이언스’에서 발간하는 매거진 최신호에서는 약 20년 전에 체스 인공지능이 인간 최고수를 꺾은 후 체스라는 분야에 일어난 변화를 소개하고 있다. 어떤 선수들은 좌절하고 분야를 떠나기도 하였지만, 다른 선수들은 인공지능 체스라는 새로운 ‘도구’를 개인 훈련 및 기량 향상에 적절히 활용하고 있다고 한다. 인공지능을 공식 경기에 비밀리에 활용하다가 적발된 사례가 있는가 하면, 아예 인공지능과 사람이 파트너로 서로 대결을 하는 룰도 생겨났다고 한다.

‘세기의 대결’이 인공지능의 승리로 끝난 바둑계 역시 변화가 불가피할 것으로 보인다. 이미 기계가 ‘침범한’ 바둑이라는 분야를 떠나려는 기사도 있겠지만, 다른 기사들은 알파고를 비롯한 신세대 인공지능 바둑이 보여주는 새로운 가능성을 연구하고 이를 발전의 계기로 삼을 것이다. 이미 5개월전 알파고와 대결했던 유럽 챔피언 판후이는 알파고와의 대결을 거울삼아 세계 랭킹이 633위에서 300위로 상승했다고 한다.

알파고의 성취는 분명 인상적이지만, 이는 인공지능 역사의 큰 맥락에서는 일보 전진에 불과하다. 하지만 이러한 기술 진보가 보여주는 변화의 잠재력과 방향은 명확하다. 점점 더 많은 현상이 데이터화되고, 이를 효과적으로 활용할 수 있는 개인과 조직에게 더 많은 기회와 보상이 돌아갈 것이다. 다행히 아직 우리에게 유효한 시간은 많이 남아있고, 이제 선택은 여러분에게 달렸다. 변화의 방향으로 한걸음 한걸음 나아갈 것인가, 아니면 변화의 흐름을 외면할 것인가?