[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

ゲーム開発者会議「CEDEC 2020」3日目(2020年9月4日)「ゲームAI研究をしたい!ゲームをない研究開発部門は、発売されたタイトルで、実験場を作り出した! “というタイトルのセッションが行われた。
このセッションでは、フロム・ソフトウェアのR&Dセクションヘンジャン・フィリップ氏により、ゲーム開発者の研究開発部門(R&D)は、ゲームAIの研究をする際に克服しなければならない障害物とその障害を克服するための努力、そして開発のためのAI研究への適用例と展望などが披露された。

ヘンジャン・フィリップ氏

研究開発部門は、ゲームAIを研究するときに発生する障害

R&Dは、基本的にゲーム開発に直接関係なく、主にライブラリやツールなどの開発、利用することができる技術の調査、調査技術の研究を行っている。 特にフロムソフトウェアのR&Dは、ゲームに導入する前提の研究と努力を重要視していること。

その中には当然、ゲームAIの研究も含まれる。 ゲームのAIの役割は、NPCの操作とデバッグゲーム全体の制御(メタ)自動調整、環境分析などがある。 また、AIスクリプトと動作ツリー、状態マシンなどの古典的なモデルで最近注目を浴びている強化学習と機械学習のようなモデルがあります。

R&DのゲームAIを研究しようとする「AI実験場 “が必要になる。 その理由は、AIを研究しやすい試行錯誤を繰り返し、また、汎用的に多くの技術を検証することができる環境が不可欠だからだ。
しかし、R&D研究を目的とし、実験環境を提供していた場合「実験に適した環境 “「ミニゲームのような環境 “傾向になってしまうこと。 このような環境は、扱いやすく、表示の問題のないように見えるが、実際にゲームAIをゲームに導入する際に問題が発生する。

つまり適切な環境でのみゲームAIを確認していないので、ゲームのように複雑で限定的な環境で予期しない問題が発生するだろう。 そうなれば、ゲームAIを導入するために莫大な費用がかかる。 そしてゲーム開発現場も知っているので気軽にしようとする話はない。
もしゲームAIの導入を推進しても問題が多発することには変わりがなく、また、問題を解決していない場合のリスクも大きくなる。

そのような失敗を避けるために、ゲーム開発時の問題と制約を考慮しながらも、開発に適用可能であることを理解ゲームと似たような環境の実質的なAIの実験場が必要である。
しかし、R&Dが実質的なAIの実験場を設けることは難しい。 とも先頭に書かれた通りのR&Dのゲーム開発を専門としていないので、ゲームに近い環境を開発するノウハウがないからである。 無理に環境を作成しようとすると膨大な工数が必要なのは明らかであるR&D、本来の業務と並行するのは現実的ではない。

のR&Dに実質的AI実験場を提供する他の方法としては、「既製の環境を利用する」「ゲーム開発に参加し、「二つが上がった。
既製品AI環境には、「ALE」(Arcade Learning Environment)や「ML-Agents」またはAIのAPIを提供している」Starcraft 2」などがある。 このような環境を利用することがあれば、R&Dで独自に開発しする必要はないが、環境が開放されていないオープンされたとしても権利に利用することができないこともミニゲームやレトロゲームという問題が起こる。 また、最近登場したAIの環境の多くは、強化学習の研究で、他のモデルの検証はしてにくくなっている。

画像(002)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て
画像(003)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て画像(004)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

 
別の方法であるゲーム開発への参加は、AI関連の機能を組み合わせながら、開発中のゲームAIの実験と検証をすることが、R&Dが独自にAI環境を作る必要がなく、かつ実践的な環境を得ることができる。
しかし、ゲーム開発に関連する開発作業が優先されるため、研究を進める時間を取ることができなくなる。 また、開発中のゲームは、バグがあり、仕様変更に環境が変化するなど、安定した環境を望むことができない。 結果開発中のゲームのAIの研究をすることは現実的ではないとの判断が下された。

どのように障害を克服したか

結局、R&Dは、リリースされた自社のゲームをAI研究の実験場として採用することを決めた。 発売されたゲームであれば、独自に作成する必要がなく、実用的で安定した環境を提供し、さらに、R&D入れたい研究を優先することができるからである。

以下は、AIの実験場にふさわしいゲーム選出ある。 選定基準は、「多くの役割AIを簡単に研究すること」で、より多くの状況を作ることができることが望ましい。 その基準に基づいて候補に上がったのは、2016年に発売「DARK SOULS III」と2013年発売「ARMORED CORE VERDICT DAY」(以下「ACVD」)の2つである。

画像(005)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

比較検討の結果、「移動領域」や「戦闘街」など、ほとんどの項目で選択の余地が多くの自由度が高い「ACVD」がAI実験場に選ばれた。また、「ACVD」は、PC版がないため、AI実験に必要な部分のみPC用に移植したもの。

画像(006)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

加えて、「ACVD」ビヘイビアツリーと強化学習などに対応していAIモデルが多く拡張する必要があった。
しかし、「ACVD」のAI設計は、ゲーム環境とAIが密接状態にあり、そのままであれば、拡張が難しい。 さらに、コードが複雑だったので下手に触る予期せぬバグや問題が発生することがあった。
だからゲームでAIを分離になったわけだが、ここには“いくつかの研究をしたときに、「ACVD」事情を無視することができ、” “他のゲームにAIの移植を容易にする」「新しいAIモデルにも対応できる」利点もあった。

画像(007)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て
画像(008)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

具体的に何を印加すると、元の「ACVD」にあったAI関連の実装を中間層に置き換えた。 この中間層は、元の実装が持つ機能はほとんど残っていて、そこに外部AIが接続されている。 これにより、ゲーム環境では、元のAIの実装のような交換に見えるが、実際のAIは、汎用的なインタフェースと相互作用するようになる。
また、中間層は、AIだけでなく、ゲーム機のコントローラを接続できるようになっている。 これは、デバッグを考慮した仕様であるが、一般的にAIが操作するキャラクターを人が直接操作することができますいくつかの便利もの。

画像(009)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

また、このような過程で、ゲーム環境とAIは使いやすいデータが、他のことを発見した。 例えば、文字の位置などの座標は、ゲーム環境でそのゲームの世界のどこにあるかを示す「ワールド座標」が扱いやすい反面、AIは、自分で見てどの程度の位置にあるかを示す「ローカル座標 “が扱うやすい。
だから中間層は、これらの違いを相互に変換する機能を持たせ、ゲーム環境とAIに変換する必要がなくなりました。

画像(010)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

中間層に加えて、ロギング機能と再生機能が追加されました
画像(011)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

研究に適応例

完成されたAI実験場で行われた検証の中でのセッションではNPC操作事例の2つ紹介された。 まず、古典的なAIモデル(スクリプトの動作ツリーの状態マシン)の事例では、R&Dで開催された大会が取り上げられた。
これは、R&Dスタッフがプログラミング言語“取る”を使用して各AIを作成し、これを利用して無差別試合をするというもの。 これは大田関連データの収集を目的としたもので、結果と各競技で、HPは減少するなどの情報も可視化された。

画像(012)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て
画像(013)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て画像(014)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

強化学習の事例では、最初に考慮する強化学習の二つの特徴が説明された。 最初の特徴は、強化学習「最先端のアルゴリズム自力で対応することが難しい」こと。 具体的には、大規模な実装の数学を間違いやすい最適化をしないと、学習に多大な時間がかかるデバッグするのは難しいことが理由だ。
第二の特徴は、「リアルタイムで大量のデータが必要」こと。 これは、他の機械学習も同じだが、特に強化学習で学習しながら、データを収集する必要が検証する側に収集時間を合理的な範囲に含またいと思うがあるという。

その特徴にどのように対策したのかというと、まず、最先端のアルゴリズムの磁力対応に関しては、プログラミング言語「Python」で既に実装された学習アルゴリズムを使用した。 これは主流の学習アルゴリズムの多くのPythonでオープンソース化されているのか、機械学習のためのライブラリの多くは、Pythonで対応していることが理由である。

しかし、今回はC ++で作られたゲームとPythonの学習アルゴリズムをどのように接続するかという問題が発生する。 だからゲームと学習アルゴリズムの間にPython強化学習ツールキット “Gym”とのネットワーク通信ライブラリ「gRPC」を挟むことで、その問題を解決した。

画像(015)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て
画像(016)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

リアルタイムで大量のデータが必要である特徴は、強化学習の並列実行に拡張を図り、学習に不要な描画を無効にして計算コストを削減することができます。 これにより、一般的な仕様のPCでも、適切な時間の強化学習を回すことができるようになったという。

画像(017)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

今主立っ問題は解決することができますが、Gymは学習中の環境パラメータの変更に対応しておらず、学習中のマップの変更などを行うことができない。 また、学習AI学習AIを対戦させる対戦型学習もサポートする。 だからインスタンスの管理サーバーを自前で設置して、これらの問題を解決していった。
結果Core i7-8700とGeForce GTX 1060を搭載したPCの並列実行のインスタンス数128という環境で約12時間の間に強化学習の動作確認を行うことができたという。

画像(018)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

強化学習の初期ランダムに動いていたが、12時間後には敵意がある方向に攻撃できるようになっ
画像(019)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て画像(020)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

Pythonの機械学習ライブラリは、検証に使用したパラメータと学習の進捗状況の遺物などをデータベース化する実験管理システムも用意されている
画像(021)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

学習AIを大会に参加してましたが、特定のAIしか勝つことができなくしたこと
画像(022)[CEDEC 2020]フロムソフトウェアの研究開発部門が自社タイトルでAI実験場を作り、検証を成功させるまでを紹介したセッションを見て

ヘン氏は、今後、これらのAIの研究を「ACVD」以外のゲームもしたいと考えていること。 また、デバッグAIなど、より多くの役割AIも研究したい。
もちろん、今後の研究が本格化して実用的なAIが完成されると、フロムソフトウェアのゲームに統合する考えでヘン氏は、セッションをまとめた。

READ  Google Chrome 85正式版のリリース、ページの読み込み速度が向上し - GIGAZINE

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です