ニュース
» 2017年01月19日 18時52分 公開

学習型AI、全自動運転で「マリオカート64」のルイージサーキットを完全走破 エンジニアが冬休みを使い実験

AIがマリカー界に進出。

[Minoru Umise,AUTOMATON]
AUTOMATON


AI マリオカート

 AIの進歩はとどまるところを知らない。GoogleのDeepMindによって生み出されたコンピュータ囲碁プログラムAlphaGOは進化を続けており、2016年にはストラテジーゲーム『StarCraft II』内でも研究が始まったことが告知されている。そして最近ではそのDeepMindのフレームワークを担っている人工知能のライブラリ「TensorFlow」が注目を集めている。そんなTensorFlowを使い、NINTENDO 64にて発売され爆発的なヒットを記録した『マリオカート64』内で実験を始める男が現れた。

AI マリオカート

 今回、実験をおこなったのはカナダのEコマース企業「Shopify」で働くエンジニアKevin Hughes氏。氏は冬季の休みを使って機械学習の勉強をしたいと思い立ち、TensorFlowを使った新たな実験を始めた。それが『マリオカート64』内で動く運転AIプログラムの作成だ。

 Hughes氏はまず、AIに基本的な動作を覚えさせるために、Xboxコントローラーの入力にあわせて『マリオカート64』上のスクリーンショットを記録するプログラムを生成。エミュレーター上で動く『マリオカート64』をプレイしている最中に入力をおこなえば、画面の状況と入力をひも付けて学習するという仕組みだ。Hughes氏はこのプログラムのために何度も『マリオカート64』をプレイし、AIに画面と入力の組み合わせを学習させていく。このAIはデータベースを構築していった。

AI マリオカート

 さまざまな手段でAIを訓練させていく上でHughes氏は「訓練したAIをどのようにゲーム上で動かすか」という根本的な課題を解決しなければならなかった。まず「Python-uinput」と呼ばれるモジュールを試したがこれはエミュレーター「mupen64plus」との相性が悪く断念。しかし同エミュレーター内にあるプラグイン「mupen64plus-input-sdl」の構造を把握した氏は、今回のプログラムに合わせてプラグインを自分自身で作ってしまった。幾度もの試行錯誤を繰り返しながら、氏は最終的に、AIのプログラムをエミュレーター内にアウトプットすることに成功した。

 ついにベースとなるAIを作り上げた氏は、「ルイージサーキット」にてマリオを使い、AIの運用を始める。しかし、AIは曲がることをしようとせず、かたくなに直進を続けた。原因を探ったところ、2つの問題が確認できた。1つ目は、スクリーンショットがたびたびゲーム画面ではなくPCのデスクトップを映していたこと。2つ目は、『マリオカート64』の、カーブを曲がる時のアニメーションのぎこちなさが問題を発生させていることだ。最近のレースゲームはコーナーに差しかかった際には滑らかなカーブを描くが、マリオカート64』では、「ドリフト」を使用しなければキャラクターはぎこちなく曲がる。つまるところ、マリオが曲がっている状態であるか否かをAIが識別できていなかったということだ。この2つの問題に修正を加え、再びHughes氏は『マリオカート64』をプレイしAIに動きを学習させていった。そしてついに『マリオカート64』上で全自動走行をおこなうAIが誕生した。

 映像をみると、ほぼ全ての動作がAIの学習によって生まれたコードでおこなわれているが、キャラやコースを選ぶメニュー画面と、急旋回が必要な部分なトンネル近辺でのみ、マニュアルでのコードの修正がおこなわれている。Hughes氏は「問題が生まれた部分のコードを上書きした」と述べており、おそらくこういった部分が修正されているのだろう。そうして最終的にAIによって操縦されたマリオはコースを3周走りきる。3周ともタイムが異なるのは興味深い結果だといえるだろう。

 もっともビギナー向けのコース「ルイージサーキット」だけでなく、「マリオサーキット」にも適応させられることが確認されており、Hughes氏は「データさえ集まれば『マリオカート64』内ならばどんなコースでも全自動で走らせることができるだろう」と自信を見せている。

AI マリオカート

 ゲーム内での全自動運転といえば、『Grand Theft Auto V』でも運転AIの研究が続けられている。TensorFlowと同様にGoogleのオープンソースを使用したものから、Modder達が独自に開発しているものまで、さまざまなAI開発がおこなわれている。同じコースを周回し続ける『マリオカート64』のAIは『Grand Theft Auto V』のものほど大規模ではないものの、1人のエンジニアが短期間で運転AIを生み出すことができるのは興味深い。今回作られたAIプログラムは「TensorKart」と名付けられ、GitHubで公開されているので、ソースの内部に興味があるかたはチェックしてみてもいいだろう。

関連リンク

Copyright (C) AUTOMATON. All Rights Reserved.

先週の総合アクセスTOP10

先月の総合アクセスTOP10

  1. 「訃報」「愛猫」「手風琴」って読める? 常用漢字表に掲載されている“難読漢字”
  2. 痩せたらこんなに変わるのか 丸山桂里奈、現役時代の姿が別人過ぎて「誰かわからん」の声殺到
  3. 保護した子ネコに「寂しくないように」とあげたヌイグルミ お留守番後に見せた子ネコの姿に涙が出る
  4. セーラーサターンの変身シーン、四半世紀を経てアニメ初公開にネット湧く 「ついに公式が」「感謝しかない」
  5. 「髪型体型全て違う」 丸山桂里奈、引退直後のセルフ写真にツッコミ 4年前のスレンダーな姿に「今も輝いててかわいい」の声も
  6. 鳥取砂丘から古い「ファンタグレープ」の空き缶が出土 → 情報を募った結果とても貴重なものと判明 ファンタ公式も反応
  7. 「マジで助けてくれ」 試験中止で教授に“リスのさんすうノート”を提出することになった大学生に爆笑
  8. 「140秒とは思えない満足感」「なぜこれだけの傑作が埋もれているのか」 崩壊した日本を旅する“最後の動画配信者”のショートフィルムが話題
  9. 「化粧! 今すぐ落としてこい!」 男性教師に怒鳴られる生徒をかばう女性教師を描いた漫画に納得と感謝の声
  10. 畠山愛理、いま着たらピチピチなレオタードを公開 「とんでもなく可愛い」「見惚れてしまいました」と反響