PettingZoo の Multi-Agent Particle Environment (MPE) 上でマルチエージェント強化学習を行う研究プロジェクト。
マルチエージェント強化学習 (MARL) において、集中型価値推定 (Centralized Critic) は学習性能を向上させるが、エージェント数や Attention 層の増加に伴い計算コストが急増する。本研究では、PettingZoo MPE 環境上で3つのアルゴリズムを比較し、学習性能と計算効率のトレードオフを検証する。
GCN-based Critic は、Transformer-based Critic と同等の学習性能を維持しつつ、計算コスト(特に embed_dim・Attention 層数に依存するスケーリング)を削減できるか?
具体的には:
- SAC → MAAC で性能がどの程度向上するか(集中型価値推定の効果)
- MAAC の embed_dim・Attention 層数をどこまで削減できるか(最小限の計算量での性能維持)
- GCN-MAAC が MAAC の性能を、より少ないパラメータで達成できるか(グラフ構造の帰納バイアスの効果)
- エージェント数 N=2→5 へのスケール時に、各手法の計算コストと性能がどう変化するか
| アルゴリズム | Critic 構造 | 計算量の特徴 |
|---|---|---|
| SAC (ベースライン) | 各エージェント独立の MLP Critic | 最も軽量。エージェント間の情報共有なし |
| MAAC | Transformer (Multi-Head Attention) Critic | エージェント間の相互作用を捉えるが、Attention 計算に O(N²) のコスト |
| GCN-MAAC (提案手法) | Graph Convolutional Network Critic | エージェント+ランドマークをグラフとしてモデル化。距離ベースの隣接行列で疎な情報伝播を実現し、Attention より効率的 |
- simple_spread (協調タスク): N 体のエージェントが N 個のランドマークに分散配置 → 協調行動の学習
- simple_adversary (競合タスク): 敵対的エージェントを含む環境 → 異なるタスク構造への汎化性
| パラメータ | 探索範囲 | 検証内容 |
|---|---|---|
| Attention embed_dim | 8, 16, 32, 64, 128, 256 | Critic の表現力 vs 計算コスト |
| Attention 層数 | 3, 5, 7 | 深さと計算コストの関係 |
| 学習率 (lr) | 0.0003, 0.0004, 0.0005 | 収束速度の比較 |
| ターゲット更新率 (tau) | 0.003, 0.005, 0.02 | 学習安定性 |
| エージェント数 (N) | 2, 3, 5 | スケーラビリティ検証 |
| local_ratio | 0.3, 0.5 | ローカル報酬 vs グローバル報酬の比率 |
| gamma (割引率) | 0.98, 0.99 | 報酬の時間的割引 |
| Parameter Sharing | あり / なし | 同タイプエージェントのパラメータ共有効果 |
MPE/
├── agents/ # エージェント実装 (SAC, MAAC, GCN)
├── util/ # トレーナー・学習ユーティリティ
├── notebooks/ # 分析・評価用 Jupyter ノートブック
├── config.json # 学習ハイパーパラメータ設定
├── MPE_train.py # メイン学習スクリプト
└── requirements.txt # 依存パッケージ
pip install -r requirements.txtconfig.json でハイパーパラメータを設定し、学習を実行:
python MPE_train.py