엔씨소프트는 AI를 어떻게 활용할까

AI 모션 생성과 프로게이머 수준 AI

가 +
가 -

엔씨소프트는 2011년부터 인공지능(AI) 연구개발 조직을 꾸렸다. 지속적인 조직 확장을 거쳐 현재 김택진 대표 직속 조직으로 AI센터와 NLP센터 산하에 5개 조직을 운영 중이다. 소속된 AI 전문 연구 인력만 약 150여 명이다. 이들은 AI 기술을 활용해 어떤 연구를 진행하고 있을까. 가장 최근 공개된 프로젝트는 딥러닝 기반의 캐릭터 모션 생성과 강화학습을 이용한 프로게이머 수준의 AI다.

| ‘2019 NDC’에서 모션 생성 AI를 주제로 발표한 유문원 엔씨소프트 AI센터 게임 AI 랩 연구원

엔씨소프트 AI센터 게임 AI 랩 소속 유문원 연구원과 문상빈 연구원은 지난 4월24일 ‘2019년 넥슨 개발자 컨퍼런스(NDC)’에서 각각 ‘AI로 고퀄리티 모션 만들기’, ‘강화학습을 이용하여 프로게이머 수준의 블레이드 앤 소울 비무 AI 만들기’를 주제로 발표했다. 엔씨소프트는 지난 3월 글로벌 게임 개발자 컨퍼런스 ‘GDC 2019’에서도 같은 주제로 게임 AI 기술을 발표한 바 있다.

모션 캡쳐 대신 AI가 만들어주는 모션

유문원 엔씨소프트 AI센터 게임 AI 랩 모션 AI팀 연구원은 지형 적응형 실시간 모션 생성 기술을 소개했다. 3D 캐릭터의 움직임을 사람처럼 자연스럽게 구현하는 모션 생성에는 돈이 많이 들어간다. 품질을 높이기 위해 주로 사용하는 모션 캡쳐는 실제 배우와 장비를 써야 하며, 이를 다시 그래픽 형태로 변환하는 과정에 많은 품이 들어간다. 적게는 하루, 많게는 3일을 투자해야 10초 분량의 작업물이 나온다.

하지만 그만큼 게임에서 모션은 중요한 요소다. 실제 사람처럼 움직이는 자연스러운 모션만으로도 큰 몰입감을 줄 수 있다. ‘디트로이트 비컴 휴먼’과 ‘레드 데드 리뎀션2’가 대표적인 예다. 그렇다면 고품질 모션을 AI를 활용해 자동으로 만들 수 있다면 어떨까. 모션 생성에 들어가는 시간과 비용을 낮추면서 게임 몰입감을 높일 수 있게 된다. 모션 AI 연구가 시작된 배경이다.

AI 모션 생성 기술은 AI에게 고품질 모션을 배우게 하고 새로운 모션을 만들 수 있게 하는 방식이다. 특히 엔씨소프트 모션 AI팀은 게임 속 지형 환경에 대응하는 모션을 AI가 생성하는 연구에 들어갔다. 벽을 타고 오르는 움직임을 자연스럽게 구현하기 위해 ‘역운동학(IK, Inverse Kinematics)’ 기술을 활용했다.

| ‘언리얼엔진4 투본 IK’보다 더 자연스러운 움직임을 나타냈다.

엔씨소프트 모션 AI팀의 과제는 공성전 플레이에서 성벽 모양에 맞게 캐릭터가 벽을 오르는 연출을 구현하면서 동시에 수십 명의 플레이어를 실시간 처리할 수 있는 성능을 내는 일이었다. 기존 방법으로는 해결할 수 없는 과제를 AI 학습을 통해 풀려고 했다. 학습을 위해서는 데이터가 필요하다. 하지만 양질의 모션 데이터를 구하는 일은 어렵다. 이 때문에 모션 AI팀은 벽을 오르는 상용 데모 모션 하나를 레퍼런스로 활용해 학습용 데이터를 직접 생성했다.

이렇게 구현된 실시간 모션 생성 모델은 실제 게임에 적용하기 위해 성능 최적화 과정을 거쳤다. 작은 크기의 신경망 모델을 적은 양의 연산으로 자주 실행해야 했고, 빠른 응답 속도가 요구됐으며, 게임 성능에 적은 영향을 미쳐야 했다. 유문원 연구원은 이 과정에서 CPU 유휴 자원을 활용했다고 밝혔다. 보통은 AI 연산에 유리한 GPU가 많이 활용되지만, 게임은 GPU 자원을 많이 쓰기 때문에 많이 남는 CPU 성능을 활용했다는 설명이다. 여기에 ‘인텔 오픈비노 툴킷(Intel OpenVINO Toolkit)’을 이용해 성능을 높였다.

| 동시에 100명의 캐릭터가 벽을 타고 올라도 프레임당 연산 시간은 1ms 내외에 불과했다.

