지난달, 구글의 GameNGen AI 모델은 일반화된 이미지 확산 기술을 사용하여 Doom 의 통과 가능하고 플레이 가능한 버전을 생성 할 수 있음을 보여주었습니다. 이제 연구자들은 MarioVGG라는 모델과 유사한 기술을 사용하여 AI가 사용자 입력에 응답하여 Super Mario Bros. 의 그럴듯한 비디오를 생성할 수 있는지 확인하고 있습니다.
암호화에 인접한 AI 회사인 Virtuals Protocol 에서 출판한 사전 인쇄 논문으로 제공되는 MarioVGG 모델 의 결과는 여전히 많은 명백한 결함을 표시하며, 현재로서는 실시간 게임 플레이에 접근하기에는 너무 느립니다. 그러나 결과는 제한된 모델조차도 비트(Bit) 의 비디오와 입력 데이터만 연구해도 인상적인 물리 및 게임 플레이 역학을 추론할 수 있음을 보여줍니다.
연구자들은 이것이 "신뢰할 수 있고 제어 가능한 비디오 게임 생성기를 제작하고 입증하는 것"을 향한 첫 걸음이 되거나, 미래에는 "비디오 생성 모델을 사용하여 게임 개발 및 게임 엔진을 완전히 대체하는 것"이 될 수 있기를 바라고 있습니다.
모델을 훈련하기 위해 MarioVGG 연구원(GitHub 사용자 erniechew 와 Brian Lim이 기여자로 나열됨)은 기계 학습 목적으로 정리된 280개의 "레벨"에 해당하는 입력 및 이미지 데이터가 포함된 Super Mario Bros. 게임플레이의 공개 데이터 집합으로 시작했습니다(레벨 1-1은 훈련 데이터에서 제거되어 평가에 이미지를 사용할 수 있었습니다). 해당 데이터 집합 의 737,000개가 넘는 개별 프레임은 35개 프레임 청크로 "사전 처리"되어 모델이 다양한 입력의 즉각적인 결과가 일반적으로 어떻게 보이는지 학습하기 시작할 수 있었습니다.
"게임 플레이 상황을 단순화하기 위해" 연구자들은 데이터 세트에서 두 가지 잠재적 입력에만 집중하기로 했습니다. "오른쪽으로 달리기"와 "오른쪽으로 달리고 점프"입니다. 하지만 이 제한된 움직임 세트조차도 머신 러닝 시스템에 약간의 어려움을 안겨주었습니다. 프리프로세서는 점프하기 전에 몇 프레임 동안 뒤를 돌아보며 "달리기"가 시작되었는지, 언제 시작되었는지 알아내야 했기 때문입니다. 연구자들은 공중 조정(예: "왼쪽" 버튼)이 포함된 점프도 "이렇게 하면 훈련 데이터 세트에 노이즈가 발생하기 때문에" 버려야 했다고 적었습니다.
전처리(및 단일 RTX 4090 그래픽 카드에서 약 48시간의 학습) 후, 연구자들은 표준 합성 및 노이즈 제거 프로세스를 사용하여 정적 시작 게임 이미지와 텍스트 입력(이 제한된 사례에서 "실행" 또는 "점프")에서 새로운 비디오 프레임을 생성했습니다. 이렇게 생성된 시퀀스는 몇 프레임 동안만 지속되지만, 한 시퀀스의 마지막 프레임은 새로운 시퀀스의 첫 번째 프레임으로 사용할 수 있어 연구자들에 따르면 "일관되고 일관된 게임 플레이"를 보여주는 모든 길이의 게임 플레이 비디오를 생성할 수 있습니다.
이 모든 설정에도 불구하고 MarioVGG는 실제 NES 게임과 구별할 수 없는 매끄럽고 부드러운 비디오를 생성하지 못합니다. 효율성을 위해 연구자들은 NES의 256×240 해상도에서 훨씬 더 탁한 64×48로 출력 프레임을 축소합니다. 또한 35개 프레임의 비디오 시간을 "균일한 간격"으로 분산된 7개의 생성된 프레임으로 압축하여 실제 게임 출력보다 훨씬 거칠어 보이는 "게임플레이" 비디오를 만듭니다.
이러한 제한에도 불구하고 MarioVGG 모델은 현재로서는 실시간 비디오 생성에 접근하는 데도 어려움을 겪고 있습니다. 연구자들이 사용한 단일 RTX 4090은 6프레임 비디오 시퀀스를 생성하는 데 무려 6초가 걸렸는데, 이는 극히 제한된 프레임 속도에서도 반초가 조금 넘는 비디오에 해당합니다. 연구자들은 이것이 "대화형 비디오 게임에 실용적이지 않고 친화적이지 않다"는 것을 인정하지만, 향후 가중치 양자화(그리고 아마도 더 많은 컴퓨팅 리소스 사용)의 최적화가 이 속도를 개선할 수 있기를 바라고 있습니다.
하지만 이러한 한계를 염두에 두고 MarioVGG는 Google의 Genie 게임 메이커 와 비슷하게, 정적인 시작 이미지에서 달리고 점프하는 마리오의 믿을 만한 비디오를 만들 수 있습니다. 연구자들은 이 모델은 "명시적으로 하드코딩된 규칙 없이도 훈련 데이터의 비디오 프레임에서만 게임의 물리를 학습할 수 있었습니다."라고 적었습니다. 여기에는 마리오가 절벽 가장자리에서 떨어질 때(믿을 만한 중력이 있는 경우) 떨어지는 것과 같은 행동을 추론하는 것과 (보통) 장애물에 인접해 있을 때 마리오의 전진 동작을 멈추는 것이 포함된다고 연구자들은 적었습니다.
MarioVGG가 마리오의 움직임을 시뮬레이션하는 데 집중하는 동안, 연구자들은 비디오가 상상의 레벨을 스크롤할 때 시스템이 마리오에게 새로운 장애물을 효과적으로 환각할 수 있다는 것을 발견했습니다. 연구자들은 이러한 장애물이 "게임의 그래픽 언어와 일관성이 있지만" 현재 사용자 프롬프트(예: 마리오 앞에 구덩이를 놓고 그를 뛰어넘게 함)의 영향을 받을 수 없다고 적었습니다.
그러나 모든 확률적 AI 모델과 마찬가지로 MarioVGG는 때때로 완전히 쓸모없는 결과를 제공하는 좌절스러운 경향이 있습니다. 때로는 사용자 입력 프롬프트를 무시하는 것을 의미합니다(연구자들은 "입력 동작 텍스트가 항상 따르지 않는다는 것을 관찰했습니다."라고 적었습니다). 다른 때는 명백한 시각적 결함을 환각하는 것을 의미합니다. 마리오는 때때로 장애물 안에 착지하고, 장애물과 적을 뚫고 달리고, 다른 색상을 번쩍이며, 프레임마다 줄어들거나 커지거나, 다시 나타나기 전에 여러 프레임 동안 완전히 사라집니다.
연구자들이 공유한 특히 터무니없는 영상은 마리오가 다리에서 떨어져 치프치프가 된 다음 다리를 통해 다시 날아올라 마리오로 다시 변신하는 모습을 보여줍니다. 이는 원더 플라워에서 볼 수 있을 법한 모습이지, 오리지널 슈퍼 마리오 브라더스 의 AI 영상에서는 볼 수 없습니다.
연구자들은 "더 다양한 게임 플레이 데이터"로 더 오랫동안 훈련하면 이러한 중대한 문제를 해결하는 데 도움이 될 수 있으며, 모델이 오른쪽으로 끊임없이 달리고 점프하는 것 이상을 시뮬레이션하는 데 도움이 될 것이라고 추측합니다. 그래도 MarioVGG는 제한된 훈련 데이터와 알고리즘조차도 기본 게임의 괜찮은 시작 모델을 만들 수 있음을 보여주는 재미있는 개념 증명으로 자리 잡고 있습니다.
본 기사는 원래 Ars Technica 에 게재되었습니다.