カナダのオタワにある企業「Shopify」のソフトウェア開発者ケビン・ヒューズさんは、冬休み中にビデオゲームをするだけでなく、AIがゲームをプレイできるようにしました。ケビンさんは、GoogleのオープンソースTensorFlowを利用して、人気レーシングゲーム「マリオカート64」をプレイできる人工知能「TensorKart」というプロジェクトをリリースしました。
「冬休みの数日間で、自転車に使用するのと同じ技術を使って仮想車両を運転するAIをトレーニングすることがでた」とケビンさんは言います。
彼はもともと、数年前にビデオゲームに適用された人工知能についての記事を見て、このプロジェクトのアイデアを思いついたそうです。 他の開発者が徹底したエンドツーエンドのプロセス(プロセスの可視化)を欠いている他の機械学習デモを見ていたので、他の開発者が「TensorKart」と同じことができるように、開発だけでなく詳細仕様のドキュメント化を行いました。
「世にある機械学習のデモには欠けていることが多いため、簡単に理解できるエンドツーエンドプロセスを作りたかった」とプロジェクトのサイトにケビンさんは書いています。
「データの収集、準備から実際のゲームプレイまでのプロセスが完全に含まれているかどうかを、常に意識しました。」とケビンさんは言います。 「完全なシステムを公開することが、私がこのプロジェクトで達成したいことです。」
TensorFlowは、深層学習に必要な基本的なツールを備えていたため、ケビンさんのプロジェクトでうまく活用できました。
ケビンさんは、AIのトレーニングのためのデータセットを作成するために、デスクトップのスクリーンショットをXboxコントローラからの入力と同期させるプログラムを作成しました。 そして、N64エミュレータを実行しキャプチャ領域にウィンドウを配置しました。このプログラムを使用して、彼はAIが何を見るのか、適切な行動が何であるかについてのデータセットを作ったそうです。
マリオカートをたくさんプレイして、C言語でエミュレータプラグインを書いた後、ケビン・ヒューズさんはマリオが自動車に使っているのと同じテクニックを使ってコースをうまくドライブできるように調整しました。彼は、20分のトレーニングデータで、AIが最も簡単なコース(ルイージのステージ)の大部分をプレイできるようになったと説明しました。
このプロジェクトでは、ニューラルネットワークと深層学習がゲームのためだけでなく、自動運転車が実現できるということも示唆しています。ケビンさんは、「AIによる自動運転は人間のドライバーよりも安全で、世界を変える可能性があるため、自動運転車の新しい時代を楽しみにしている。」と語っています。
(ソース:SD Times)