前回記事(Jakob N. Foerster et al. Counterfactual Multi-Agent Policy Gradient, AAAI2018. (2/N))
今回はCOMAを実装していきたいと思います.
こちらにコードを置いています.
実験環境について
考える環境は以下の通りです。
図のように、4つのエージェント(紫、青、緑、オレンジ)がそれぞれ自分の色と同じ色で塗られているマスに移動したいとします。
具体的には、紫、青、緑、オレンジはそれぞれ座標(0, 0)、(0, 5), (6, 0), (5, 6)を出発して、それぞれの対角線上である座標(5, 6), (5,. 0), (0, 6), (0, 0)に移動したいという状況です。
エージェントたちは各時間ステップでそのマスにとどまるか、左右上下のマスに移動することができます。
黒く塗られているマスには移動できません。アクションは1だと上、2だと右に、3だと下に、4だと左に、0だとその場にとどまる、という具合です。
各時間ステップの報酬は以下のように、ゴールまでのユークリッド距離とします。
$$ \sum_{i = 1}^{4} (エージェントi のx座標 - エージェントiの目的地のx座標)^2 + (エージェントi のy座標 - エージェントiの目的地のy座標)^2 $$
モデル
- Actor: 二次元の座標を入力として、5ステップまでを記憶して、GRUで行動を出力する
- Critic: 入力は盤面全体を9チャネルの画像として見ます. 1~4チャネルが各エージェントの位置を、5~10チャネルが行動を各エージェントの行動を表します. この入力をCNNで行動価値関数の値を出力します.
結果
結論から言うと結果は微妙です. まずサンプル効率性が良くないし, トレーニング中の分散も大きいです. 下図参照.
以下のように、トレーニング中に上手くいくと4人のエージェントがうまくそれぞれのゴールに到達する場合がありますが(下図参照), 大半の場合はこうはならず、誰かしらが同じ場所にとどまってしまったりします.
感想
COMAアルゴリズムはマルチエージェント深層強化学習の分野では最先端の技術とは言えません. しかし, "Counterfactual"というアイデアは面白いです. 人間も「自分がもし仮に他の行動をしていたら、チーム全体のパフォーマンスはどうなっていただろう」と考えることはよくあると思います.
次回予告
次回以降は最先端のアルゴリズムである, 以下のようなアルゴリズムを紹介します.
- QMIX (ICML2018)
- Multi-Agent PPO (NeurIPS2022)
- Multi-Agent Transformer (NeurIPS2022)
- Heterogeneous-Agent Soft Actor-Critic (HASAC) (ICLR2024)
etc...
弊社サイトもあわせてご覧ください.