구글

TensorFlow×마리오카트에서 버섯컵 우승도 가능한 리커런트 뉴럴네트워크 「MariFlow」를 개발

나나시노 2017. 11. 6. 12:22
반응형




TensorFlow×마리오카트에서 버섯컵 우승도 가능한 리커런트 뉴럴네트워크 「MariFlow」를 개발





프로그래머 SethBling씨는, 1992년에 슈퍼 패미콤용 게임으로서 등장한 「슈퍼 마리오 카트」를 재생하는 뉴럴네트워크를 구축하고, 자동으로 게임을 플레이할 수 있는 「MariFlow」를 개발했습니다. MariFlow에 슈퍼 마리오 카트의 플레이 무비를 15시간분 학습시켜, 드라이브 테크닉 일부를 수정하면, 조속히 50cc 버섯컵에서 우승할 수 있었다고 합니다.


MariFlow는 구글 인공지능(AI)라이브러리인 TensorFlow를 사용하고 있어, 그대로 이름의 일부도 되고 있습니다. MariFlow에서는, 약4층의 컴퓨테이션으로부터 코스상이 특정한 위치에서 실제의 플레이어가 「어떤 버튼을 누르는 것인가?」를 예측합니다. 인간의 플레이를 학습시켜, 「어느 정보가 중요할 것인가?」를 계산을 해, 그 중에서 최선의 수단을 채용하고 있는 것이 MariFlow 라고 하는 것입니다. 큰 특징은, MariFlow가 리커런트 뉴럴네트워크라고 하는 점에서, 이것은 머신이 정보를 기억 할 수 있는 일을 의미하는 것.


MariFlow에 관한 상세한 구조에 대해서는 이하 무비로 해설되고 있습니다.



MariFlow - Self-Driving Mario Kart w/Recurrent Neural Network



SethBling씨는 자신의 Twitch채널상에서 MariFlow가 각컵전에 도전하는 모양을 공개하고 있어, 버섯컵과 플라워컵에서는 우승, 스타컵에서는 준우승했을 때의 주행이 볼 수 있습니다. 한편, 어느 컵전도 50cc를 도전한 것입니다.


이하 무비는 버섯컵에서 우승했을 때 것. 주행 상황을 보고 있으면, 화려하게 드리프트하거나 지름길을 사용하거나 하는 것이 아니고, 수수한 코스 아웃을 몇 번이나 되풀이이면서, 최후는 1위 혹은 상위에서 득점하고, 종합 순위로 우승한다고 하는 느낌. 버섯컵의 두 번째 코스인 「도넛 평야 1」의 2주째에서는, MariFlow가 조작하는 마리오가 블록 벽으로부터 빠져 나갈 수 없게 되어 단숨에 순위를 잃고 있어, 「쿠파 성 1」에서도 레이스 도중에 진행 방향을 잃은 것일지 그자리에서 빙글빙글 돌고 있어, 아직 크게 진화할 여지가 있는 느낌입니다.





이하 무비는 플라워 우승했을 때




이하 무비는 스타 준우승했을 때




SethBling씨는 MariFlow 사용 설명서를 Google 문서상에서 공개하고 있습니다.




한편, MariFlow 개발자인 SethBling씨는, 2015년 뉴럴네트워크를 채용해서 「슈퍼 마리오 월드」 도넛 평야 1을 클리어하는 「MarI/O」를 개발한 인물입니다.



MarI/O - Machine Learning for Video Games



반응형