에이전트가 스스로 좋은 방법을 찾아내야 하는 강화학습과 달리 모방학습은 인간 전문가의 행동을 재현하기 만하면 되는 것이다. 구글 AI의 이 솔루션은 머신러닝 전문 지식이 필요하지 않으며 테스트 애플리케이션을 위한 에이전트 학습은 개발자 컴퓨터에서 1시간미만으로 가능해졌다.

이미지:본지
이미지:본지

지난 20년 동안 컴퓨팅 및 네트워크의 극적인 발전으로 개발자들은 보다 다양하고 난의도 높은 게임을 구현할 수 있었다. 즉, 단순한 선형 수준에서 보다 사실적인 세계로 진화했으며, 절차적 알고리즘은 전례 없는 다양성을 지닌 게임의 구현을 가능하게 했다.

네트워크를 통한 게임은 보다 사실적이고 역동적인 온라인 서비스로 변모했다. 하지만 안타깝게도 게임 품질이 자동화된 테스트 기능보다 범위와 복잡성이 더 빠르게 증가하고 있다. 이는 제품 품질(출시 지연, 출시 후 패치)과 일부 개발자의 삶의 질에 모두 문제를 제기하기도 한다.

이미, 인공지능(AI) 머신러닝(ML) 기술은 이러한 게임 개발 프로세스에 지대한 영향을 미칠 수 있는 가능성을 입증했으며, 가능한 해결책을 제시하고 있다. 이러한 기술은 게임의 균형을 맞추고 개발자가 기존에 소요되는 시간보다 훨씬 짧은 시간에 고품질 자산을 배포할 수 있도록 지원한다.

게다가, 머신러닝은 최고 수준의 게임에서 경쟁할 수 있는 도전적인 상대들을 학습시키는 데 사용될 수 있다. 그러나 게임별 네트워크 아키텍처 설계, 머신러닝 알고리즘 구현에 대한 전문 지식 개발, 수십억 프레임의 학습 데이터 생성 등 일부 머신러닝 기술은 현재, 프로덕션 게임 팀에 비현실적인 요구 사항을 제기할 수도 있다는 것이다.

반대로 게임 개발자들는 게임 소스에 직접 액세스하거나 전문가 시연, 비디오 게임 특유의 인터랙티브 특성과 같은 머신러닝 기술을 활용할 수 있는 고유한 이점을 제공하는 환경에서 운영되고 있다.

여기에, 구글AI 연구팀이 게임 개발자가 게임 테스트 에이전트를 빠르고 효율적으로 학습하는 데 사용할 수 있는 머신러닝 기반 시스템을 제공하여 개발자가 심각한 버그를 신속하게 찾을 수 있도록 지원하는 동시에 인간 테스터가 더 복잡하고 복잡한 문제에 집중할 수 있도록 하는 솔루션을 지난달 29일 솔루션을 오픈 소스로 공개했다.

지원되는 장르에는 아케이드, 액션 / 어드벤처 및 레이싱 게임이 포함(사진:구글AI)
지원되는 장르에는 아케이드, 액션 / 어드벤처 및 레이싱 게임이 포함(사진:구글AI)

이 솔루션은 게임 개발자가 머신러닝 전문 지식이 필요하지 않으며 가장 인기 있는 여러 게임 장르에서 작동하며, 단일 게임 인스턴스에서 1 시간 이내에 게임 상태에서 게임 작업을 생성하는 머신러닝 알고리즘을 훈련할 수 있다.

올바른 일을 위한 올바른 도구 비디오 게임 테스트의 가장 기본적인 형태는 단순히 게임을 하는 것이다. 일반적으로 대부분의 심각한 버그(충돌 등)는 감지하고 수정하기 쉽다. 그러나 과제는 현대 게임의 광대한 상태 공간에서 버그를 찾는 것이다. 따라서 구글 AI 연구팀은 대규모로 '게임을 할 수 있는(Just play the game)' 시스템을 훈련하는 데 집중하기로 했다.

