게임은 인공지능이 참여할 수 있는 것 중 가장 목표가 명확하고 결과를 객관적으로 알 수 있는 분야다. 때문에 인공지능 연구가 처음 시작된 1950년대부터 지금까지 많은 연구자들이 게임 인공지능에 도전했다. 처음에는 두 사람이 번갈아가면서 직접 플레이하는 보드게임이 주된 공략대상이었다. 바둑을 제외한 대부분의 보드게임이 1990년대에 모두 해결됐다. 오셀로, 체커, 체스 등이 대표적이다.
2000년대 중반부터는 연구자들의 시선이 비디오게임으로 옮겨 갔다. 비디오게임이란 TV나 컴퓨터 화면을 통해서 플레이하는 게임으로, 이곳에는 보드게임에 없는 보다 복잡한 난제들이 있다. 게임의 종류도 훨씬 다양하다. 실시간전략시뮬레이션게임(RTS게임. 스타크래프트 등), 격투게임(철권 등), 모바일게임(앵그리버드 등), FPS게임(서든어택 등) 등 거의 모든 비디오게임 분야에 인공지능이 도전 중이다. 게다가 이런 인공지능들은 단순히 게임을 잘하는 데 초점을 맞추고 있지 않다. 성능은 떨어지더라도 인간과 유사한 플레이를 하는 인공지능, 플레이하는 사람의 수준에 맞춰 자신의 실력을 조절할 수 있는 인공지능이 등장해 인간 게이머들을 긴장시키고 있다.
해커들이 길 터준 인공지능 연구
보드게임의 ‘끝판왕’인 바둑을 정복한, 구글이 다음 도전 대상으로 꼽은 것은 RTS게임인 스타크래프트다. 구체적인 정보가 없어 벌써부터 별의별 말이 나오고 있기 때문에 현재 연구 상황부터 알아야 논의를 진행할 수 있을 듯하다.
먼저 ‘스타크래프트 I’이냐 ‘스타크래프트 II’냐인데, 결론부터 말하면 스타크래프트 II는 인공지능 개발이 쉽지 않다. 비디오게임 인공지능 연구에서 가장 어려운 점 중 하나는 기술을 적용할 게임을 확보하는 것이다. 게임 인공지능을 개발하려면 소스를 수정해야 하는데, 개발사의 도움 없이는 여간해서는 힘들다.
해킹 등의 부적절한 방법으로 할 수도 있지만 글로벌게임 회사들이 만든 완성도 높은 상용게임은 이마저 쉽지 않다. 대안으로 상용게임이 아닌 소스가 공개된 오픈게임을 연구하기도 한다. 하지만 게임의 완성도가 만족스럽지 못한 경우가 많다. 스타크래프트를 비롯한 RTS게임을 연구했던 연구자들도 오랫동안 이런 문제를 겪어왔다.
돌파구가 열린 것은 2010년이다. 해커들이 스타크래프트 I의 인공지능을 손쉽게 만들 수 있는 방법을 찾아낸 것이다. 해킹 기술로 임의의 인공지능 코드를 삽입할 수 있는 소프트웨어를 개발했다. 스타크래프트 시리즈의 제작사인 블리자드는 이 프로그램의 사용을 허락했고, 현재는 이 소프트웨어로 스타크래프트 인공지능을 개발하고 있다. 2010년에 출시된 스타크래프트 II는 아직 이런 방법을 허용하지 않았고, 해킹을 막는 기술도 뛰어나 해커들이 프로그램을 쉽게 고치지 못하고 있다.
같은 해 국제 인공지능 스타크래프트 대회가 곧바로 열렸다. 처음에는 국제전기전자공학회(IEEE), 세계인공지능학회(AAAI) 등 국제적인 학술단체가 주최하는 학회의 특별행사로 열리기 시작해 현재는 학회의 어엿한 주요 분야가 됐다. 전세계에서 15~20개 팀이 해마다 참가를 하고 있다. 세종대 팀도 2011년부터 ‘젤나가(Xelnaga, 스타크래프트 세계에서 모든 생명체를 만든 신적인 존재)’라는 이름으로 참가 중이다. 2014년부터는 IEEE 인공지능게임학회에서 개최하는 스타크래프트 대회를 세종대가 도맡아 주관하고 있다.
또 하나 논란이 되는 점은 인공지능의 압도적인 컨트롤을 어떻게 제한할 것이냐다. 단순하게 원거리에서 총을 쏘는 병사 10명으로 컴퓨터와 인간이 대결한다고 가정해보자. 마우스와 키보드로 직접 병사를 움직이는 인간은 모든 병사를 일일이 조종하는 게 현실적으로 불가능하다. 하지만, 컴퓨터 신호를 통해 명령을 내리는 인공지능은 하나하나를 섬세하게 움직일 수 있다. 이를 통해 더 유리한 진형을 만들고, 부상당한 병사를 뒤로 잠시 옮겼다가 다시 전투에 투입시킬 수도 있다.
최상급의 프로게이머들은 이런 간단한 컨트롤 정도는 웬만큼 한다. 임요환의 ‘살아있는 마린’ 같은 것을 생각하면 좋을 것이다. 이를 수치화하면, 최상급 프로게이머는 마우스와 키보드를 통해 분당 400~500개에 이르는 명령을 내릴 수 있다. 게임이 20분 가량 진행된다고 생각하면 스타크래프트 게이머는 짧은 시간 안에 1만 개에 이르는 판단을 내리는 셈이다. 놀라운 숫자지만, 컴퓨터는 이보다 몇 수 위다. 컨트롤이 뛰어난 스타크래프트 인공지능은 분당 5000개 이상의 명령을 내린다. 덕분에 인간으로서는 도저히 할 수 없는 극한의 컨트롤을 보여준다. 이를 증명하듯 인공지능의 뛰어난 컨트롤을 모아 놓은 특별 영상이 SNS를 통해 엄청난 인기를 끌기도 했었다. 때문에 공정한 대결을 위해서는 로봇팔을 만들어 컴퓨터도 직접 입력을 해야 된다는 으름장을 놓는 이들도 있다.
하지만 이런 걱정은 너무 앞서간 듯하다. 스타크래프트는 기본적으로 전략적인 판단을 매우 중요시하는 게임이기 때문에 단순히 컨트롤 실력만으로 전체 게임을 승리할 수는 없다. 컨트롤로 국지적인 전투에서 이득을 볼 수 있을지는 몰라도 결과적으로 게임을 이기기는 힘들다. 일례로 지난해 IEEE 인공지능게임학회에 출전했던 한 인공지능은 분당 행동수가 2만 회에 이르지만 프로게이머에 비하면 실력이 한참 못 미쳤다. 일정 횟수 이상 넘어가면 컨트롤이 늘지 않는 현상이 일어나기도 한다. 내가 명령을 많이 내린다고 해서 병력들이 더 빨리 움직이거나, 전투력이 더 강해지는 것이 아니기 때문이다.
![](https://images.dongascience.com/uploads/article/Contents/201603/S201604N029_2.jpg)
가위밖에 모르는 너란 인공지능, 인간보다 한수 아래
대회 초창기에는 상대의 전략은 무시한 채 본인 할 일만 하는 인공지능이 주를 이뤘지만 이 전략은 약점이 많다. 가위바위보에 비유하면, 상대가 뭘 낼지 미리 알 수 있는 기회를 포기하고 자신이 준비한 가위를 주구장창 내는 것과 비슷하다. 한 판은 요행으로 이길 수 있겠지만 가위를 낸다는 걸 알아차린 상대가 주먹을 내기 시작하면 절대 이길 수 없다. RTS게임에서는 상대의 정보를 끊임없이 파악하며 그에 맞춰나가는 게 매우 중요하다. 스타크래프트의 경우 정찰이다. 최근의 인공지능은 대부분 정찰을 진행해 상대의 전략을 보고 바위나 보를 내기도 한다.
우승을 하는 종족도 매해 바뀌고 있다. 스타크래프트에는 프로토스, 테란, 저그 등 세 가지 종족이 있는데, 초기에는 유닛 하나하나가 가격이 비싸고 강력한 프로토스가 주로 우승을 했다. 2014년에는 세밀한 제어가 중요한 테란이, 지난해에는 물량 공세가 가능한 저그가 우승을 차지했다. 인공지능 사이에도 종족간의 균형이 맞춰지고 있는 것이다. 지난해에는 최초로 세 가지 종족을 모두 다룰 수 있는 인공지능이 등장하기도 했다. 만약 구글이 스타크래프트에 도전한다면 어떤 종족을 고를까 살펴보는 것도 하나의 관전 포인트가 될 것이다.
아직까지는 인공지능으로 프로게이머를 상대하기엔 역부족이다. 일반 유저 가운데 중수만 돼도 이기기 힘들다. 간혹 첫판을 이기는 경우도 있지만 반복해서 게임을 할 경우 승률이 급격히 떨어진다. 컨트롤 능력은 인간과 동급이거나 그 이상이지만 장기적인 운영능력이 떨어진다.
![](https://images.dongascience.com/uploads/article/Contents/201603/S201604N029_3.jpg)
현재의 스타크래프트 인공지능은 알파고 이전의 바둑 인공지능과 비슷하다. 기존 바둑 인공지능들은 개발자가 미리 입력한 승리법에 따라 바둑을 뒀는데, 프로기사도 잘 모르는 승리법을 알고리즘으로 구체화시키기가 매우 힘들었다. 바둑의 추상적인 개념들을 컴퓨터가 이해할 수 있는 수식으로 표현하기 위해서 바둑 돌의 위치에너지 등 복잡한 개념이 동원됐다. 현재 스타크래프트 인공지능도 개발자가 입력한 몇 가지 시나리오를 토대로 상대의 정보를 파악한 뒤 실행에 옮기는 방식이다. 문제는 가위바위보처럼 시나리오가 단순하지 않다는 것이다. 정상급 프로게이머는 한 게임에서 작게는 수천 번, 많게는 수만 번 명령을 내리는데, 이를 몇 가지 큰 전략만으로 공략하는 것은 불가능하다.
바둑에도 이런 복잡한 전략이 문제가 됐기에, 알파고는 딥러닝 기술을 기반으로 인공지능이 스스로 바둑의 승리법을 학습하게 했다. 그제야 알파고는 프로기사들이 직관적으로 이해하는 승리법을 숫자로 이해할 수 있었다. 스타크래프트에도 딥러닝을 적용한다면 바둑처럼 절세의 고수, ‘알파크래프트’가 등장할 수도 있고, 그게 딥마인드가 목표하는 바다.
보이지 않는 정보에 무너질 알파크래프트
하지만 당장 스타크래프트에 딥러닝을 적용하긴 쉽지 않다. 바둑과 스타크래프트는 차이점이 꽤 크다. 우선 스타크래프트는 ‘실시간’ 게임이다. 바둑과 달리 장고에 빠지더라도 상대는 기다려 주지 않는다. 실시간 게임에서 시간을 조금이라도 지체하는 것은 그 자체로 이미 불리한 행동이다. 아무리 판단이 정확한 인공지능이라도 계산 시간이 오래 걸리면 스타크래프트에 활용하기는 어렵다. 알파고는 슈퍼컴퓨터급의 하드웨어로도 최적의 수를 찾는 데 평균적으로 1분씩 걸렸다. 스타크래프트 인공지능이 시간적으로 프로게이머와 대결하기 위해서는 적어도 0.15~0.2초 내에 새로운 판단을 해야 한다.
제한시간도 짧은데 정보량은 바둑 이상이다. 19×19크기의 바둑판에 세 가지 경우의 수(흑, 백, 빈 공간)뿐인 바둑과 달리 스타크래프트의 화면 크기는 640×480 픽셀이다. 바둑은 300장 정도의 바둑판 사진이면 한 게임을 분석할 수 있지만, 스타크래프트는 초당 24장의 프레임이 지나가며 게임시간은 평균적으로 20분 내외다. 만약 이 정보를 그대로 입력했다가는 어떤 컴퓨터도 처리할 수 없을 만큼 엄청난 양의 정보량이 발생할 것이다. 한 가지 대안은 의도적으로 이미지의 크기를 줄이는 것이다. 70년대 유행하던 간단한 고전게임, 3차원 미로게임, 자동차 경주게임 등에 딥러닝을 적용할 때 사용했던 방법이다. 게임 화면을 84픽셀 정도의 아주 작은 영상으로 줄여 분석하는 이 방법은, 앞선 시도에서 긍정적인 결과를 얻었다.
정보의 불확실성도 알파크래프트가 넘어야 할 산이다. 이미 인공지능에 정복된 바둑, 체스 등은 상대의 모든 정보가 공개된 오픈형 보드게임이다. 반면 포커 같은 일부 보드게임과 RTS게임은 가만히 앉아서는 상대가 무엇을 하는지 전혀 알 수 없다. 스타크래프트는 자신의 정찰병을 활용해 능동적으로 상대의 정보를 파악해야 한다. 상대 기지의 위치를 확인하기 위해 맵을 살펴야 하고, 기지를 찾은 뒤에는 혹시 상대가 무엇을 숨기지 않았을까 구석구석 살펴봐야 한다. 정찰병을 효과적으로 조정하는 동시에, 정찰과정에서 얻은 불확실한 정보를 바탕으로 자신의 전략을 수정해야 한다.
![](https://images.dongascience.com/uploads/article/Contents/201603/S201604N029_6.jpg)
뛰어난 프로게이머들은 이런 불확실성을 이용해 상대에게 잘못된 정보를 일부러 보여줘 혼란을 주는 심리전을 펼친다. 반대로 아주 작은 정보를 가지고도 상대의 전략을 정확히 찾아내곤 한다. 알파크래프트와 대결할 인간 대표로 가장 많은 추천을 받은 이영호(스타크래프트 공식전 통산 승률 1위)가 이런 눈치와 심리전의 달인이다. 모든 것이 공개된 바둑에서는 알파고가 사람보다 뛰어난 직관을 보여줬지만, 보다 정밀한 추론이 필요한 불확실한 전장에서도 이런 모습을 보여줄지는 미지수다. 딥러닝 열풍이 불어 닥치는 와중에도 딥러닝을 기반으로 한 스타크래프트 인공지능이 개발되지 않은 것은 이런 어려움 때문이다.
인공지능은 길을 찾을 것이다, 언제나 그랬듯
잊지 말아야 할 것은 스타크래프트 인공지능의 역사가 불과 6년이라는 점이다. 아직은 연구 노하우가 충분하지 않아 기술 개발이 더디다. 바둑의 경우도, 어느 날 갑자기 좋은 성과를 거둔 것처럼 보일 수도 있겠지만, 실제로는 지난 수십 년간의 도전과 실패가 있었기에 알파고가 탄생할 수 있었다. 알파고의 뼈대가 되는 컴퓨터 비전을 이용한 바둑 정책망 수립 기술은 알파고가 개발되기 전 이미 나와 있었다.
![](https://images.dongascience.com/uploads/article/Contents/201603/S201604N029_7.jpg)
짧은 역사를 고려하면 현재 스타크래프트 인공지능은 엄청나게 빠른 속도로 발전하고 있다. 해마다 스타크래프트를 공략하기 위해 재기발랄한 아이디어들이 계속해서 도전장을 내밀고 있다. 2014년 우승자인 캐나다 앨버타대 ‘앨버타 봇(UAlberta Bot)’은 개발자가 직접 전략을 짜는 대신, 인공지능 스스로 전략을 짜 다른 인공지능과 대결을 펼쳤다. 재작년 대회를 석권한 일본 리쓰메이칸대 ‘아이스봇(Ice_bot)’은 유체의 흐름을 설명하는 수학공식을 활용해 대규모 병력을 자연스레 움직였다. 프랑스 낭트대 ‘아이어(Aiur)’는 대회 초반에는 승률이 60%에 머물렀지만, 동일한 상대와 90번 대결을 펼친 뒤에는 상대에게 맞는 전략을 선택하여 73%로 승률을 끌어 올렸다. 이런 새로운 시도에 구글 같은 글로벌 기업의 막강한 하드웨어와 자본이 결합한다면, 알파크래프트를 생각보다 빨리 만나볼 수 있을 것이다.
![](https://images.dongascience.com/uploads/article/Contents/201603/S201604N029_8.jpg)