「マリオAIチャレンジ」のプロジェクト完了宣言
強化学習を使ってAIマリオで全面クリアするというチャレンジを今年の初めからしていました。詳細は以下記事参照ください。
最終的には6名のAIマリオチャレンジャーズに参加いただき、結果としては「8-4」を除く全てのステージをクリアしました。プレイ動画や学習コードなどの成果は全て以下GitHubのサイトにまとまっています。
特に時間がかかったのが8-1で、なんと1月末にチャレンジを始めてから、半年近くかかってのクリアとなりました。
しかもクリアしたのは、私でなく、プロジェクトに参加してくださったWindVoice_jpさんというのがポイントですね。
AIマリオ8-1、とうとうきました pic.twitter.com/N4Z9asApI5
— WindVoice%☁☁☁☁ (@WindVoice_jp) July 24, 2022
まさにプロジェクトのフィナーレを飾るにふさわしい粘りと劇的な幕切れでした。
8-4に関しては、ループが多用される面となり、恐らく強化学習の評価関数をコースに合わせてゴリゴリにチューニングしないとクリアできなさそうという共通見解がメンバー間に漂っています。
というわけで、言い出しっぺとして一応の区切りとして、ここに「マリオAIチャレンジ」の終結を宣言したいと思います。
「マリオAIチャレンジ」を通じて感じたコミュニティの力
終わってみれば、私一人で初めて「1-1」ですらクリアするのがやっとという状態だったのが、8-4以外全面クリアという素晴らしい成果を得ることができました。私一人では決して達成できなかったことだと思います。本当に参加してくださった人に感謝です。
「チャレンジを通じて、ちょっと強化学習の知識が深まれば良いかな」くらいのことを考えていたのですが、振り返ってみると、得られた知識より、一緒にプロジェクトに参加してくれた人との、GitHubのissueを通じたやりとりで得られた奇妙な連帯感の方が貴重だったように思えます。大げさに言えば、マリオAIチャレンジを通じてちょっとしたコミュニティができていたんじゃないかと思っています。
最近、スイッチサイエンスの高須さんの「プロトタイプシティラジオ」という音声配信を聞いているのですが、コミュニティの作り方のエピソードとして、台湾のデジタル大臣オードリー・タン氏は、新しいプロジェクトを始めるときは、最初にルールを作るという話を紹介していました。ルールのデザインが良ければ、コミュニティが自然と活性化して、ゴールに近づいて行くそうです。
実は、マリオAIチャレンジも、ルールとしてGitHubのREADMEに6つのルールを掲げています。
- Enjoy creating AI Mario.(AIマリオを楽しもう)
- Share information.(情報をシェアしよう)
- Use Google Colaboratory Notebook(Google Colabを使おう)
- Use machine learning.(機械学習を使おう)
- Don't use human instructional information.(人間の指示情報は使わないこと)
- All rules are flexible and can change.(ルールは途中で変えてもOK)
オードリー・タン氏と比べるのはおこがましいですが、今回のプロジェクトがうまくいったことの要因の1つに、ルール設計があったのかもなと思ったりしました。
まとめ
「マリオAIチャレンジ」の成果と(一旦の)終了を宣言させていただきました。
一区切りとはしましたが、もちろん自由に何度でも既にクリアしたステージやまだクリアしていない8-4をチャレンジしていただいてOKです。issueを使ってハイスコアやタイムアタックを自由に企画いただいても構いません。私も参加するかもしれませんし、また新たなチャレンジをするかもしれません(今はちょっとモチベーショ上がりきらない感じです)。
そして、プロジェクトに参加していただいた、AIマリオチャレンジャーズの皆様に重ねて感謝いたします。コミュニティのパワーや可能性を感じることができました。
コミュニティの力といえば、記事途中で紹介した高須さんの翻訳本『遠くへ行きたければ、みんなで行け ~「ビジネス」「ブランド」「チーム」を変革するコミュニティの原則』がコミュニティに関して書かれた本でオススメです。この本に関しては、また機会あれば別途紹介したいなと思います。
そして、マリオAIチャレンジに興味湧いた人は、今からでも「マリオAIチャレンジ」プロジェクトページへGo!誰でも手軽にAIマリオを学習できます!
参考リンク
【8-1クリア】OpenAI Gym + Colab NotebookでAIマリオを強化学習 - 日記とか、工作記録とか