AIに「スーパーマリオ64でスターをゲットする方法」を学習させる
機械学習やニューラルネットワークなどを用いて人工知能(AI)に学習を施し、AIひとりでゲームをクリアできるようにするという試みに多くのエンジニアたちが挑んでいます。Googleもゲーム専用の「DQN」というAIを開発しており、他にもAIにスーパーマリオワールドやスーパーマリオカートをプレイさせるという試みがインターネット上で公開されてきました。そんなAI×ゲームの試みで、ついに2Dゲームではなく3Dゲームの「スーパーマリオ64」を学習させるというものがスタートしています。
AI Learns To Play Mario 64, Gets A Star
https://kotaku.com/ai-learns-to-play-mario-64-gets-a-star-1823170045
最大24人でスーパーマリオ64が同時プレイできる「Super Mario 64 Online」や、スーパーマリオ64をハッキングしてマリオ視点でプレイするムービーなどを公開しているKaze Emanuarさんが、複数のAIに「迷路の奥にあるスター」や「逃げ回る黄色いウサギ」の場所までマリオをナビゲートさせるというチャレンジを行っています。
AIが操作するマリオがスター目前まで迫っている様子は以下のムービーで見られます。ゲーム画面の左下に書かれているのが利用しているAIのようで、その中のひとつは「mAIrio」というGitHub上でコードが公開されているオープンソースのものです。
ETHAN WINS
ゲームメディアのKotakuがEmanuarさんにメールでインタビューしたところ、使用しているAIは「非常に遅いもの」であると説明しており、これらのAIは特定の状況下での解決方法を広範囲に適用してしまう傾向があるとのこと。なので、AIがしばらく同じ場所でジャンプやパンチを繰り返すのは珍しくない光景だそうです。それでもこれらのAIは複数回にわたってスターをゲットすることに成功しており、「ひとつのAIが約15分でスターを手に入れることに成功していますが、これは技術的な側面よりも運が良かったからと言えます」とEmanuarさんは語っています。また、別のユーザーが用いたAIでは約3時間でひとつのスターをゲットすることに成功しています。
スーパーマリオ64の複雑なステージをAIに冒険させることについて、Emanuarさんは「3D空間全体が複雑過ぎるので、AIの脳内にすべての情報を入力することはできません。この入力情報を簡素化し、周辺の小さな空間などの細かいディテールを処理能力上でうまく動作させる必要があります」と語りました。
EmanuarさんはこれまでAIを用いた経験がなかったそうで、いくつかの本を読みながら試行錯誤している段階とのこと。それでもAIはいくつかの興味深いアクションを学んだそうで、「ひとつのAIはジャンプして高所へアクセスする術を学び、もうひとつのAIは傾斜で三段ジャンプすることを学びました。これらのAIが学習したアクションは通常のプレイヤーが決して行わないようなアクションであり、スーパーマリオ64の隠されたテクニックのようです」と語っています。
なお、EmanuarさんのTwitchチャンネルへは以下からアクセス可能で、AIにスーパーマリオ64をプレイさせている様子の一部を見るとことができます。
m2mkaze - Twitch
・関連記事
TensorFlow×マリオカートでキノコカップ優勝も可能なリカレントニューラルネットワーク「MariFlow」を開発 - GIGAZINE
マリオカート64の全自動走行をGoogleの機械学習ライブラリ「TensorFlow」でやってみたムービー - GIGAZINE
アルファ碁を作ったDeepMindが3DゲームをプレイするAI「DeepMind Lab」をオープンソースとして公開 - GIGAZINE
Googleの人工知能「DQN」が人間より上手にプレイできるゲームとできないゲームの境界線 - GIGAZINE
マリオをある意味スーパープレイな遺伝的アルゴリズムとニューラルネットワーク学習のみで全自動クリアしてしまう「MarI/O」 - GIGAZINE
・関連コンテンツ