프로게이머 이긴 '블소' AI는 어떻게 만들어졌나?
2019.03.20 17:31 게임메카 이재오 기자
'블소' PvP 콘텐츠에 적용될 이 인공지능은 딥러닝을 적용한 심층강화학습 기술로 스스로 다양한 전투법을 몸에 익힌 똑똑한 친구다. 알파고나 알파스타같은 지능 위주 게임이 아닌 수십 분의 일 초 단위 판단이 필요한 MMORPG PvP 모드에서 딥러닝 AI가 적용된 사례는 굉장히 드물다. 이 AI는 어떤 방식으로 학습했길래 프로게이머와 겨룰 수준의 실력을 갖게 됐을까? 이번 GDC 현장에서 엔씨소프트 강화학습 팀 정지년 팀장과 노승은 연구원이 발표한 <강화학습을 이용한 프로게이머 수준의 '블소' 비무 AI 개발> 강의에서 그 방법을 구체적으로 들을 수 있었다.
인공지능이 게임 시스템을 이해하는 것부터 차근차근
AI에게 프로게이머 수준의 경기력을 지니게 하기 위해선 일단 스킬 시스템을 이해시키는 것이 제일 중요했다. 군중 제어기와 대미지 딜링용 스킬을 연계해서 쓸 수 있게 하고 회피와 반격을 위해 적절한 타이밍과 거리를 재도록 해야 했다. 더불어 각 스킬이 가진 상성을 이해시키고 어떤 움직임이 제일 효율적인지를 체크할 수 있도록 만들 일련의 과정이 필요했다.
이를 위해선 몇 가지 과제를 수행해야만 했다. 첫 번째는 복잡성을 줄이는 과정이다. '블소'에서 한 번 전투가 벌어질 때 발생하는 경우의 수는 바둑의 몇백 배는 될 정도로 복잡하다. 덕분에 딥러닝을 통해서 AI가 배워야 할 것도 기하 급수적으로 늘어난다. 이를 줄이기 위해 정지년 팀장은 활동 공간을 눈에 띄게 줄이는 방향으로 갔다. AI로 하여금 불펼요한 움직임은 처음부터 하지 않도록 가르친 것이다.
이 실시간 반응과 함께 고려되어야 하는 것이 바로 추상화 작업이었다. 사람마다 다른 패턴을 스스로 분석하고 일반화 시켜 상황에 따른 답안을 내놓을 수 있도록 추가적인 훈련이 필요했다. 이를 위해서 다양한 프로 선수들의 경기를 반복적으로 학습하게 만들었다. 수없이 많은 움직임 중에서도 가장 모범적인 움직임들을 보고 일반화 과정을 이해하는데 성공했다.
보상을 이용해 본격적인 싸움 법을 알려주기
마지막으로 AI가 보다 기민하면서도 다채로운 움직임을 보여주기 위해선 다양한 방식의 전투법을 익혀야 했다. 각각 공격적인 형태와 방어적인 싸움법, 공수를 골고루 사용하는 스타일을 자유자재로 구사하는 것이 필요했다. 연구팀은 이를 위해서 '보상을 통한 강화학습'을 선택했다.
연구팀이 AI에게 설정한 기본적인 보상은 승리와 더 많은 HP였다. 쉽게 말해 더 큰 HP 차이를 유지한 채 이기면 더 큰 보상을 얻고 반대의 경우는 보상을 얻지 못하는 것이다. 더불어 스타일에 따라 거리 패널티, 공격 연계의 딜레이, 자신과 적 사이의 HP 비율 등으로 시작 조건을 다르게 구성해 상황에 맞는 전술을 구사하도록 학습 과정을 설정했다.
결과적으로 프로게이머와의 공식적인 전적에서 공격적 스타일의 경우 92% 승률, 밸런스 타입은 42%, 방어형 AI는 50% 승률이라는 준수한 성적을 보였다. 보상을 통한 강화학습이 효과적으로 작용함을 입증한 것이다.
유저들에게 그 자체로 새로운 콘텐츠가 될 수 있는 연구
AI가 실제 사람처럼 움직이면서도 프로게이머 못지 않은 실력을 지니고 있다면 이는 그 자체로 훌륭한 콘텐츠가 될 수 있다. 더불어 그동안 나왔던 연습용 더미보다 훨씬 좋은 연습상대가 되어줄 것이다.
물론, 앞에서 이야기했듯이 보상을 이용한 강화학습도 완벽한 것은 아니다. 인간과 오랜시간 대련하다 보면 약점이 드러난다는 점에서 알 수 있다. 다만, 그 과정을 스스로 깨우치는 AI가 제대로 개발된다면, 머지 않아 진짜 프로게이머 수준의 AI가 유저의 연습상대가 되어줄지도 모를 일이다.