Microsoftが2017年1月に買収したディープラーニング技術の研究に注力する「Maluuba」が、強化学習と分割統治法を用い、パックマンでフルスコアとなる999990ポイントをたたき出すことが可能なAIを作成しました。

Divide and conquer: How Microsoft researchers used AI to master Ms. Pac-Man - Next at Microsoft

https://blogs.microsoft.com/next/2017/06/14/divide-conquer-microsoft-researchers-used-ai-master-ms-pac-man/

Sorry humans, Microsoft’s AI is the first to reach a perfect Ms. Pac-Man score - The Verge

https://www.theverge.com/2017/6/14/15801700/microsoft-ai-perfect-ms-pac-man-score

研究チームが題材としたのは1981年にアメリカで誕生したパックマンシリーズのひとつである「ミズ・パックマン」。ミズ・パックマンは元々はアーケードゲームだったのですが、海外で誕生したAtari 2600への移植版でフルスコアを記録することに成功したとのこと。

Microsoft以外にもこれまでAIを使ってレトロゲームをクリアさせる試みは存在しましたが、パックマンの持つ予測不可能性により、これまでパックマンシリーズのゲームがAIにより完璧に攻略されることはありませんでした。また、人間にとってもパックマンでフルスコアを出すことは非常に困難で、Atari 2600版のミズ・パックマンの最高スコアは「266330」でした。

そんな中、 Maluubaが作ったAIは圧倒的ハイスコア「999990」を叩きだしました。開発ではハイブリッド報酬アーキテクチャーと呼ばれるものを使ってAIを学習させています。AIには全部で150個以上のエージェントが存在しており、これには細かく分割したタスクが割り当てられています。そして、個々のエージェントによるタスクをまとめ、実際どのようにパックマンを動かすのかをトップエージェントが決定するとのこと。

最良の結果が出るのは、個々のエージェントが「自発的に行動したとき」かつ、トップエージェントが「全体にとっての最良」に注力できている時だそうです。これは、「どれくらい多くのエージェントが特定の方向に行きたいと回答しているか」に注目するというだけではなく、その方向の重要性にも焦点を当てられている時に最大の結果が得られるそうです。これについて開発者のひとりであるHarm Van Seijen氏は、「素晴らしい相互作用がみられた」と語っています。

実際にMicrosoftが開発したAIがパックマンをプレイする様子は以下のムービーで見ることができます。

Divide and conquer: How Microsoft researchers used AI to master Ms. Pac-Man - YouTube

ムービー冒頭でフルスコアとなる「999990」を達成する瞬間が映し出されます。



個々のエージェントの数はそれぞれ画面上の要素に対応しています。パワー・ペレットが154個



モンスターが4個



イジケモンスターが4個



フルーツが1個の合計163個エージェントは存在します。



実際のプレイ中の画面。AIはパワー・ペレットを食べることで小さな報酬、フルーツやイジケモンスターを食べることで大きな報酬が得られるように設定されています。また、パックマンがモンスターに食べられてしまうことは、大きな負の報酬として設定されており、これらにより画面上の各エージェントがどの方向に動くべきかを個別に判断しています。



その判断が画面上に存在する矢印で、これらを統括してトップエージェントが最終的にパックマンの移動方向を決定しました。なお、パックマンの移動方向は画面右下の大きな矢印が示しています。



ゲーム画面中の矢印の大きさは大小さまざまで、これは優先度の強さを示しているそうです。



なお、Maluubaによればハイブリッド報酬アーキテクチャーを応用したAIは企業の販売促進を予測したり、自然言語処理の進歩を助けたりするのに役立つ膨大かつ実用的なアプリケーションを備えているとのことです。