反証的な複数エージェントの強化学習を読む
複数エージェントの強化学習の論文を読むと必ず参照される「反証的複数エージェントモデル」(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は中央制御型で記録保持モデルである。
複数エージェント間の均衡を図る強化学習の論文を読む
年初に発表された複数エージェントでの協調や敵対学習で画期的な性能を示したAbbeel達のモデル(MADDPG)があり、これには動画やGitHubにソースが公開されているので、様々な改良を加えた研究の成果がこれから発表されると思われる。
複数エージェントの協調学習に成功している論文を読む - mabonki0725の日記
この論文は上記のモデルにエージェント間の均衡を加えて、いち早く発表したものである。
[1810.09206] Multi-Agent Actor-Critic with Generative Cooperative Policy Network
この論文の著者は韓国人で、この様にすばやく発表できるのは韓国人の英語力が日本人より勝っている要因も大きいと思われる。
日本でもGMOの勝田さんのMADDPGを改変して集団行動を模擬した秀逸な実験があるが、まだ論文として発表されていないのが残念である。
・モデル
この論文の考え方は単純で、非中央制御型のモデルでは、自分のみ最適行動を採るため全体の均衡が崩れるので、同時に自分以外の他のエージェントの最適行動も組込み協調しようとするものである。これを複数エージェント間の均衡と称している。下図の左が従来のMADDPGで右が提案手法で、互いに相手の方策を改善している様子が示されている。
MADDPGは決定論的方策DPG(Deteminisic Policy Gradient)の改善を以下の様にサンプリングしてバッチの平均で行うが
本論文の均衡側の方策は自分以外を以下で改善している。上記と比較してMADDPGと殆ど同じなので実装も簡単と思われる。
ここで
は自分のCriticで求められた最適パラメータ
は自分の決定的方策のパラメータ
は相手の決定的方策のパラメータ
は自分の観察状態
は相手方策のサンプリングのバッチデータ
・実験結果
ここでは2つの実験をしている。
1番目はMADDPGの動画で迫力があった、障害物がある環境で素早い動きをする獲物(うさぎ)を2匹の捕食者(猟犬)が協力して追い詰める実験である。
結果は猟犬が報酬を共有する場合(a)と共有しない場合(b)で示されている。報酬を共有する場合はMADDPGと本論文の結果(MADDPG-GCPN1,2)と殆ど変わらない。しかし報酬を共有しない場合は、互いの方策を改良し合うことで有効協調をできることを示している。
ここで
MADDPG-GCPN1:相手の方策をサンプルからランダムに採用
MADDPG-GCPN2 :相手の方策をサンプル全体で均等化
2番目の実験は、エネルギー蓄積システムESSの効率化である。
日本では馴染みがないが、広大な国土では送伝網が伸びると送伝損失があり無視できないらしく、そこで分散された貯蓄設備を作って需要や風力発電の状態に従って効率的に利用しようとするものである。
はESS は供給先 は風力発電 は供給会社
本論文のモデルは互いに相手の方策を最適化することなので、他のESSの充足状態を監視して蓄積することができる。左はコストの比較 右は供給量のグラフで効率よくESSに供給していることがわかる。ここではMADDPGとの比較が無く不自然である。QPは2次計画法を示す。
この論文の方法が相手の方策を改良することの効果を入れているが、相手の価値関数も知っていることが前提であり、MADDPGの非中央制御型の改善になっているか判断が難しい。
位置関係を畳込で抽象化した複数エージェントの論文を読む
IBMの恐神先生の複数エージェントの講演で出会った知人から、この講演の様にマルチエージェントの動作を動画と捉えConvolutionして特徴抽出するモデルが注目されていると聞いたが、この論文も複数エージェントの動作を動態グラフと見做してConvolutionで特徴抽出して学習する強化学習となっている。
[1810.09202] Graph Convolutional Reinforcement Learning for Multi-Agent Cooperation
著者の所属は北京大学で、私の理解力不足もあるが、中国本土の論文は未だ成熟途中で漠然とした記述が多いので解釈が難しい場合がある。
最近の複数エージェントは各エージェント毎に内部モデルを保持しているので、エージェントは増やしても数十個が限界である。一方この論文の方式は近傍のエージェント間のみを取出してエージェント間の関係をグラフにしており、各エージェントはこの共通のグラフを用いているのでエージェントの増加に耐えられると(scalable)している。
・モデル
エージェント間の関係は下図の様に2回のConvolutionでエージェント間の関係の特徴抽出を行い、この結果をQネットワークに投入してQ関数を精緻化する強化学習を行っている。
ここで最下段のは各エージェントの観察状態であり、明確な記述はないが
下図の様に近傍行列と各エージェントの特徴量行列の積と思われる。この図ではi番目のエージェントの近傍が3エージェントに限定されており特徴量行列が3行に縮約されている。
このモデルは上図のConvolutionネットワークは共有しているが、各エージェント毎に近傍行列が異なり、異なるQ関数を保持しているので、この意味では非中央制御型と見えるが、後述のQ関数のパラメータの算出式を見ると中央制御型のモデルである。偶々高い報酬が得られた場合を有利な協調行動として学習するモデルとなっている。
縮約された各エージェントの特徴量は一層目のネットワークで交差されて、上図の様の式の様に複数エージェントの特徴量が抽象化されてた特徴量として計算される。
ここで
はreluを採用している
は特徴量の数
は特徴量の重み
はネットワークの隠れ変数と重み
はスケールパラメータ
論文には記述が無いがQ関数は抽象化された特徴量とパラメータよりQネットワークで最適化されており、この学習は報酬の結果と各々のパラメータを微分して最適解を算出しているはずである。もも微分可能な重みなので、Q関数はQネットワークとConvolutionネットワークの両方で最適に学習されていることになる。
これも記述が無いが、このモデルは多層構造で、層毎に同じ抽象化をしていてでをQネットワークに投入している様だ。
Q関数のパラメータは一般のTD式で改善される。実際にはQネットワークで計算される。
ここで
はサンプル数
はエージェントの数
ダッシュは1step後の値
この式を見る限り、Qネットワークは全エージェントの得点とQ関数を使っているので、中央制御型である。
この論文では2つの緩和をしている。一つ目は 緩和パラメータを入れている。
2つめは正則化パラメータの投入している。
ここで
は層目の
で1step後の状態とでに差が出ない様にしている。
・実験
ここでは3つの実験をして性能を比較している。いずれも20エージェント 12特徴量で行っている。近傍の認識はK=3個となっている。
(1) jungle :他のエージェントを攻撃すると+2点 食料を得ると+1 攻撃されると-1点
(2) battle :敵を倒すと+5点 敵に倒されると -2点
(3) packt通信 : 通信に成功すると+10点 接続するだけだと -0.2点
・結果
本論文の手法がDGN(Deep Graph Network?)と DGN-Mは平均カーネル付きとあるだけで記述なし。DGN-Rは正則化を入れたモデルである比較対象は以下である。
MFQ:Mean Field Q-learning
commNet:
DQN:
何れもDQNやcommNetに比べDGN-MやDGN-Rが高い性能を示している。中央のBattleでDQNの性能が急激に劣化するのは、安易に倒す先が消化されると、それ以上学習ができないためとある。
共有知識での複数エージェントの強化学習の論文を読む
国際学会での発表の準備で忙しかったが、ようやく複数エージェントでの共通知識による強化学習(MACKRL)の論文を読んだ。
[1810.11702] Multi-Agent Common Knowledge Reinforcement Learning
これは下図の様に相手が見えるAとBは、互いに密接に連絡し合う事を前提に共通の視野を持ち協調行動をする強化学習である。この場合CはAとBが見えるがAやBはCが見えないので共同行動できない。
また互いに見える範囲では一体として動けるので中央制御型(Centlise)の方策を学習することができる。
本論文の式定義が複雑で解りにくいが、凡そ次の事を述べている。
このモデルには階層型の方策学習を採用しており次の3段階の順に学習し行動する。
(1) 最適な相手を選ぶ方策学習
(2) グループ内での中央制御型最適方策
(3) 各エージェント毎での最適方策
上図では左端が最適な相手を探す学習、中央が共同行動の学習、右端が個別行動の学習
文献にはこの3段階の学習はActor-Criticで学習しているとある。
本論文の特徴は各エージェントが中央制御型と非中央制御型の方策を両方をActor-Criticで学習することにある。結果で述べている様に各エージェントの特性が異なる場合には有効な方法かもしれない。
・結果
実験ではStarCraftⅡを使っている。
DeepMindのグループ対戦型ゲームの強化学習の論文を読む - mabonki0725の日記
結果では完全中央制御型モデル(Cental-V)とで勝率での比較を示している。
左図は3人の海兵隊が同じ地図を持ち協調している結果で本論のMACKRLと殆ど差が無い。
右図は2人(Stalkers)と3人(Zealos)が異なるタイプで5人で協調している結果で、この共通知識型での協調学習が良い事を示している。
Stalkers や Zealotsはネットで調べると次の様だ。
stalkers
zealots
相手への影響を報酬の一部とした協調強化学習の論文を読む
エージェントの相互の影響を反映した社会的動機による協調強化学習と訳せばいいのか、次のタイトルの論文を読む。
[1810.08647v1] Intrinsic Social Motivation via Causal Influence in Multi-Agent RL
相手の行動と自分の内部状態を因果として次の行動を決定することを因果的影響(causal influence)と云い、これを報酬の一部とすることで協調学習を達成しようとしている。
各エージェントの強化学習は一般のA3Cを採用しており、エージェントの内部状態はLSTMの隠れ変数としており、内部状態はLSTMで遷移する。
要するに複数エージェント間の因果的影響の量を計り、これを報酬とした場合、偶々うまく行けば(得点が多く入る等)この方策を採用する様にA3Cで学習しようとするものである。外から見ればこのエージェント間の因果的影響による行動は協調して働いて(得点を稼いで)いると見える。
・手法
k番目のエージェントの報酬を以下のパラメータで分離している。
ここで は実際の報酬 は因果的影響の報酬
下図の様な2つのAとBエージェントの場合で説明すると
エージェントAの因果的報酬はエージェントAによる行動の有無でエージェントBによる行動のが採る確率分布の距離を使っている。
ここで はエージェントBの内部と外部の状態である。
この式の数理的な正しさはエージェント間の相互情報量からも証明できる。即ちエージェントAの全行動と因果的影響の積和は相互情報量に一致している。
この論文では因果的影響は実際のエージェント間の行動履歴のサンプリングから計算するとしている。多分A3Cで得点から学習するにつれて有意な因果的影響の量が増えると思われる。
実際の2エージェントの実験例として2つ(CleanupとHarvest)掲げている。
左図は上部にある川の泥さらいをするとリンゴが生まれ、泥さらいとリンゴの収穫を協調学習をしている。右図はリンゴを植える側と収穫側が協調して学習するものである。何れのゲームも紫の点がエージェントで緑がリンゴである。
両方とも協調しなければ囚人のジレンマの様に両方でリンゴを食いつぶすことになる。
早くて見難いがCleanupの動画としては以下が示されている。
Social influence reward leads to emergent communication in Cleanup game - YouTube
・実験方法
驚くべきことに実験としては因果的影響を使って以下の3方法の比較をしている。
1) 協調学習として伝統的な中央制御型(神の視点で全エージェントを協調させる)
2) 因果的影響をメッセージとして他のエージェントに伝える方法
Reinfocemented Inter-Agent Learning(RIAL)法による方法との比較
3) 各エージェントが複数のエージェントの因果的影響を反映した内部状態を持ち、行動を予測する方法
Model of Other Agent(MOA)として下図の様にモデル化している
・実験結果
(a)ではA3Cと中央制御型と因果的影響による比較
(b)ではA3CとRIALとメッセージに因果的影響を使った比較
(c)ではA3CとMOAと因果的影響を反映したMOAとの比較
何れも因果的影響を使った方法が改善されているが、左上のCleanupの中央制御型では学習の立ち上がりが遅い。これは神の視点を入れた手法が優れていることを示しており、やはり協調するには監督の差配が必要だとも言える。
人間のコントロールで早期に学習する強化学習の論文を読む
強化学習は学習に相当時間がかかる事が知られているが、人間が要所々にコントロールして教えれば学習が効果的にきるとの考えを実現した論文である。
[1709.10163] Deep TAMER: Interactive Agent Shaping in High-Dimensional State Spaces
本論文の手法はDeep TAMERと云い概念図は以下である。この論文の特徴は人間のコントロールを深層学習を使って高次元の関数に近似して、これを方策として強化学習に組み込むことである。
この論文を読む動機は下記の記事を見て学習の改善度合いが凄いためであった。
ぼくがかんがえた世界最強のAIをつくるために、アメリカに行ってきた : 情熱のミーム 清水亮 - Engadget 日本版
この人間が計算機に教える学習対象はATARIの古典的なボーリングゲームである。
この論文の着想は簡単で、人間のコントロールを最適な方策にすることである。 しかし最適方策は次の人間の方策理解を示す関数となるものを導入してこれを深層学習で近似する。
この論文での巧妙な現実的な方法は、ゲーム画面と人間のコントロールに遅延があることを許容する遅延関数を組込み、方策理解を次の損失関数で求めていることである。
式(1)
ここで
は画面の状態
はコントロールを行った後の観察結果
は遅延関数でとは状態の最初と最後の時間
はコントロールしてから結果を見るまでの期間
・遅延関数
この独特の遅延関数は分布関数を使って次で定義している。
分布関数はここでは0.25~4の一様関数を採用している。人間の遅延はこの間が多いそうである。
・損失関数
式(1) の損失関数を解くためにこの論文では次の2種類の最適化を使っている。
(a) 画面状態の情報集約
(b)人間のコントロールのバッチ学習
(a) 情報集約
このの損失関数は式(1)から分る様にの教師あり学習になっている。これは深層学習で解いている。しかし画面の状態はかなり数万の高次元なのでAutoEncoderで次元圧縮して数百次元にして、再度Decodeして画面に戻している。このEncoder Decoderのパラメータは次の関数で最適化している。
(b)バッファーによる バッチ学習
これも深層学習で以下の人間方策関数を改善している。
ここでは画像と結果観察と人間のコントロールの1000組程度(ゲームにすると15分程度)をバッファに入れてランダムに取り出して上式を訓練して更新している。
上式のは人間のコントロールに対応したランダムに取り出した画面と観察結果である。
但し遅延関数が存在しない人間のコントロールは無視している。
・結果
このゲームに限っては驚異的な学習効率を示している。
勉強不足だったが低次元での人間のコントロールを反映するモデルとしてTAMER(Training an Agent Manually via Evaluation Reinforcement)2009があったそうである。TAMER
しかし本論文での高次元モデルは特徴量を多く取り入れることができ微妙なコントロールも反映でき、低次元での似たコントロールの衝突も回避できる可能性がある。是非ロボットの分野でも使ってもらいたいものである。
DeepMindのチーム対戦の強化学習の論文を読む
DeepMindの複数エージェントのチームでの勝敗による強化学習が人間のレベルを超えており、この理論と実験の詳細な報告になっている。
チームでの勝敗とは自己と敵対チームで互いに相手の陣地の旗を奪い合いするCTF(Capture the flag)ゲームである。ゲーム環境は下図(a)と(b)の様な3D一人視覚(first-person)だが自己チームの一人として学習した行動が見れる様になっている。このゲームには得点が表示されるので、この得点を指針としてチームとしての強化学習を行っている。
この動画は以下で見れる。 (b)の迷路版だと的の陣地に入って旗を奪取して途中で交戦する様子が見れる。
Human-level in first-person multiplayer games with population-based deep RL - YouTube
複数エージェントのモデルとしては、同じチーム内の協調をどの様に理論化することが最大の問題でモデルの特徴になっている。
DeepMindは自己の方策(inner)とチーム全体(outer)との方策とに分けて、次の2式で訓練している。 この方式をPBT(Population Based Training)として、各エージェントをFTW(For the Win)と称している。
(1) 式は2チームN人で側が勝つように自己チームの方策を決定することを示している概念的な式である。この式は(2)式ので使われている。この詳しい理論は論文に添付してあるSupplementary Materialsを読むしかない。
(2)式のは普通の強化学習の式であるが報酬がチームとしての報酬となっていいる。このチーム報酬は(2)式ので算出されるものになっていて複数エージェントの協調化をしている。
チーム報酬は画面の3D一人視覚の得点からチーム全体の報酬を計算する関数でをパラメータとしている。
ここで
はエージェントの共同対象をサンプルする関数
はゲーム画面のサンプリング
は割引係数
(1)式のモデルの概念図
人間との比較は下図に示している。
さらにこの論文では詳細にFTWエージェントが次の様に3期に分けて高度な知識を獲得する過程を詳細に観察している。
1. 自己の陣地の防御(Home Base Defence)
2. 相手の陣地の待ち伏せ(Opponent Base Camping)
3. チームの助力(Teammate Follow)
下段の図は3期の学習段階での迷路の状態(左)と自己位置の記憶(右)の状態を示しており、学習段階に従って自己と相手の陣地を往復しており、自己位置は自己と相手の陣地の近くに偏在していく様子を示している。
最後にこの論文の今後の課題としては、エージェントは30人が精一杯でまた各エージェントの異なる特性による協調が与えられてないこととしている。