強化学習、マルチエージェント強化学習、その他機械学習全般

機械学習関連のことをまとめていきます。強化学習関連が多いかもしれません

【マルチエージェント強化学習】CLEAN Rewards

今回は Coordinated Learning without Exploratory Action Noise (CLEAN) Rewardsを紹介します。

CLEAN Rewardsはマルチエージェント強化学習におけるReward Shaping(報酬形成)手法の1つです。
各エージェントの探索による報酬の乱れを抑えることにフォーカスした手法です。

探索によるノイズ

マルチエージェント学習では、複数のエージェントが同時に学習しています。
そして、各エージェントの報酬は他のエージェントの行動にも影響を受けます。
基本的には状態遷移、報酬ともすべての行動によって決定されるためです。

探索はランダム行動のようなものなので、あるエージェントの探索は他のエージェントにとってはノイズとなります。 このノイズは各エージェントの学習を阻害するので、うまく取り除くことが重要になります。

CLEAN Rewards

上述したノイズをうまく報酬から取り除く手法がCLEAN Rewardsという Reward Shaping手法の1つになります。
論文では2つの手法を提案していますが、
本記事ではまず1つの手法(CLEAN 1:C1)を見てみます。
C1ではエージェント$i$の報酬$C1_{i}$は以下のように決定されます。

$$ \begin{eqnarray} C1_{i} = G(\vec{a}_{a_{i} \leftarrow a'_{i}}) - G(\vec{a}) \end{eqnarray} $$

$G(\vec{a})$は全エージェントがgreedyを選択をした時の報酬、
$G(\vec{a}_{a_{i} \leftarrow a'_{i}})$はエージェント$i$だけが探索した時の報酬を表しています。
CLEAN Rewardsでは、エージェント$i$の探索による行動を、他のエージェントがgreedy選択している時の報酬との差分をとっているいるので、純粋な探索した行動のシステム全体への影響を計算できます。

実験

問題設定

協調型マルチエージェントゲームの1つであるGSDを用いて評価していきます。

www.tcom242242.net

比較手法

  • 通常のGlobal Reward
  • Difference Rewards

Difference Rewardsについては以下の記事を参考にしていただければと思います。

www.tcom242242.net

ソースコード

ソースコードgithubにあげておきました。
clone してrun.pyを実行すれば、実験できます。

GitHub - tocom242242/clean_rewards

実験結果

f:id:ttt242242:20190610171832j:plain

横軸がエピソード、縦軸はGlobal Rewardになります。ここでは、1訓練1評価という形にしています。
緑がCLEAN Rewards、オレンジがDifference Rewards、青が純粋なGlobal Rewardとなります。

グラフからわかる通り、C1が最も良い性能を出しています。
理由としては、純粋に各行動を適切に評価できていることが上げられます。
思ったよりきれいに差が出たのでびっくりしてます。
もう少しこのへんのReward Shaping手法について、調査していこうと思います。

参考文献

https://pdfs.semanticscholar.org/22b5/e191c5cab5b70f37772b997518660ef7618b.pdf https://www.eecs.wsu.edu/~taylorm/Publications/14IAT.pdf