今回は 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(\textbf{a}_{a_{i} \leftarrow a’_{i}}) – G(\textbf{a})
\end{eqnarray}
$$
\(G(\textbf{a})\)は全エージェントがgreedyを選択をした時の報酬、
\(G(\textbf{a}_{a_{i} \leftarrow a’_{i}})\)はエージェント\(i\)だけが探索した時の報酬を表しています。
CLEAN Rewardsでは、エージェント\(i\)の探索による行動を、他のエージェントがgreedy選択している時の報酬との差分をとっているいるので、純粋な探索した行動のシステム全体への影響を計算できます。
実験
問題設定
協調型マルチエージェントゲームの1つであるGSDを用いて評価していきます。
比較手法
- 通常のGlobal Reward
- Difference Rewards
Difference Rewardsについては以下の記事を参考にしていただければと思います。
ソースコード
ソースコードはgithubにあげておきました。
clone してrun.pyを実行すれば、実験できます。
GitHub – tocom242242/clean_rewards
実験結果
横軸がエピソード、縦軸は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
コメント