位置関係を畳込で抽象化した複数エージェントの論文を読む

IBMの恐神先生の複数エージェントの講演で出会った知人から、この講演の様にマルチエージェントの動作を動画と捉えConvolutionして特徴抽出するモデルが注目されていると聞いたが、この論文も複数エージェントの動作を動態グラフと見做してConvolutionで特徴抽出して学習する強化学習となっている。

[1810.09202] Graph Convolutional Reinforcement Learning for Multi-Agent Cooperation

著者の所属は北京大学で、私の理解力不足もあるが、中国本土の論文は未だ成熟途中で漠然とした記述が多いので解釈が難しい場合がある。

 

最近の複数エージェントは各エージェント毎に内部モデルを保持しているので、エージェントは増やしても数十個が限界である。一方この論文の方式は近傍のエージェント間のみを取出してエージェント間の関係をグラフにしており、各エージェントはこの共通のグラフを用いているのでエージェントの増加に耐えられると(scalable)している。

 

・モデル

エージェント間の関係は下図の様に2回のConvolutionでエージェント間の関係の特徴抽出を行い、この結果をQネットワークに投入してQ関数を精緻化する強化学習を行っている。

f:id:mabonki0725:20181122101640p:plain

ここで最下段のO_i'は各エージェントの観察状態であり、明確な記述はないが

下図の様に近傍行列と各エージェントの特徴量行列の積と思われる。この図ではi番目のエージェントの近傍が3エージェントに限定されており特徴量行列が3行に縮約されている。

このモデルは上図のConvolutionネットワークは共有しているが、各エージェント毎に近傍行列が異なり、異なるQ関数を保持しているので、この意味では非中央制御型と見えるが、後述のQ関数のパラメータ\thetaの算出式を見ると中央制御型のモデルである。偶々高い報酬が得られた場合を有利な協調行動として学習するモデルとなっている。

 

f:id:mabonki0725:20181122102123p:plain

縮約された各エージェントの特徴量は一層目のネットワークで交差されて、上図の様の式の様に複数エージェントの特徴量が抽象化されてた特徴量h'として計算される。

 h_i' = \sigma ( \frac{1}{M} \sum_{m=1}^M \sum_{j \in \epsilon_i} \alpha_{ij}^m W_v^M h_j )

     \alpha_{ij} = \frac{\exp(\tau [W_q h_i \dot (W_k h_j)^T])} {\sum_{e \in \epsilon_i }\exp(\tau [W_q h_i \dot (W_k h_e)^T])}

 

 ここで

  \sigmaはreluを採用している

       Mは特徴量の数

  W_v^mは特徴量の重み

       h_j w_k w_qはネットワークの隠れ変数と重み

       \tauはスケールパラメータ

 

論文には記述が無いがQ関数は抽象化された特徴量h'とパラメータ\thetaよりQネットワークで最適化されており、この学習は報酬rの結果と各々のパラメータ\theta_i微分して最適解を算出しているはずである。W_v^mw_k微分可能な重みなので、Q関数はQネットワークとConvolutionネットワークの両方で最適に学習されていることになる。

これも記述が無いが、このモデルは多層構造で、層毎に同じ抽象化をしていてh' \to h''h''をQネットワークに投入している様だ。

 

Q関数のパラメータ\thetaは一般のTD式で改善される。実際にはQネットワークで計算される。

 \mathcal{L}(\theta) = \frac{1}{S} \sum_S \frac{1}{N} \sum_{i=1}^N (y_i - Q(O_i,a_i;\theta))^2

    y_i = r_i + \gamma max_{a'} Q(O_i',a_i';\theta')

    ここで

       Sはサンプル数

  Nはエージェントの数

  ダッシュは1step後の値

 この式を見る限り、Qネットワークは全エージェントの得点とQ関数を使っているので、中央制御型である。

 

この論文では2つの緩和をしている。一つ目は 緩和パラメータ\betaを入れている。

  \theta' = \beta \theta + (1 - \beta) \theta'

2つめは正則化パラメータの投入している。

     \mathcal{L}(\theta) = \frac{1}{S} \sum_S \frac{1}{N} \sum_{i=1}^N (y_i - Q(O_i,a_i;\theta))^2 + \lambda \mathcal{D}_{KL} (\mathcal{G}^k(O_i;\theta || z_i)  

    ここで

  \mathcal{G}^k(O_i,\theta)_jk層目の \alpha_{ij}

    z_i=\mathcal{G}^k(O_i',\theta)

    で1step後の状態Q_i Q_i'とで\alpha_{ij}に差が出ない様にしている。

 

・実験

 ここでは3つの実験をして性能を比較している。いずれも20エージェント 12特徴量で行っている。近傍の認識はK=3個となっている。

   (1) jungle :他のエージェントを攻撃すると+2点 食料を得ると+1 攻撃されると-1点

      (2) battle :敵を倒すと+5点  敵に倒されると -2点

      (3) packt通信 : 通信に成功すると+10点 接続するだけだと -0.2点

f:id:mabonki0725:20181122122017p:plain

・結果

 本論文の手法がDGN(Deep Graph Network?)と DGN-Mは平均カーネル付きとあるだけで記述なし。DGN-Rは正則化を入れたモデルである比較対象は以下である。

 MFQ:Mean Field Q-learning

   commNet:

   DQN:

f:id:mabonki0725:20181122122721p:plain

 何れもDQNやcommNetに比べDGN-MやDGN-Rが高い性能を示している。中央のBattleでDQNの性能が急激に劣化するのは、安易に倒す先が消化されると、それ以上学習ができないためとある。