ホームページ > 記事 > テクノロジー周辺機器 > Xishanju AI 技術専門家 Huang Honbo 氏: ゲームにおける強化学習と動作ツリーの実践的な統合
2022 年 8 月 6 日と 7 日、 AISummit グローバル人工知能技術カンファレンス は予定通り開催されます。 7日午後に開催された「人工知能フロンティア探索」サブフォーラムでは、西山州のAI技術専門家である黄紅波氏が「ゲームにおける強化学習と行動ツリーの実践的な組み合わせ」をテーマに、詳細を共有した。ゲーム分野における強化学習の影響。
Huang Honbo 氏は、強化学習テクノロジーの実装は、アルゴリズムをより強力にするために変更することではなく、強化学習テクノロジーを深層学習およびゲーム プランニングと組み合わせて、完全なソリューション セットを形成し、それを実現することにあると述べました。起こる。
強化学習によりゲームがよりスマートになります
ゲームに強化学習を実装すると、ゲームがよりスマートになり、よりプレイしやすくなります。これが強化学習を使用する主な目的です。ゲームで。
「強化学習は、一連の意思決定ができるようにエージェントの戦略を訓練する機械学習パラダイムです。」 ファン・ホンボ氏は、エージェントの目的は環境の観察に基づいてアクションを出力することであると述べました。これらのアクションは、より多くの観察と報酬につながります。トレーニングでは、エージェントが環境と対話する際に多くの試行錯誤が必要となり、反復ごとに戦略を改善できます。
ゲームでは、アクションを実行したり、動作を実行したりするエージェントがゲーム エージェントです。ゲーム内のキャラクターやロボットを考えてみましょう。ゲームの状態、つまりプレイヤーがどこにいるのかを理解し、その観察に基づいてゲームの状況に基づいて意思決定を行う必要があります。強化学習では、意思決定は報酬によって決まります。報酬はゲーム内でハイスコアとして提供されたり、特定の目標を達成するために新しいレベルに到達したりすることで提供されます。
Huang Honbo 氏は、この試合の状況で最も素晴らしい点は、エージェントの戦略が試合のプレッシャーの下で訓練されていることだと述べました。たとえば、攻撃に対処する方法や、特定の目標を達成するためにどのように行動するかを学習することができます。
ゲームにおけるビヘイビア ツリーの役割
ビヘイビア ツリーは、論理ノードとビヘイビア ノードを含むツリー構造です。通常、各状況をノードのタイプに抽象化し、仕様に従ってノードを記述し、これらのノードをツリーに接続します。ユーザーが動作を検索するたびに、ツリーのルート ノードから開始して、各ノードの現在のデータと一致する動作を見つけます。
簡単に言うと、各AIモジュールの結合度が高く粒度が大きい場合、変更箇所が多くなり、重複コードが大量に発生しやすくなります。 。ビヘイビア ツリーの出現により、大多数のゲーム開発者にとって「正方形のノートブック」が提供され、AI 開発者は再利用可能で拡張と保守が容易な一連の AI フレームワークをより便利に構築できるようになりました。強化学習はトレーニングによって得られるものであり、動作ツリーはいくつかの else ステートメントと if ステートメントの組み合わせであると言えます。
上の図のように、図の中にルートノードがあり、その下にツリーノードがあり、ツリーノードには脱出、攻撃、徘徊などが含まれます。 。上の写真を AI またはロボットとして考えて、ジャングルを巡回させてください。 AIがORCオークを見てORCを倒すことができないと判断した場合、この条件が発動するとAIは逃走し、逃走時にRunアクションを実行します。戦いやすいと判断した場合はファイト操作が行われます。
上の図には 2 つのノードがあり、1 つはルート ノードである Root、もう 1 つは論理ノードである Selector ノードです。すべてのノードが左から右へ特定の順序で実行される、これがビヘイビア ツリーです。したがって、各ノードに対応するロジックを記述するだけで、AI がいくつかの関連アクションを実行できるようになります。いくつかのビヘイビア ツリーが最終的にゲームを形成します。
強化学習とビヘイビア ツリーの組み合わせによりゲームがよりリッチになります
強化学習とビヘイビア ツリーを組み合わせてゲームをよりリッチにするにはどうすればよいでしょうか?これは多くのゲームで議論される必要がある難しいアプリケーションです。
その前に、いつ強化学習を使用するのが良いのか、またどのような状況でビヘイビアツリーを使用するのが良いのかについて議論したほうが良いかもしれません。黄紅波氏は、ビヘイビアツリーを使って目標を達成する方法がない場合は、強化学習を利用すればよいと述べ、例えばFPS(一人称視点シューティングゲーム)において、どのくらいの火力を使うべきか、誰にどのような射撃をすべきかなどを検討することができると述べた。ビヘイビア ツリーを通じて意思決定を行うのはより困難であるため、一般的には強化学習を使用する方が良いと考えられます。
ビヘイビア ツリーをいつ使用するか?たとえば、ゲーム内で障害物に遭遇し、それを飛び越える必要がある場合、強化学習を使用してそれを実行するか、ビヘイビア ツリーを使用してそれを実行するかを選択できます。しかし、それを強化学習でやろうとすると、訓練が非常に面倒になります。この状況ではオプションはスキップする 1 つだけであるため、ビヘイビア ツリーを使用する方が簡単です。
強化学習とビヘイビアツリーを組み合わせてゲームに使用すれば、より良いソリューションであることを見つけるのは難しくありません。 Huang Honbo 氏は、強化学習とビヘイビア ツリーを組み合わせる比較的大規模な実装方法が 2 つあると述べました: 1 つは強化学習に基づいてビヘイビア ツリーによって補足されるもの、もう 1 つはビヘイビア ツリーに基づいて強化学習によって補足されるものです。
ビヘイビア ツリー側: ビヘイビア ツリーを主な AI 移動方法として使用すると、ビヘイビア ツリーはゲーム クライアントからの obs 入力を受け取り、自身のターゲット状況に応じて obs に対応するビヘイビア ツリーの動作を書き込みます。ビヘイビア ツリーの各動作では、意思決定に強化学習が必要ないくつかのノードが強化学習に引き渡され、ここで強化学習は、いくつかの特定のシナリオに対応するトレーニングを実行する必要があります。
強化学習側: 全体的な戦略は、複数のモデルをトレーニングすることになり、各モデルは戦略を実行し、その後、動作ツリーに埋め込まれます。
Huang Honbo 氏は、これら 2 つの異なる実装方法のうち、どちらが優れているかは、さまざまな状況、さまざまなアプリケーション、さまざまなゲームに基づいてさまざまな考慮が必要なため、一般化することはできないと述べました。
次回は、黄紅波氏が、Xishanju が強化学習と動作ツリーで採用した技術フレームワークを、「詳細 ビヘイビアー ツリーと強化学習をゲーム内で組み合わせて、ゲームをより豊かにする方法。事例の実践に興味のあるユーザーは、AISummit グローバル人工知能技術カンファレンスの素晴らしい共有ビデオに注目するとよいでしょう。 (https://www.php.cn/link/53253027fef2ab5162a602f2acfed431)
以上がXishanju AI 技術専門家 Huang Honbo 氏: ゲームにおける強化学習と動作ツリーの実践的な統合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。