본문 바로가기

IT Insights

AI의 스타크래프트 도전기 ① 인공지능의 스타크래프트 도전, 어디까지 왔나?

인공지능의 아버지라 불리는 앨런 튜링(Alan Turing)은 1950년에 일찍이 스스로 학습하여 체스를 두는 인공지능 프로그램 ‘튜로챔프(Turochamp)를’ 고안했다고 합니다. 물론 그 당시에는 컴퓨팅 파워가 좋지 않아 실제로 실행시키지는 못하였으나, 이것이 인공지능 개발의 시초가 되었다고 볼 수 있습니다.

(출처: 로봇신문,  http://www.irobotnews.com/news/articleView.html?idxno=7825)

 

앨런 튜링이 체스 프로그램을 고안한 지 47년이 흐른 1997년, 마침내 IBM이 개발한 ‘딥블루(Deep Blue)’라는 인공지능이 체스 세계 챔피언을 상대로 승리했습니다. 이후 인공지능 연구자들의 관심은 체스보다 어려운 보드게임인 바둑으로 자연스레 넘어가게 됩니다.

체스만큼은 아니지만, 인공지능이 바둑을 정복하는 데에도 매우 오랜 시간이 걸렸습니다. 딥블루 이후 19년이 흐른 2016년, Google DeepMind에서 개발한 ‘알파고(AlphaGo)’가 이세돌 9단에 이어 세계 챔피언인 커제 9단까지 잇따라 격파하며 마침내 인공지능이 바둑을 정복했죠. 특히 알파고는 ‘강화학습’이라는 인공지능 딥러닝 분야의 신기술을 적용하였기 때문에 더욱 주목을 받았습니다. 알파고가 강화학습을 통해 앨런 튜닝이 꿈꾸던 ‘스스로 학습하는 인공지능’의 개발이 가능하다는 것을 보여 주었고, 일반인들까지도 과연 인공지능의 한계는 어디까지일지에 관심을 갖게 되었습니다.

(출처: SBS뉴스,  https://www.youtube.com/watch?v=WOPp40JQ-qY)


Google DeepMind의 창업자 Demis Hassabis는 궁극적으로 인간처럼 모든 분야에서 스스로 학습하고 문제를 해결할 수 있는 범용 인공지능(General AI) 개발을 목표로 하고 있습니다. 알파고가 어느 정도 가능성을 보여 주었지만, 현재로서는 그 수준에 이르기까지 많은 세월이 걸릴 것입니다. 

 
알파고의 성공 이후 Demis Hassabis는 스타크래프트 기반의 인공지능 연구를 하겠다고 선언하였습니다. 스타크래프트는 인공지능에게 바둑보다 훨씬 다루기 힘든 게임이고, 현실 세계의 축소판인 자원 채취, 건설, 병력 생산, 전투라는 게임 요소를 가지고 있습니다. 즉, 스타크래프트 게임에서 인공지능이 인간 프로게이머를 이길 수 있다면, 이는 범용 인공지능에 더욱 가까이 다가갔음을 증명하는 일이죠. 알파고 이후 2년이 흐른 지금, 과연 인공지능의 스타크래프트 도전은 어디까지 와 있을까요?

인공지능이 체스를 정복하는 데
약 50년이라는 시간이 필요했습니다.

인공지능이 바둑을 정복하는 데는
약 20년이라는 시간이 필요했습니다.

인공지능이 스타크래프트를 정복하는 데는
시간이 얼마나 필요할까요?

 

《특이점이 온다》의 저자이자 미래학자인 레이 커즈와일(Ray Kurzweil)은 기술의 발전은 선형적으로 이뤄지지 않고 기하급수적으로 이뤄진다고 말합니다. 그의 말이 맞는다면, 인공지능이 스타크래프트를 정복하는 데 걸리는 시간은 20년보다 훨씬 짧을 것입니다.

본격적인 리뷰에 앞서, 먼저 바둑과 스타크래프트의 차이점에 대해 살펴보고자 합니다.


첫째, 바둑은 시간제한이 있는 턴 방식의 게임이나 스타크래프트는 상대방의 동작에 상관없이 실시간으로 명령을 처리할 수 있는 실시간 전략 게임입니다. 바둑은 제한시간 이내에 인공지능이 다음 수를 계산하고 예측하는 반면, 스타크래프트는 초당 24프레임으로 진행되는 실시간 전략 게임이기 때문에 상황에 따른 빠른 의사결정과 명령 수행을 해야 합니다.

 
둘째, 바둑은 19X19 공간 내에 놓인 모든 바둑돌 상태를 언제나 볼 수 있는 완전 정보 게임이지만 스타크래프트는 안개(fog of war)라는 요소가 있어서 정찰하지 않은 지역은 볼 수 없고, 정찰을 했어도 일정 시간이 지나면 변화를 알 수 없는 불완전 정보 게임입니다.
 
셋째, 바둑은 돌 하나하나가 동일한 의미를 갖지만 스타크래프트는 3개의 서로 다른 종족이 존재합니다. 종족별로 수십 종류의 건물과 유닛을 생산할 수 있고, 각 유닛의 체력과 공격력 및 공격 사거리도 모두 다르죠. 즉, 스타크래프트는 다뤄야 할 정보의 양이 비교할 수 없을 정도로 많습니다.
 
넷째, 바둑은 각 턴마다 돌을 놓을 수 있는 경우의 수가 최대 361(19*19)가지 존재하지만 스타크래프트는 최대 1억(4096*4096*8)가지 이상의 경우의 수가 존재합니다.
 
이러한 차이점들을 종합하여 바둑과 스타크래프트의 복잡도를 계산해 보면 다음과 같습니다. (출처: Ontanón, S., Synnaeve, G., Uriarte, A., Richoux, F., Churchill, D., & Preuss, M. 2013. A survey of real-time strategy game AI research and competition in StarCraft. IEEE Transactions on Computational Intelligence and AI in games, 5(4), 293-311.)

 

Chess

Porker

Go

StarCraft

Complexity

1050

1080

10170

101685

지금까지의 내용을 보면, 인공지능에게 있어 스타크래프트는 바둑보다 훨씬 더 정복하기 어려운 게임임을 알 수 있습니다. 하지만 Google DeepMind, Facebook, Alibaba, Samsung SDS 등 세계 유명 IT기업들과 미국, 캐나다, 유럽의 저명한 대학(Stanford大, Alberta大 등)들이 이러한 과제를 해결하기 위한 연구를 수행하고 있으며, 수년 내에 가시적인 성과를 낼 것으로 예상합니다.
 
이미 학계에서는 2010년부터 스타크래프트를 기반으로 다양한 인공지능 연구를 수행해 오고 있습니다. 그중 가장 대표적인 인물이 David Churchill이며, 그는 2016년 캐나다 Alberta大에서 Michael Buro 교수의 지도하에 스타크래프트 기반의 인공지능 논문을 통해 박사학위를 받고, 현재 Memorial大의 컴퓨터공학과 조교수를 맡고 있습니다. Michael Buro 교수도 1997년에 Othello 세계 챔피언에게 6게임 연속 승리한 ‘Logistello’라는 인공지능 프로그램을 개발하였고, 이에 기반을 둔 논문으로 박사학위를 받은 독특한 경력을 갖고 있습니다.
 
David Churchill 교수는 2011년부터 현재까지 ‘AIIDE Starcraft AI Competition(스타크래프트 인공지능 봇들끼리 풀리그 방식으로 대전을 벌여 승률이 높은 순으로 순위를 매기는 대회)’을 매년 주최하고 있습니다. 또, ‘UalbertaBot’을 개발하여 2013년 AIIDE 대회에서 우승하기도 했죠. UAlbertaBot은 현재 스타크래프트 인공지능 봇 개발자들에게 교본(Sample)으로 활용되고 있습니다. 작년 AIIDE 대회에 기업으로서는 처음으로 Facebook이 ‘CherryPi’라는 인공지능 봇을 개발하여 참가하였고, 올해 대회에는 Facebook(미국), Samsung SDS(한국), Bilibili(중국) 3개 기업을 포함한 총 27개 팀이 각국에서 참가하였습니다.

AIIDE(Artificial Intelligence and Interactive Digital Entertainment) 대회 이외에도 체코 공과대학에서 주관하는 SSCAIT(Student Starcraft AI Tournament), IEEE에서 후원하고 우리나라의 세종대학교에서 주최하는 CIG(Computational Intelligence and Games)가 존재하며, 매년 참가자 수가 늘고 있어 스타크래프트 인공지능 연구의 인기를 확인할 수 있습니다.
  
다음(2편)에서는 이들 세계대회에서 최근 몇 년간 상위권을 차지한 봇들의 전략과 그것에 적용된 인공지능 기술에 대해 설명드리겠습니다. 그리고 3편에서는 1편의 ‘스타크래프트에서 인공지능이 풀기 어려운 문제들’을 해결하기 위한 다양한 연구들에 대해 소개하고, 인간 프로게이머를 이길 수 있는 인공지능을 개발하기까지 어떤 과제들이 남아있는지 살펴보고자 합니다. 많은 기대 부탁드립니다.

 

▶  해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶  해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

배창현 프로 | 삼성SDS XEED-LAB

배창현 프로는 KAIST에서 학부를 마치고 대학원에서 수학을 전공하였습니다.
삼성SDS 입사 후 CAD S/W, PDM서비스,안드로이드 앱 개발 등 다양한 개발 업무를 담당하였으며,현재는 사내 벤처 프로그램인 XEED-LAB에서 스타크래프트 인공지능 봇을 개발하는 SAIDA팀 리더를 맡고 있습니다.