2022 January 10

1 分(読むのにかかる時間)

inside ubisoftstudio updates

次世代のノンプレイヤーキャラクター(NPC)創生のため、ゲームにおける最先端のAIを推進するUbisoft La Forge

Ubisoft La Forgeは、学術研究とゲーム革新のギャップを埋めるために集結した、学者とUbisoftの専門家によるオープンな研究開発イニシアチブです。学術界の最前線に立つ専門チームが、ゲーム制作における最新のテクノロジーやテクニックを試しながら、人工知能などの最新テクノロジーを使用し、ゲームをよりリアルに、楽しく効率的に開発するための研究を行っています。

[UN ] Ubisoft La Forge – Pushing State-Of-The-Art AI In Games To Create The Next Generation Of NPCs - JoshuaHeadshot

さまざまな問題に対して最も効率的な解決策をAIで見つけ出す、機械学習の一種である深層強化学習も研究対象のひとつです。よりリアルなNPCの作成、複雑なゲーム世界のナビゲーション、より人間らしい動きの作成に役立てるために、この分野をどのように利用するのでしょうか。ゲームに対する情熱をデータサイエンスの博士号にまで昇華した、モントリオール出身の Ubisoft La Forge メンバー、ジョシュア・ロモフ氏にお話を伺いました。現在ゲームにおける機械学習のさまざまな応用を研究しているロモフ氏は、先日 Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2021 カンファレンスで講演を行い、彼が率いるチームが取り組んでいる、機械学習を用いてNPCの経路探索とナビゲーションを改善する画期的な打開策を発表しました。

深層強化学習とその機能について、お話しいただけますか?

ジョシュア・ロモフ(以下JR):ます「エージェント 」と 「アクション 」について説明します。AIでエージェントと呼ばれるのは、基本的に世界と対話する主なキャラクターで、我々の研究でもその役割でボットを使用しています。アクションとは、実行されるインタラクションのことです。私の考え方では、プレイヤーはゲームパッドの延長のようなもので、プレイヤーがゲームパッドに入力するたびにアクションが発生します。

では本題の強化学習について説明しましょう。これは基本的に、ある種の行動を強化する考え方です。「パブロフの犬」の実験を思い出してください。犬の餌の時間にベルを鳴らすと、犬はベルと報酬を関連付けることを学習しますね。それと同じ考え方です。報酬と罰則を用い、ある種の結果を奨励したり抑制したりしようとしているのです。同じことをAIエージェントにも行い、我々が望むことをすればポイントを与え、望まないことをしたらポイントを取り上げています。私の仕事はテストを設計し、報酬を与えたり取り上げるタイミングを定義することで、AIの目標は、可能な限りのアクションでより高いスコアを獲得することです。

「深層」は、エージェントが自分のいる世界を認識する方法、つまり深層神経回路網のことです。スクリーンは複雑で、一度に何十万ものピクセルが表示される場合もあります。では、スクリーンとすべての入力をどのように処理できるでしょう。深層神経回路網は、スクリーンをより小さな次元に加工してデータを分析し、その情報を強化学習部に入力します。その後に、入力データに基づいてアクションを実行するのです。これをエンド・ツー・エンドシステムと呼んでいます。すべてが含有されており、データはこのシステム間を端から端までループして戻ってくるのです。これをフレームごとに行い、アクションとその結果としての環境状態に基づいてポイントを割り振り、何度も繰り返して、エージェントが期待されるアクションを行えるように訓練します。

深層強化学習の研究において、特にインスピレーションを受けたゲームはありますか?

JR:もちろんです。いつも、NPCと対話しながら走り回るオープンワールドのゲーム、たとえば「ファークライ」などに熱中してきました。そのようなゲームでは、プレイヤーがNPCのAIとどのように相互作用するかということに着目してきました。これが私の経験を形作ってきた要素ですね。プレイヤーは世界中の人々と交流しますが、NPCはその交流の重要な部分を担っています。NPCをいじったり、AIをバグらせたりするのは、私にとってはある種の挑戦で、どのように操れるかを試して楽しんでいます。敵との戦闘で、そこいらの山に登るとします。すると山を登れない敵は目の前の山に突っ込んでいきますよね。このようにさまざまな場面に対し、どのような反応が生まれるかを観察するのです。それをどう改善し、より人間に近い振る舞いができるようにAIを訓練できるかを想像することが、常に私の仕事の原動力になっています。

研究開発者としての毎日は、どのようなものですか?

