2019年07月19日 14時00分 ソフトウェア

マインクラフトでプレイヤーと共同作業可能なAIを実装するためのオープンソースプラットフォーム「CraftAssist」をFacebookが発表

by MCTPPress



世界累計販売本数が1億7600万本を突破し「世界で最も売れているゲーム」となった「Minecraft(マインクラフト)」上で、人間のプレイヤーと一緒に共同作業できる人工知能(AI)アシスタントを実装するためのプラットフォーム「CraftAssist」を、FacebookのAI研究チームが発表しました。CraftAssistのAIボットはブロックを配置したり壊したりすることが可能で、テキストベースのチャットで人間のプレイヤーとコミュニケーションを取りながら、ゲーム内での言語・知覚・記憶・物理的な行動を組み合わせることで、建築などの複雑なタスクを実行可能です。



CraftAssist: A Framework for Dialogue-enabled Interactive Agents - Facebook Research

https://research.fb.com/publications/craftassist-a-framework-for-dialogue-enabled-interactive-agents/



Open-sourcing CraftAssist, a platform for studying collaborative AI bots in Minecraft

https://ai.facebook.com/blog/craftassist-platform-for-collaborative-minecraft-bots/



CraftAssistはマインクラフト上で人間のプレイヤーと共同作業できるAIボットを実装するためのプラットフォームです。CraftAssistの開発が進み、「AIボットが可能な人間との共同作業」の幅がより広がれば、ただのAIボットによるサポート以上のことが実現可能になることも考えられます。





CraftAssistはAI研究コミュニティがAI関連の実験のためにCraftAssistを使用することを奨励するために、フレームワークをオープンソース化し、GitHub上で公開しています。公開されているデータの中には、マインクラフト上で家を建てる際の人間のプレイヤーに関する段階的なデータや、セマンティック・セグメンテーションデータ、大規模な自然言語用のセマンティック解析データセットなどが含まれているとのこと。



GitHub - facebookresearch/craftassist: A virtual assistant bot in Minecraft





CraftAssistでは、標準のマインクラフトクライアントを介して人間のプレイヤーがAIボットと対話できるようになっています。もちろん複数の人間のプレイヤーと交流することも可能。オープンソースの拡張可能なマインクラフト互換のゲームサーバーである「Cuberite」を使うことで、研究者はAIのトレーニングデータを生成するためにゲームセッション(ゲーム内の言語によるコミュニケーションや動作)を記録することが可能。なお、CraftAssistに含まれている基礎AIボットは、人間と相互にコミュニケーションを取らせた際のデータと、マインクラフトの中で2500種類以上の異なる建築物を人間の参加者に作成してもらった際のデータでトレーニングされたものだそうです。



以下の動画は実際に人間のプレイヤーとCraftAssistの基礎AIボットが、マインクラフト上で共同作業を行っている様子。ボットに円の建築をお願いすると、ボットが自動で円形の建物を建てます。





Facebookによると、基礎AIボットの設計はモジュール式となっており、研究者たちは実験のためにAIボットを使用したり、ボットにとっての入力情報となる「言語」「知覚」「記憶」「物理的行動」のいずれかの要素にしぼったAIの研究を行ったりすることも可能。



例えば人間のプレイヤーがCraftAssistの基礎AIボットに「青い立方体の隣に家を建てる」と語ると、言語理解モジュールがチャットに入力された内容からプログラムを作成し、指定された移動先への「移動」や、建物の「建築」などの要求された動作を高レベルで実現する模様。そして、記憶モジュールはテキストから「青い」や「立方体」などを認識し、フィールド上に存在するタグ付きオブジェクトを認識し、青い立方体の座標を基に移動タスクを作成するとのこと。



by InoxyBuild



Facebookの研究者は、CraftAssistを用いてマインクラフト上で共同作業可能なAIボットを開発することについて、「長期的に見れば、この作業はAIアシスタントをより広範囲に対応させること、特により柔軟にさまざまな事象に対応できるようにすることを目的としています」と語っています。



機械学習は「困難ではあるものの、厳密に定義されたタスク」に対して優れた効果を発揮しますが、特に言語を用いて人間により指定されるタスクの場合、タスクがあいまいに指定されることも多く、うまくタスクを実行することが依然として難しいそうです。CraftAssistはそのような「人間に指定されるあいまいなタスク」を正確に認識・実行できるAIを開発するためのプラットフォームといえ、その点に関しては機械学習よりも「長期的に見れば」効果を発揮するというわけです。



なお、マインクラフト上でAIを開発しようという試みはFacebookのCraftAssistが初ではありません。2016年にマインクラフトの開発元であるMojangを買収したMicrosoftが、「Project Malmo」というプロジェクトを発表しています。



マインクラフトでAI（人工知能)を育てる「Project Malmo」をMicrosoftがGitHubで一般公開スタート - GIGAZINE

