人工知能
POKELLMON: ポケモン戦闘でLLMを使用した人間と同等のエージェント
大規模言語モデルと生成AIは、幅広い自然言語処理タスクで前例のない成功を収めてきました。NLP分野を征服した後、GenAIとLLMの研究者にとっての次の課題は、大規模言語モデルがテキストからアクションへの生成ギャップを拡大しながら、実世界で自律的に動作する方法を探ることです。これは、人工一般知能の追求において重要なパラダイムを表しています。オンラインゲームは、大規模言語モデルを備えたエージェントを開発するための適切なテストベッドと見なされています。これらのエージェントは、人間が行うように、視覚的な環境とやり取りします。
例えば、人気のオンラインシミュレーションゲームMinecraftでは、エージェントを使用して、プレイヤーが世界を探索し、ツールを作成し、タスクを解決するスキルを開発することができます。LLMエージェントが視覚的な環境とやり取りする別の例は、The Simsで見られます。ここでは、エージェントが社会的やり取りで著しい成功を収め、人間に似た行動を示しています。しかし、既存のゲームと比較して、戦術バトルゲームは、大規模言語モデルの仮想ゲームをプレイする能力をベンチマークするためのより良い選択肢である可能性があります。戦術ゲームがより良いベンチマークになる主な理由は、勝率を直接測定でき、人間のプレイヤーやAIを含む一貫した対戦相手が常に利用できるからです。
同様の考え方に基づいて、POKELLMONは、ポケモン戦闘のような戦術ゲームで人間と同等のパフォーマンスを達成した世界初のエージェントを目指しています。POKELLMONフレームワークの核心には、3つの主要な戦略が含まれています。
- 戦闘から得られたテキストベースのフィードバックを消費して、ポリシーを反復的に改良する、コンテキスト内強化学習。
- 外部知識を取得して、幻覚を打ち消すことを可能にする、知識増強生成。
- 強いプレイヤーと対戦したときに、パニックスイッチング状況を最小限に抑える、一貫したアクション生成。
この記事では、POKELLMONフレームワークを詳細に説明し、メカニズム、方法論、フレームワークのアーキテクチャ、および最新のフレームワークとの比較について探ります。また、POKELLMONフレームワークが人間のような戦闘戦略と、実時間の意思決定能力を示し、約50%の勝率を達成する方法についても説明します。では、始めましょう。
POKELLMON: ポケモン戦闘でLLMを使用した人間と同等のエージェント
大規模言語モデルと生成AIの能力の成長は、特にNLPタスクにおいて、過去数年で驚くべきものでした。最近、開発者とAI研究者は、生成AIとLLMを、実世界のシナリオで自律的に動作できるようにする方法を模索しています。これらのエージェントを物理的および実世界の状況で自律的に動作させるために、研究者と開発者は、ゲームを適切なテストベッドと見なしています。これらのエージェントは、人間が行うように、視覚的な環境とやり取りします。
以前、開発者はMinecraftやThe Simsのような仮想シミュレーションゲームでLLMを備えたエージェントを開発しようとしましたが、戦術ゲームがこれらのエージェントを開発するためのより良い選択肢であると考えられています。ポケモン戦闘では、開発者がトレーナーの戦闘能力を評価し、他の戦術ゲームよりも多くの利点を提供します。アクションと状態空間は離散的であるため、テキストに変換する際に損失はありません。次の図は、典型的なポケモン戦闘を示しています。ここで、プレイヤーは、各ターンで、両側のポケモンの現在の状態に基づいて、アクションを生成する必要があります。ユーザーは、5つの異なるポケモンから選択でき、アクション空間には4つのムーブがあります。また、ゲームは、ターンベースの形式により、LLMの推論時間とコストを軽減するのに役立ちます。したがって、パフォーマンスは、主に大規模言語モデルの推論能力に依存します。最後に、ポケモン戦闘ゲームは見かけ上は単純ですが、実際には高度に戦略的なゲームです。経験豊富なプレイヤーは、戦闘にポケモンをランダムに選択しません。代わりに、タイプ、ステータス、能力、種、アイテム、ムーブなどの要素を考慮して選択します。また、ランダムな戦闘では、ポケモンは、各ポケモンに独自の特性と推論能力を持つ、1000を超えるキャラクターのプールからランダムに選択されます。

POKELLMON : 方法論とアーキテクチャ
POKELLMONフレームワークの全体的なアーキテクチャは、次の図に示されています。

各ターンで、POKELLMONフレームワークは、前のアクションとその対応するテキストベースのフィードバックを使用して、ポリシーを反復的に改良し、外部知識を取得して、幻覚を打ち消すことを可能にします。入力として提供された情報に基づいて、POKELLMONフレームワークは、複数のアクションを生成し、最も一貫したものを最終的な出力として選択します。
コンテキスト内強化学習
人間のプレイヤーとアスリートは、現在の状態に基づいてだけでなく、前のアクションからのフィードバックと他のプレイヤーの経験も考慮して決定を下します。正しいフィードバックがプレイヤーに学習と成長を促すと言えるでしょう。フィードバックがなければ、POKELLMONエージェントは同じエラーを繰り返す可能性があります。