JR:日々実験を行い、ゲームの中で特定のタスクを実行する「AIエージェント」を訓練しながら忙しく過ごしています。一旦実験を開始すると、観察することがたくさんあります。プロットやグラフを見て、結果を改善するためにいろいろと手を加えたりします。もうひとつの大きな役割は、修士号や博士号を取得しようとしている学生たちと一緒に作業することです。そのような学生は全員給料を払われており、私は彼らや教授と協力してプロジェクトを定義し、通常、多くの学生プロジェクトが同時進行されます。これにより生徒たちが支援されるのはもちろんですが、同時に我々全体も前に進むことができます。私一人ですべてをコード化することはできませんよね。作動するプロトタイプが完成したら、そのテクノロジーをサンドボックス環境の中に配置します。この環境は基本的に、実際のゲームエンジンの簡易版にようなもので、自分たちの作り上げたものがどのように動くかを試すことができます。プロジェクトがうまくいけば、学生の作品が我々の開発するゲームに登場し、学生たちがゲームに携わることがどのようなものかを経験するチャンスとなります。この理由から、我々が取り組むプロジェクトは、ゲームチームの作品に利用できるようなものとなるよう、常に留意しています。

AIIDEで、「Hyper Scape」のようなゲームで、より 「プレイヤーらしい 」ボットを作るためのテストをされたと話されました。詳しく教えていただけますか?

JR:「Hyper Scape」でテストをいくつか行いました。ライブサーバーでは行いませんでしたが、このゲームで我々の疑問点に対し、興味深いサンドボックスが提供されました。3D環境のナビゲーションが非常に複雑であることと、多くの垂直の動きが存在することから、「Hyper Scape」は本当に使いやすいです。プレイヤーは、空中にまっすぐ飛び出すジャンプパッドや、2段ジャンプなど、さまざまなツールを利用することができ、それらを使ってビルの屋上まで移動することができます。また、こういった要素を組み合わせることもできます。開発者やテスターにとって、自分の作ったマップを使いプレイヤーが全体をナビゲーションできるというのは、非常にうれしいものです。

従来、ゲームではナビメッシュと呼ばれる、ワールド内の移動可能なエリアをまとめた2Dマップのようなものが使われています。このデータからボットがどこに、どうやって行くかを定義していました。しかし、その方法でテストをするのは本当に大変でした。ジャンプパッドやダブルジャンプなどのクレイジーなアクションに加え、階段やスロープでつながっていない垂直なフロアもあるので、その組み合わせによって可能性が爆発的に広がってしまうからです。深層強化学習の使用により、エージェントをトレーニングループに放り込み、ナビメッシュを使わずにA地点からB地点まで自力で移動するための行動を学べるので、理にかなっています。従って初期の使用例としては、我々がエージェントに動きを教え、それを使ってマップをテストし、すべてがアクセス可能であることを確認する、というものでした。

[UN ] Ubisoft La Forge – Pushing State-Of-The-Art AI In Games To Create The Next Generation Of NPCs - NavMesh

他のゲームでのテストで、興味深い結果が得られたと伺いました。そのことについて教えてください。

JR:「フォーオナー」でトレーニングしたボットが一例です。エージェントにもっと防衛をさせたかったので、防衛のボーナス報酬を与えました。その結果、エージェントは戦いを終わらせず、延々と防御を続けました。これは面白い結果だと思いました。どのような設定をしても、どのような行動を取らせても、理屈の上では可能な限り最善の方法を学習させるということが、このプロセスでエージェントを訓練する際の主な課題だからです。生き残ること、あるいは防衛し続けることに報酬を与えれば、報酬を得るために、そうし続けるでしょう。ロボットが毎回、全プレイヤーを打ち負かすようゲームは望ましくありませんよね?楽しくなくなってしまいます。防衛のような他のタイプの行動にもインセンティブを与えて、行動にバリエーションを持たせたいと思います。

これに加えて、ちょっとしたボーナス報酬を与えることで、トレーニングのプロセスをスピードアップできるという理由もあります。守ったり、攻めたりした時に、ちょっとしたボーナスを与えるだけでいいのです。 しかし、こういったボーナス報酬がどのように組み合わされるかは不明なので、ちょっと変な行動になってしまうこともあります。「Hyper Scape」のナビゲーション・テストも一つの例です。2地点間をできるだけ早く移動するようにエージェントを訓練していたのですが、まだスプリントの機能を与えていませんでした。しかしエージェントは、ジャンプしてカメラを少しひねり移動すると、少し速く移動できることを実際に発見したのです。バニーホップができるようになるまでの過程を観察できて楽しかったです。この2例については、AIIDEでの講演で紹介しています。

[UN] Ubisoft La Forge – Pushing State-Of-The-Art AI In Games To Create The Next Generation Of NPCs - ForHonorDefenseBot

このような成果はまだ貴重であると言えますか?

JR:用途が何であるかによりますね。この実験のように、ゲームをテストするためであれば、これらの結果は非常に有用です。その理由は、与えた報酬に基づいて最適な行動が見えるからです。エージェントが学習し、実際に目標達成に役立つような動きを発見するのを気づくかもしれません。それにより自分では気づかなかったことを知り、デバッグできたり、コードが期待通りに動いているかどうかを確認することもできます。

