딥마인드 스타크래프트 II 팀과의 인터뷰
스타크래프트가 첫선을 보인 1998년, 인공 지능(AI) DeepMind의 연구원 Oriol Vinyals는 스페인에 살던 아이였습니다. Oriol은 곧 스타크래프트와 사랑에 빠졌고 래더 순위를 차근차근 올라가 WCG(월드 사이버 게임즈) 예선전 3위를 차지하기도 했습니다. 그 이후, Oriol은 AI 분야 최고 전문가 중 한 명이 되었습니다. 그런 그의 현재 프로젝트는 뭘까요? 바로 스타크래프트 II를 마스터할 봇, 즉 '에이전트'를 개발하는 것입니다.
///
이렇게 시간을 내주셔서 감사합니다! 자기소개를 부탁드려도 될까요?
Oriol: 안녕하세요, Oriol Vinyals입니다. DeepMind를 연구하는 과학자로 현재 스타크래프트 II 프로젝트를 이끌고 있어요. 최신 인공지능을 발전시키는 것이 목표죠. 스타크래프트는 아주 훌륭한 연구 도구죠. 사실, 버클리에서 제 박사학위 과정 일부로 스타크래프트를 다뤘어요.
박사 과정 중에 스타크래프트를 연구했나요?
Oriol: 제 친구가 이런 말을 했어요. "버클리에 AI대 AI로 스타크래프트 대결을 벌이려는 그룹이 있는데, 네 실력이 상당하잖아. 그러니까 가서 그 친구들 접근 방식을 살펴보고 도와주면 아주 좋을 것 같아."
그 그룹에서는 저그 뮤탈리스크 전술 봇을 만들고 있었어요. 저는 그쪽에서 만든 에이전트와 플레이했죠. 그 친구들이 저를 "코치"라고 불렀어요.
그 프로젝트에서는 전문가 기반 규칙 시스템을 사용했어요. "뮤탈리스크를 대량으로 뽑으려고 하는데, 그러려면 초반 러시를 버티고 생산에 필요한 만큼 확장 기지를 가져갈 수 있는 빌드 오더가 필요하다." 뭐 그런 식이었죠. 실제 뮤탈리스크 미세 컨트롤은 쉽지 않았지만, 접근법은 상당히 프로그램에 맞았죠. 저희가 실제로 그 대결에서 이겼어요. 정말 재미있었죠.
그때 작업이 지금 DeepMind 작업과 얼마나 다른가요?
Oriol: 저희는 DeepMind를 'AGI', 즉 인공 일반 지능이라고 부르는 인공 지능으로 만들고 있어요. 특정한 하나의 게임 에이전트만이 아니라 학습 패러다임을 이해함으로써 사전 지식 없이 어떤 게임이든 플레이할 수 있는 에이전트를 만드는 중이죠. 상당히 어려운 작업이지만 그만큼 재미있어요. 에이전트에 규칙을 알려주는 대신 화면을 제공하죠. "여기 마우스와 키보드가 있어. 게임과 상호작용을 시작해봐. 더 잘할 수 있도록 노력해봐."라고요.
DeepMind가 스타크래프트의 어떤 점에 끌렸나요?
Oriol: 스타크래프트에는 AI가 도전할만한 과제가 있어요. 바둑에서는 언제나 바둑판 전체를 볼 수 있지만, 스타크래프트에서는 아니니 정찰도 해야 해요. 또한, 상호작용을 해야 하죠. Atari에서 수행할 수 있던 14개의 조작에 비교하면 스타크래프트는 마우스 클릭 방식으로 게임과 상호작용하는 에이전트가 가능한지 확인할 수 있는 정말 좋은 시험대에요.
프로젝트는 잘 진행되고 있나요?
Oriol: 이러한 모델의 훈련 방식에 따라 명확하게 나타나는 어려움이 있어요. 돌이켜 생각해 보면 당연한 걸 수도 있네요. 예를 들어, 전장을 살펴보기 위해 카메라를 이동해야 하는데, 무작위 에이전트가 카메라를 기지 밖으로 이동하더니 기지로 다시 돌아가지 않는 거예요. 기지로 돌아가서 건물도 짓고 해야 하는데 말이죠.
인간에게 아주 간단한 일을 에이전트는 아주 엉망으로 처리할 때가 있어요. 화면 왼쪽 아래에 있는 미니맵을 보면 카메라 이동에 도움이 되잖아요. 그런데 에이전트는 미니맵을 클릭해 놓고 가만히 있을 때도 있고, 그러다 갑자기 운 좋게 기지를 클릭해서 돌아와요. 그런데 돌아와서 한다는 일이 일꾼을 죄다 선택해서 어딘가로 보내버리는 식이에요.
보고 있으면 정말 억장이 무너질 때가 있어요. 여기서부터 에이전트가 어떤 신호를 얻기 시작해야 해요. 일종의 보상이요. 에이전트가 운 좋게 뭔가 제대로 된 활동을 한 다음, 오직 그런 다음에만 학습을 시작할 수 있게 돼죠. 상당히 빠르게 합리적인 활동을 습득할 수 있는 바둑과 달리 스타크래프트에는 기하급수적으로 증가하는 활동 공간이 있습니다. 이건 시작부터 난관이죠. 특히 제한 없는 전체 게임 설정에서는요.
저희는 스타크래프트의 간소화 버전으로 미니 게임들을 내놓았어요. 게임의 특정 부분을 지도를 구성했죠. 그러니까 '확장 및 일꾼 대량 생산' 또는 '유닛을 주변으로 이동하여 최대한의 전장을 확보' 등등요. 그 미니 게임 단계에는 현재 기본 유닛 이동, 전투 상황 등을 학습할 수 있는 에이전트가 있어요.
(자세한 내용은 블리자드와 DeepMind 공동 논문인 초기 스타크래프트 II 연구 결과에서 확인할 수 있습니다.)
지금까지 놀라운 발견은 없었나요?
Oriol: 두 명의 해병이 있는 전장이 있어요. 에이전트의 임무는 전장에서 흩어진 광물을 습득하는 거죠. 거기서 에이전트가 알아내기 정말 어려웠던 점이 하나 있는데, 바로 해병을 개별적으로 사용해야 한다는 점이었어요. 하지만, 해병으로 순찰하는 방법은 학습할 수 있었어요. 저는 모르던 방법이었죠. 순찰을 통해 해병 사이의 거리를 일정하게 유지하고 동시에 제어하면서 추가 광물을 습득할 수 있었죠. 그걸 보고 저는 처음으로 이런 말을 했어요. '그래, 방금 스타크래프트 II에 대해 새로운 점을 배웠군.'
( 동영상 )
이 시점에서 안 물어볼 수가 없는데요, 에이전트가 결국 사람보다 더 잘하게 될까요?
Oriol: 저도 모르겠네요. 접근법 자체는 확장성이 있어요. 그건 확실하죠. 제가 2010년에 버클리에서 했던 식으로 봇을 만들면 분명 몇 개 정도의 빌드 오더를 수행할 수는 있어요. 하지만, 확장성은 상당히 제한되죠. 누군가 플레이 방법을 연구하고 약점을 파악할 수 있어요. 저희 접근법에서 제가 좋아하는 점은 에이전트가 제대로 작동한다면 광범위한 전략을 학습하고 플레이하게 된다는 점이에요. 바둑 고수를 프로그래밍할 수 없었던 것과 마찬가지로 프로그램만으로는 구현할 수 없는 플레이를 보여줄 수 있는 거죠.
최고를 이길 수 있냐는 문제에 대해서는... 저도 모르겠어요. 지켜봐야죠. 과연 이길 수 있을지는 예측하지 못하겠어요.
더 많은 20주년 기사를 읽어보세요
- Scarlett, NoRegreT, 그리고 스타크래프트 II e스포츠를 바꾸는 하우스
- 진화 완료: 스타크래프트 II에서 다시 태어난 고전적인 유닛