특히, 이를 수행하는 가장 효과적인 방법은 종단간(end-to-end)에서 플레이할 수 있는 매우 효과적인 단일 에이전트를 교육하는 것이 아니라 개발자에게 게임 앙상블을 훈련할 수 있는 능력을 제공하는 것인데, 각 에이전트는 각각 몇 분씩의 작업을 효과적으로 수행할 수 있다. 이를 '게임 플레이 루프(Gameplay loops)'라고 한다.

이러한 핵심 게임 플레이 동작은 전통적인 방법을 통해 프로그래밍 하는 데 비용이 많이 들지만 단일 엔드 투 엔드 머신러닝 모델보다 훈련하는 것이 훨씬 효율적이다. 실제로 상업용 게임은 코어 게임 플레이 루프를 반복하고 리믹스 하여 더 긴 루프를 생성한다. 이는 개발자가 머신러닝 알고리즘을 소량의 간단한 스크립틴(Scriptin)과 결합시켜 대규모의 게임 플레이를 테스트할 수 있음을 의미한다.

시뮬레이션 중심의 시맨틱 API는 게임 개발에 머신러닝을 적용할 때 가장 근본적인 과제 중 하나는 시뮬레이션 중심의 비디오 게임 세계와 데이터 중심의 머신러닝 세계 사이의 틈을 연결하는 것이다.

개발자에게 게임 상태를 사용자 지정의 낮은 수준의 머신러닝 기능 (너무 노동 집약적)으로 직접 변환하도록 요청하거나 학습에 너무 많은 데이터가 필요한 원시 픽셀에서 학습을 시도하는 대신, 연구팀의 솔루션은 개발자에게 플레이어가 관찰하는 필수 상태와 수행할 수 있는 의미적 작업의 관점에서 게임을 설명할 수 있다. 관용적이고 게임 개발자 친화적인 API를 제공하는 것이다.

이 모든 정보는 엔티티, 레이캐스트, 3D 위치 및 회전, 버튼 및 조이스틱과 같이 게임 개발자에게 친숙한 개념을 통해 표현된다. 아래 그림에서 볼 수 있듯이 API는 단 몇 줄의 코드로 관찰 및 작업을 지정할 수 있다.

레이싱 게임의 행동과 관찰의 예시(이미지:구글AI)

API에서 신경망(Neural Network)까지의 높은 수준의 시맨틱 API는 사용하기 쉬울 뿐만 아니라 시스템이 개발 중인 특정 게임에 유연하게 적응할 있게 해준다. 게임 개발자가 사용하는 API 구성 요소의 특정 조합은 시스템이 실행되는 게임 시나리오의 유형에 대한 정보를 제공하기 때문에 네트워크 아키텍처의 선택을 알려준다.

이에 대한 몇 가지 예를 들자면, 디지털 버튼인지, 아날로그 조이스틱인지에 따라 액션 출력을 다르게 처리하거나, 이미지 처리 기술을 사용하여 에이전트(자율 주행차량이 LIDAR로 환경을 인식하는 방법과 유사)가 레이 캐스트로 환경을 탐색한 결과를 관찰하고 처리한다.

구글 AI연구팀의 API는 1인 게임, 카메라 관련 컨트롤이 있는 3인 게임, 레이싱 게임, 트윈 스틱 슈터(Twin stick shooters)와 같은 게임에서 많은 일반적인 제어 체계 (동작을 제어하는 ​​동작 출력 구성)를 모델링할 수 있을 만큼 일반적이며, 유용하다.

또한, 3D 동작(Movement)과 조준(Aiming)은 일반적으로 게임 플레이의 필수 요소이기 때문에 연구팀은 이러한 게임에서 조준, 접근 또는 회피와 같은 단순한 행동을 자동으로 하는 네트워크를 구축했다.

솔루션으로 훈련된 FPS 게임 시연
솔루션으로 훈련된 FPS 게임 시연

