反証的な複数エージェントの強化学習を読む
複数エージェントの強化学習の論文を読むと必ず参照される「反証的複数エージェントモデル」(Counterfactual Multi-Agent:COMA)の論文を読んでみた。
[1705.08926] Counterfactual Multi-Agent Policy Gradients
表題にある反証的(counterfactual)とは、複数エージェントの一員として自分の行動の寄与を計算するため、協調した場合と非協調の場合の比較を行っており、この比較を反証的と称している。
この論文のもう一つ価値としては、Suttonの単独エージェントでの方策勾配法(Policy gradient)の理論を複数エージェントに拡張して数学的に正しいことを証明している点にある。
COMAでは複数エージェントでのActor-Critic方式を以下で構築している。
Actor:非中央制御型 各エージェントの反証的価値から方策のパラメータを計算
Critic:中央制御型 各エージェントの状態を統合して、法でQ価値関数を算出するパラメータの計算と各エージェントの反証的価値を計算
下図の全体構成ではCriticは環境からは状態と報酬を得て、また各エージェントのActorから次の最適協調行動と方策関数を受取り、反証的価値をActorに戻している。各エージェントのActorは反証的価値及び部分観察を得て最適行動を求めている。ここで大事なのはActorはGRU(Gated reccurent unit)の時系列モデルを採用しており、時系列の隠れ変数を更新していることである。
①方策勾配法(Actorロジック)
論文ではSuttonの方策勾配法での勾配は以下で示されている。
(1)
ここで
は状態
は行動(一般的にはを使うが複数エージェントの場合はで表記する)
は方策
時点の平均報酬 を使うと式(1)は以下の式A~Eの手続きで式(1)を示せる。
式A
ここで は状況になる確率
これを使うと(1)式は以下に変形できる。
] 式B
式Aをで微分すると
式 C
ところで対数の微分公式を使って
両辺をを乗じると以下となる。
上式を式Cに代入すると
式D
ここで次の確率の総和は1であることを使うと
以下となる。
式E
一方式Bは以下なので
式Eを式Bに代入すると式(1)が示せた。
②反証的ロジックによる価値の設定
複数のエージェントがあり、特定のエージェントの全体に対して寄与度を計測できれば、特定エージェントが採った行動について全体に及ぼす価値を計算することができる。即ち、特定のエージェントが協調に反する行動を起こした場合の価値関数を反証的として求めて、協調行動との差を寄与度とする方法である。
Suttonの方策勾配のは何を使ってもよいことが知られており、本論文でもlemma1でこの証明がある。は価値関数とベースラインとの差を使う場合が多い。ベースラインを使うのはの大きな変動を抑止するためである。
本論文では反証的な寄与度を使う。
(4)
上式で分る様にベースラインは反証的な価値関数となっている。
論文には記述していないが式(4)での代わりにを使うのは、複数エージェントモデルでは全体的な状況よりも個別エージェントが把握している経路の方が適切と考えられる。
下図の様にCOMAでは各エージェント毎に方策勾配法で求めるパラメータを計算するのにGRU(gated Reccurent Unit)を使って時系列の影響を反映できる様にしている。
③価値関数のパラメータ最適化(Criticロジック)
Criticは中央制御型なので、COMAではSuttonの教科書通りの単体エージェント型の法によって全エージェントの情報(features)を集めて次の損失関数を最小にするパラメータ計算している。
ここで
は割引係数
はt時点の全エージェントで獲得した報酬
次にCOMAのCriticでは全体の価値関数から各エージェント毎に式(4)の反証的ロジックより各エージェントの価値をを計算する。
上図でのは各エージェントの部分観察を示している。これも本論文で記述していないが価値関数は便宜的な記述で、本来は全エージェントが観察できる特徴量を使ったが正しいと考えられる。
④チーム対チーム型ゲームStarCraftでのCOMAの実験
StarCraft環境ではチーム対戦(攻撃、回避、待機)をする。自己チームはCOMAモデルで動作するが対戦相手はStarCraftが用意している経験ルールに基づいた動作をする。
COMAの性能実験では下図の様に対戦相手を認識する範囲を故意に設けている。これは部分観察データを使うためと、近接戦に限定することで方策の探査空間を狭めるためである。下図では2匹の竜と3匹のzealosでチームを構成している。
⑤StarCraftでの実験結果
COMAで採用した方法の効果の確認のためモデル比較している。
(1) Criticで中央制御型の採用
IAC-V:ActorもCriticも非中央制御型(協調行動しない)でQ関数を計算
IAC-Q:ActorもCriticも非中央制御型(協調行動しない)でV関数を計算
但しIACの深層学習の最終層は同じパラメータを使用している。
(2) Q関数の採用
central-V:Criticは中央制御型でQ関数の代わりにV関数を使用
(3) Actorで行動価値評価にの反証的方法を採用
central-VQ:Criticは中央制御型でActorの行動の価値評価にを使用
下図では縦軸に勝率、横軸に訓練回数をしめしてありチームの編成が異なる。各方法の薄い色は実験結果の変動1σの範囲を示し、実線は平均である。
3mは3人の海兵隊 5mは5人の海兵隊 5wは5人の生霊(wraith) 2d_3zは2匹の竜に3匹のZealosである。
なおheuristicは経験的なルールによる行動での勝率を示す。
図(a)の3mでは非協調型のIAC型の性能が悪く中央制御型による協調行動が有意なことが分る。
図(b)の5mではIAC型も学習が進めば差が出ない。論文に記述はないが5人だと協調行動の必要性が少なくなると考えられる。
図(d)の2d_3zは異なる種のチーム編成であり、特徴を生かした協調行動が有意なことを示している。
下表のheur(経験的なルールで行動)で判明する様に接近戦が遠隔戦(遠くから攻撃する)より勝つことが難しいことを示している。またGMEZOは中央制御型で記録保持モデルである。