또 동일한 연산을 모아 한꺼번에 처리하는 배치(Batch) 추론 방식으로 연산 효율성을 높였다. 그 결과 동시에 100명의 캐릭터가 벽을 타고 올라도 프레임당 연산 시간은 1ms 내외에 불과했다. 이 캐릭터들은 각기 다른 벽면을 인식해 다른 모션으로 벽을 오른다.

유문원 연구원은 지형의 세세한 모양을 고려하지 않는다는 점, 목표 지점 위치만 고려하기 때문에 캐릭터 몸 일부분이 벽 속으로 묻히는 현상이 발생한다는 점을 보완해야 할 사항으로 꼽았다. 이 밖에도 각 캐릭터 스타일에 맞는 모션을 자동으로 생성해주는 ‘모션 스타일 트랜스퍼’ 등을 연구 중이라고 밝혔다.

프로게이머 수준의 AI

엔씨소프트가 최근 진행한 또 다른 AI 연구는 프로게이머 수준으로 게임을 잘하는 AI를 만드는 일이다. 대상이 된 게임은 엔씨소프트 MMORPG ‘블레이드 앤 소울’의 PVP 대전 콘텐츠 ‘비무’다. ‘블레이드 앤 소울’은 사실적인 무술을 표현한 전투 시스템으로 호평을 받은 게임이다. 비무는 프로게이머 e스포츠 대회가 열리는 콘텐츠이기도 하다. 엔씨소프트는 프로게이머 수준으로 비무를 플레이할 수 있는 AI를 만들고자 했다.

여기에는 보상을 주는 방식으로 더 나은 행동을 배우도록 하는 ‘강화학습’이 활용됐다. 딥마인드의 ‘알파고’, ‘알파스타’ 등 게임 AI에 사용되는 핵심 기술이다. 문상빈 연구원은 ‘블레이드 앤 소울’ 비무 콘텐츠가 AI가 학습하기에 바둑보다 경우의 수가 많아 난이도가 높고 ‘스타크래프트2’보다는 난이도가 낮은 편이라고 설명했다.

| 비무 AI 작동 방식

기본적인 규칙은 3분의 제한 시간 안에 상대 체력(HP)을 0으로 만드는 것을 목표로 했다. 또 실시간 대전방식으로 거리, 스킬, 상성 등 바둑보다 게임이 복잡하기 때문에 AI의 행동 공간을 축소하는 방식으로 모델 학습을 진행했다. 이동이나 스킬 사용에 있어서 결정의 가짓수를 줄였다. 또 0.1초 만에 즉각적인 행동이 이뤄져야 하기 때문에 탐색 기반 방법을 배제하고 인공신경망만을 활용해 빠르게 계산하도록 만들었다.

프로게이머의 다양한 플레이 스타일에 대응하기 위해 전투 스타일을 공격형, 밸런스형, 수비형 세 가지로 분류해 학습을 시켰다. 비무 AI는 이용자 로그데이터를 기반으로 AI를 학습시키는 방식과 AI끼리 대결하며 성장하는 두 가지 방식을 병행해 개발됐다. 비무 AI는 계속해서 과거의 자신과 겨루는 과정에서 스스로 약점을 극복해 강해졌다. 또 효율적인 학습을 위해 캐릭터 직업은 ‘역사’로 제한했다.

| 과거의 자신과 대전을 치르는 방식으로 AI를 학습시켰다.

이렇게 학습시킨 AI를 검증하기 위해 ‘블레이드 앤 소울 토너먼트 2018 월드 챔피언십 대회’ 블라인드 매치에 출전시켰다. 공격형, 밸런스형, 수비형 3종의 AI가 3명의 프로게이머와 대결했다. 프로게이머는 상대가 AI인지 모르는 상태에서 경기를 진행했다. 대회에는 2주간 학습시킨 AI가 출전했다. 실제 게임 플레이 시간으로는 약 4년에 해당하는 대전을 치렀다. 문상빈 연구원은 경기 공정성을 위해 AI 반응 속도를 프로게이머와 비슷한 수준인 240ms로 제한했다고 밝혔다.

결과적으로 비무 AI는 사전 경기, 챔피언십 대회를 포함해 프로게이머와의 대결에서 좋은 결과를 보여줬다. 공격형 AI는 11승 1패, 밸런스형 AI는 5승 7패, 수비형 AI는 5승 5패의 결과를 기록했다.

문상빈 연구원은 “복잡한 격투 게임에 강화학습을 적용해 프로 수준의 AI를 만들 수 있었다”라며, “보상을 적절히 조절함으로써 전투 스타일을 부여할 수 있었고, AI의 과거 모델들을 상대로 학습하는 것이 일반화에 도움이 됐으며, 결정 공간을 축소하는 것이 효율적인 탐색에 도움이 됐다”라고 연구 결과에 대해 밝혔다.

네티즌의견(총 0개)