POKELLMONエージェントが前のミスの学習に役立つように、フレームワークはコンテキスト内強化学習アプローチを実装しています。強化学習は、機械学習で人気のあるアプローチであり、開発者がポリシーを改良するのに役立ちます。強化学習には、行動を評価するために数値的な報酬が必要です。大規模言語モデルは言語を解釈して理解できるため、テキストベースの説明は、LLMの新しい形式の報酬となりました。前のアクションからのテキストベースのフィードバックを含めることで、POKELLMONエージェントは、ポリシーを反復的に改良できます。POKELLMONフレームワークは、4つのタイプのフィードバックを開発しました。
- 攻撃ムーブの実際のダメージ。
- 攻撃ムーブの有効性。
- ムーブの実行順序。
- ムーブの実際の効果。

さらに、コンテキスト内強化学習アプローチの使用により、パフォーマンスが大幅に向上しました。

GPT-4の元のパフォーマンスと比較して、勝率が約10%、バトルスコアが約13%向上しました。また、エージェントは、前のムーブが期待と一致しなかった場合に、アクションを分析して変更するようになりました。

知識増強生成
コンテキスト内強化学習の実装は、幻覚をある程度軽減するのに役立ちますが、エージェントがフィードバックを受け取る前に、致命的な結果につながる可能性があります。例えば、エージェントが火タイプのポケモンと戦うために草タイプのポケモンを選択した場合、火タイプのポケモンが勝利する可能性が高くなります。幻覚をさらに軽減し、エージェントの意思決定能力を向上させるために、POKELLMONフレームワークは、知識増強生成、またはKAGと呼ばれるテクニックを実装しました。
POKELLMONフレームワークは、4つのタイプのフィードバックを生成し、ポケモンのムーブと情報を注釈付けて、エージェントがタイプの優位性関係を推論できるようにします。さらに、POKELLMONフレームワークは、対戦相手のポケモンのタイプの優位性と弱点、およびエージェントのポケモンのタイプの優位性と弱点を明示的に注釈付けて、推論における幻覚を軽減します。次の表は、知識増強生成の結果を示しています。KAGアプローチを実装することで、POKELLMONフレームワークは、既存の36%から55%まで勝率を約20%向上させることができました。

さらに、開発者は、エージェントがポケモンの外部知識を提供されると、適切なタイミングで特殊なムーブを使用し始めたことを観察しました。

一貫したアクション生成
既存のモデルは、プロンプティングと推論アプローチを実装することで、LLMの複雑なタスクを解決する能力を向上させることを示しています。POKELLMONフレームワークは、CoT、ToT、セルフコンシステンシーの既存のプロンプティング戦略を評価します。CoTでは、エージェントは、現在の戦闘シナリオを分析する思考を生成し、思考に基づいてアクションを出力します。セルフコンシステンシーの場合、エージェントは3つのアクションを生成し、最も多くの票を得たアクションを出力として選択します。ToTアプローチでは、フレームワークは3つのアクションを生成し、評価した後、最も適切なアクションを選択します。次の表は、プロンプティングアプローチのパフォーマンスをまとめています。

各ターンには1つのアクションしかないため、エージェントが切り替えようとしても、対戦相手が攻撃すると、切り替わるポケモンがダメージを受けることになります。通常、エージェントは、対戦相手のポケモンのムーブに対して耐性があるポケモンに切り替えるために切り替えます。しかし、CoT推論を使用するエージェントは、強力な対戦相手に直面したときに、ミッションと一致しないように動作し、切り替わるポケモンを切り替えるのではなく、複数のポケモンを切り替える可能性があります。これをパニックスイッチングと呼びます。パニックスイッチングは、ムーブを取る機会を排除し、敗北につながります。
POKELLMON : 結果と実験
結果を説明する前に、戦闘環境を理解することが重要です。ターンの開始時に、環境はサーバーからアクション要求メッセージを受信し、最後に、前のターンの実行結果を含むメッセージに応答します。
- メッセージを解析し、ローカルの状態変数を更新します。
- 状態変数をテキストに変換します。テキストの説明には、主に4つの部分があります。1. 自分のチーム情報、2. 対戦相手のチーム情報、3. 戦闘フィールド情報、4. 歴史的なターンログ情報。
人間プレイヤーとの戦闘
次の表は、POKELLMONエージェントが人間プレイヤーと戦ったときのパフォーマンスを示しています。

POKELLMONエージェントは、ランダムなプレイヤーよりも勝率が高い、ランクの高いプレイヤーと同等のパフォーマンスを発揮します。
戦闘スキル分析
POKELLMONフレームワークは、有効なムーブを選択する際に、ほとんど間違いを犯しません。また、KAG戦略により、適切なポケモンに切り替えることができます。

上の例では、エージェントは1つのポケモンで対戦相手のチームを倒します。エージェントは、対戦相手に最も効果的なムーブを選択し、さらに、人間のような戦略を示しています。さらに、POKELLMONフレームワークは、毒や回復などのムーブを使用して、対戦相手のポケモンにダメージを与えつつ、自らのポケモンを回復させる戦略を示しています。

最終的な考え
この記事では、POKELLMONについて説明しました。POKELLMONは、LLMを使用して、人間と同等のパフォーマンスを達成する、世界初のエージェントです。POKELLMONフレームワークは、3つの主要な戦略を導入します。1. コンテキスト内強化学習、2. 知識増強生成、3. 一貫したアクション生成。これらの戦略により、POKELLMONエージェントは、人間のような戦闘戦略と、実時間の意思決定能力を示し、約50%の勝率を達成します。












