TensorFlow×マリオカートでキノコカップ優勝も可能なリカレントニューラルネットワーク「MariFlow」を開発


人間のようにマリオカートがプレイできるリカレントニューラルネットワークの「MariFlow」を、プログラマーが開発しています。

Here’s Mario Kart, as played by a neural network - Polygon
https://www.polygon.com/2017/11/5/16610012/mario-kart-mariflow-neural-network-video

プログラマーのSethBlingさんは、1992年にスーパーファミコン用ゲームとして登場した「スーパーマリオカート」を再生するニューラルネットワークを構築し、自動でゲームをプレイできる「MariFlow」を開発しました。MariFlowにスーパーマリオカートのプレイムービーを15時間分学習させ、ドライブテクニックの一部を修正すると、さっそく50ccのキノコカップで優勝することができたそうです。

MariFlowはGoogleの人工知能(AI)ライブラリであるTensorFlowを使用しており、そのまま名前の一部にもなっています。MariFlowでは、約4層のコンピューテーションからコース上の特定の位置で実際のプレイヤーが「どのようなボタンを押すのか?」を予測します。人間のプレイを学習させ、「どの情報が重要か?」を重み付けし、その中から最善の手を採用しているのがMariFlowというわけです。大きな特徴は、MariFlowがリカレントニューラルネットワークであるという点で、これはマシンが情報を記憶できることを意味するとのこと。

MariFlowのより詳細な仕組みについては以下のムービーで解説されています。

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


SethBlingさんは自身のTwitchチャンネル上でMariFlowが各カップ戦に挑戦する様子を公開しており、キノコカップとフラワーカップでは優勝、スターカップでは準優勝した際の走行が見られます。なお、どのカップ戦も50ccでの挑戦となっています。

以下のムービーはキノコカップで優勝した際のもの。走行の様子を見ていると、派手にドリフトしまくったり近道を使いまくったりするわけではなく、地味なコースアウトを何度も繰り返しながら、最後は1位もしくは上位でゴールし、総合順位で優勝するという感じ。キノコカップの2つ目のコースである「ドーナツ平野1」の2周目では、MariFlowが操作するマリオがブロックの壁から抜け出せなくなり一気に順位を落としており、「クッパ城1」でもレースの途中で進行方向を見失ったのかその場でグルグル周って壁にぶつかりまくっており、まだまだ大いに進化の余地アリという感じ。

SethBling - Twitch


以下のムービーはフラワーカップで優勝した際のもの。

SethBling - MariFlow gets Gold in 50cc Flower Cup - Twitch


以下のムービーはスターカップで準優勝した際のもの。

SethBling - MariFlow gets Silver in 50cc Star Cup - Twitch


SethBlingさんはMariFlowの取扱説明書をGoogleドキュメント上で公開しています。

MariFlow Manual - Google ドキュメント


なお、MariFlowの開発者であるSethBlingさんは、過去にニューラルネットワークを用いて「スーパーマリオワールド」のドーナツ平野1をクリアする「MarI/O」を開発した人物でもあります。

マリオをある意味スーパープレイな遺伝的アルゴリズムとニューラルネットワーク学習のみで全自動クリアしてしまう「MarI/O」 - GIGAZINE

・関連記事
AIはゲームプレイ動画からスーパーマリオブラザーズやロックマンのゲームそのものを再現可能 - GIGAZINE

マリオカート64の全自動走行をGoogleの機械学習ライブラリ「TensorFlow」でやってみたムービー - GIGAZINE

マリオが自己学習し感情さえも持つ人工知能のプロジェクトとは? - GIGAZINE

151

in ソフトウェア,   動画,   ゲーム, Posted by logu_ii