トップ > 適用事例紹介 > マルチエージェント強化学習

マルチエージェント強化学習

強化学習では、正しい行動の与えられていない状況で、エージェントが様々な試行を繰り返し、うまくいった/いかなかったという結果を経験しながら、うまくいくための行動(最適な行動)を学習します。
この時、対象となる環境は定常であることが想定されています(状況が変わってしまうと基本的には再度学習し直しが必要になります)。

シングルエージェントとマルチエージェント

シングルエージェントの強化学習の例として、左図の例では、一人でサッカーの 練習をしています。 相手(=環境)はボールで、その取り扱い方(技術)を学習(習得)します。 取り扱い方が上手になったとしても(学習したとしても)、ボールの反応は変わりません (定常です)

一方、マルチエージェントの例として、右図の例はサッカーの試合になります。 敵も味方もエージェントとなります。味方とは協調しながら、敵とは競合しながら得点 を狙います。 この場合、あるエージェントにとって、他のエージェント(敵も味方も)は環境の一部 となります。 敵の戦術(=環境)に合わせてこちらも戦術(=施策)を学習しますが、敵もこちらの戦術 に合わせて、自チームの戦術を変える(学習する)のでこちらから見ると環境が常に変化 していることになります。 この様に、他のエージェントも学習するということは、学習とともに環境が変化する という非定常な状況になってしまい学習は難しくなります。 実社会では、環境にたいしてエージェントが一人しかない場合というのはまれで、 複数のエージェントが協調/競合しながら活動をしているのが一般的となります。 このような状況における強化学習がマルチエージェント強化学習になります。

S4 Simulation System のエージェントシミュレーション機能と、マルチエージェント 強化学習ライブラリ(MARLパッケージのMADDPG) を使えば、マルチエージェント強化学習を実装する事ができます。

S4

例として、障害物がある状況での鬼ごっこを取り上げます。

逃げるエージェントが1人、追いかけるエージェントが3人います。

追いかける側の観測値は、自分の位置と速度、障害物の相対位置、その他のエージェントの 相対的な位置、逃げる側の絶対速度としています。 逃げる側の観測値は、自分の位置と速度、障害物の相対位置、その他のエージェントの 相対的な位置としています。 エージェントの行動のパラメータは、水平、垂直方向の加速度であり、報酬として、 追いかける側が逃げるエージェントを捕まえると報酬をもらい、逃げるエージェントは 同時にペナルティを課されるとします。

【マルチエージェント強化学習とシングルエージェントの強化学習との比較】

マルチエージェント強化学習の場合、先回りして、敵を挟み込んで捕まえる協調動作を学習している事がわかりますが、シングルエージェントの強化学習の場合、そもそも学習がうまくいっておらず、不思議な動作をするエージェントもいる事がわかります。


このように、エージェント同士が協調する方が最適化できる場合には、マルチエージェント強化学習 は有効です。例えば、自動車同士が強調して、交通渋滞を減らしたり、工場の中で 効率よくAGVやロボットを制御すること等が、応用例として考えられます。


参考文献
Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments


サンプルプログラム

S4 Simulation Systemのマルチエージェント強化学習のサンプルプログラム(Ver6.1以降)をダウンロードできます。
その他サンプルプログラム一式をダウンロードするにはこちら