最新世代のゲームコンソールやクラウド、ストリーミングサービスは、ゲームにおけるAIの機能に、これまでなかった新しい可能性をもたらしたと思われますか?

JR:100パーセント、そうだと思います。歴史的に見ると、深層学習の研究は80年代~90年代に始まり、研究者にとってコンピューティングリソースの利用可能性が障壁になっていたことは間違いありません。旧世代のゲームコンソールで深層学習のモデルを動かそうとすると、計算の観点から、ローカルではどうしても無理なんです。フレームレートを落としてしまいます。家庭用コンピュータの計算能力が飛躍的に向上し、ハードウェア自体も劇的に改善されました。その相乗効果と、この分野で膨大な量の研究が行われたことにより、こういった問題を解決できるようになりました。3D世界の非常に複雑なマップを、とんでもない能力でナビゲーションするボットのようなものを実現できる段階にまで来ているのです。今ではボットはかなり効率的に動作し、ハードコーディングしたものよりもずっと人間らしく振る舞うことができますし、ゲーム内で複数のエージェントを走り回らせて複雑な計算をさせることも、決して実現不可能なことではありません。もはや、10年後に実現するかもしれないという段階ではありません。研究とハードウェアはもう十分使用に耐える段階に来ており、しばらく前に現在のような状況が作り上げられています。

このようなテクノロジーを、どのような用途に使うか想定できますか?

JR:最も自然な応用法はボットで、私のグループでは「スマート・ボット・グループ」と名付けたものに焦点を当てています。ゲームのテストに使うボットなのですが、これに環境制御を教えることができれば、それをスケールアップし、AIの敵としてプレイヤーの前に登場させられる可能性があると容易に想像ができると思います。

ボット以外にも、強化学習は非常に汎用的なフレームワークで、さまざまな応用が可能です。例えば、サーバー管理に使うことも考えられます。ゲームのサーバーをホスティングする場合、不必要なサーバーを稼働させすぎることがあったり、逆にプレイヤーが多いのにサーバーの設置が足りなかったりという問題がありますよね。理論上では、逐次的な意思決定を最適化するようにエージェントを訓練することができます。つまり、ある時間帯のプレイヤー数を見て、その瞬間に必要なサーバーの数を増減させるようにできるのです。

この技術の将来的な目標は何ですか?

JR:NPCやボットなどがより人間らしく感じられるように、ゲームにリアルさを注入する方法を研究し続けることと、これまで不可能だった問題を解決することが目標です。また、このテクノロジーをゲームデザイナーの手に預け、プレイヤー向けのツールを作りたいと考えています。このテクノロジーは、開発者ツールになる可能性もありますから、ボットをカスタマイズして好きなように使えるようにすることが、次の大きなステップになるのではないでしょうか。これまでお話してきたテストは、まだライブ環境やプレイヤーに試してらったものではありませんからね。ゲームテスターにテストしてもらうことが、より直接的なステップになると思います。パフォーマンスの問題からゲームプレイのメカニズムまで、あらゆる種類のシナリオにこれを使用してもらうのです。

AIと深層強化学習をゲームに活用することの意義は何でしょうか?

JR:このテクノロジーをゲームのテストに使うだけなら、プレイヤーが使用することもありませんし、AIにまつわるネガティブな憶測を心配する必要もありません。この技術の出現で、ゲームを実際にテストできる人が少なくなると懸念する人もいるかもしれませんが、実際にはそうではありません。その理由は、これらのボットを使って実施するテストの種類は、本物の人間にテストしてほしいものの種類とは根本的に異なるからです。実際の人間とのインタラクションはなくなることはありません。クエストやゲームの楽しい部分など、より興味深い要素をテストしてもらうことに変わりはないのです。

実際にAIボットをゲームに投入する場合は、我々が何をしているのかを透明化することが本当に重要だと思っています。ゲームにボットが登場すると、「これは人間なのかボットなのか」分からなくなると心配する方もいると思います。これは賛否両論となる可能性があります。だからこそ、完全な透明化の必要があり、プレイヤーを裏切らないようにする必要があります。ゲームにAIを採用するもうひとつの理由は、本質的に完璧な小さなサンドボックスの役割を果たすからです。あるアイデアを試して何が起こるかを観察するには最高の場所です。しかし、予期せぬ結果はゲーム内にとどまり、ゲーム外に影響を与えることはありません。ですから皆さんは、私が作った「フォーオナー」の防衛ボットが世界を征服するるなどと心配する必要はないんです。ボットはゲーム内だけで興味深く生きているだけのものなのです。

  • AIIDE 2021 でロモフ氏の講演がフルでご覧いただけます。そこでは作品を実際に見ながら、深層強化学習とAIについてより深く学ぶことができます。Ubisoft の各チームからの最新ニュースは、 Ubisoft News hubでご覧いただけます。*