솔루션은 게임의 제어 체계를 분석하여 해당 게임에서 관찰 및 작업의 사용자 지정 처리를 수행하는 신경망 레이어를 생성하고 이를 수행한다. 예를 들어, 물체의 위치와 회전은 AI가 제어하는 게임 개체의 관점에서 방향과 거리로 자동 변환된다. 이러한 전환은 일반적으로 학습 속도를 높이고 학습된 네트워크가 더 잘 일반화되도록 도와준다.

또한 전문가로부터 실시간으로 학습으로 신경망 아키텍처를 생성한 후 적절한 학습 알고리즘을 사용하여 게임을 플레이하도록 네트워크를 훈련한다. 보상을 극대화하기 위해 머신러닝 알고리즘을 직접 훈련하는 강화학습(RL)은 게임에 대한 고도로 유능한 머신러닝을 학습하는 데 성공적으로 사용되었기 때문에 당연한 선택처럼 보일 수 있다.

그러나 강화학습 알고리즘은 단일 게임 인스턴스가 합리적인 시간 내에 생성할 수 있는 것보다 더 많은 데이터를 필요로 하는 경향이 있으며, 새로운 도메인에서 보다 좋은 결과를 얻으려면 종종 초매개변수(Hyperparameter) 튜닝과 강력한 머신러닝 도메인 지식이 필요하다.

대신, 구글 AI연구팀은 전문가가 게임을 하는 것을 관찰하여 훈련시키는 것에 모방학습(Imitation learning)이 이상적이라는 것을 찾아냈다. 에이전트가 스스로 좋은 방법을 찾아내야 하는 강화학습과 달리 모방학습은 인간 전문가의 행동을 재현하기 만하면 되는 것이다.

이처럼 구글 AI연구팀은 DAgger 알고리즘에서 영감을 받은 모방학습 접근 방식을 사용하여 비디오 게임의 가장 핵심인 상호 작용(Interactive)에 활용할 수 있었다. 또, 시맨틱 API로 가능해진 훈련 시간과 데이터 요구 사항의 감소 덕분에 훈련은 사실상 실시간으로 이루어지므로 개발자는 게임 플레이 데모 제공과 시스템 플레이 보기 사이를 유동적으로 전환할 수 있었다.

개발자의 관점에서 볼 때, 단순히 컨트롤러를 집어 들고 게임을 시작하는 것만으로 결함 있는 동작을 시연하거나 수정할 수 있다. 완료되면 컨트롤러를 내려놓고 머신러닝이 실행되는 것을 볼 수 있다. 그 결과 실시간 학습, 대화형 훈련, 매우 경험적 교육, 그리고 종종 재미 이상의 경험이 제공된다.

결론적으로 구글 AI는 다양한 장르의 비디오 게임 테스트를 위한 유용한 머신러닝 알고리즘 훈련을 가능하게 하는 DAgger에서 영감을 받은 대화형 훈련 프로세스와 높은 수준의 시맨틱 API를 결합한 시스템을 제시한 것이다. 특히, 이 솔루션은 머신러닝 전문 지식이 필요하지 않으며 테스트 애플리케이션을 위한 에이전트 학습은 종종 단일 개발자 컴퓨터에서 1시간미만으로 가능해졌다.

한편, 구글 AI는 이 솔루션이 접근 가능하고 효과적이며, 사용하기 쉬운 방식으로 빠른 시간 내에 실제 게임을 개발하고 배포할 수 있는 머신러닝 기술의 개발에 영감을 줄 수 있기를 바란다고 밝혔다. 현재, 이 솔루션은 깃허브(다운)를 통해 누구나 사용할 수 있으며, 학습 알고리즘은 텐서플로우 에이전트(다운)에 의해 제공되며, 텐서프로우 라이트(다운)에 의한 온-디바이스 추론이 제공된다.

저작권자 © 인공지능신문 무단전재 및 재배포 금지