Udacity Deep RL Nanodegree — Multi-Agent DDPG

이전까지의 모델들은 하나의 agent가 environment와 interact하며 학습하는 모델이었다. 이 Nanodegree의 마지막 챕터에서는 MADDPG를 통해 여러 agent를 학습하는 방법에 대해서 얘기한다.

https://arxiv.org/abs/1706.02275

MADDPG(Multi-Agent DDPG)

MADDPG는 DDPG를 Multi Agent환경에 적용한 방식이다.

  1. 먼저 Actor는 자신이 관측(Observation)한 정보 o(=state)를 보고 policy에 따라 action을 결정한다. Critic은 모든 Agent들의 state와 action을 바탕으로 agent의 value를 측정한다. 이때 Critic은 모든 agent의 정보를 참조하지만 각 agent마다 자신만의 critic을 가지고 자신이 이 환경속에서 선택한 action의 가치를 평가하게 된다. 모든 agent가 critic을 공유할 수도 있다.
  2. Critic이 다른 agent의 observation을 모두 알 수 없을 때는 이를 예측하는 모델을 만들어야한다.
  3. agent가 학습을 하며 계속 바뀌기 때문에 다른 agent를 예측하는 모델도 안정되지 못하고 계속 바뀐다. 혹은 오버피팅될 수 있다. 따라서 다른 agent의 여러 sub-policy들의 experience를 저장해놓고 이를 목표로 학습해서 학습 안정성을 높인다. 이를 Agents with Policy Ensembles라고 한다.
Image for post
Image for post
pseudo code

구현 예제나 다른 글들을 보면 2, 3에 관한 내용이 없어 전지적 시점으로 다른 agent들의 actor target model을 가져와서 action을 가져온다. 그래서 엄청 헷갈린다. 다른 agent의 action이예측결과와 맞도록 학습해야하는걸까… ㅠ 이부분은 예제코드로 못찾았다.. 계속 찾아봐야 할 듯 ㅠㅠ 결국 Project 3 도 다른 모델 예측하는 건 없이 MADDPG를 구현했다.

Reference

Written by

2020.12.8 ~ 2022.6.9 군복무중 Serving in the South Korean Military Service

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store