MADDPG(Multi-Agent Deep Deterministic Gradient)
Model Architecture
Policy $\pi_i$는 Policy Network로 상태에 대해서 행동을 결정하고 Critic Network $Q_i$는 Agent의 관찰과 행동에 대한 적정한 값인 Return을 계산합니다. 이는 기존 single-agent의 actor-critc과 동일합니다. N개의 Agent가 있을 때, 각각의 Agent는 자신만의 Policy, Critic Network를 가지고 있습니다. MADDPG에서 특이한 점은 Q네트워크의 인풋으로, 다른 Agent의 정보가 모두 들어간다는 것 입니다.
- 학습시: Q-network에 다른 agent의 관찰과 행동이 모두 들어가서, agent가 Q-value값을 추정하는데 도움을 준다.
- 테스트시: Q-value를 추정하지 않고, Policy $\pi$로 행동한다.
굳이 마리오 카트로 비유하자면, 학습할 때는 서로 화면과 행동을 보면서, 내가 받게 되는 보상의 정도를 추정하고 컨트롤 하는 방식을 업데이트합니다. 그러나 시합에서는 서로 화면을 못보고 각자 자신만의 관찰로부터 행동을 유도하게 됩니다.
+ 물론 서로 화면을 보면서 하면 좋다는 생각이 들텐데, 당연히 그러면 좋습니다. 하지만 현실에서는 모든 정보가 알려지지 않기 때문에, 에이전트는 자신만의 관찰 (partial observation)을 가지게 됩니다.
결론적으로 MADDPG는 공유된 정보로 Q-value를 예측함으로써, Multi-Agent적인 성질을 띄우게 됩니다.
논문 Notation 설명
Meaning | |
---|---|
$\mathbf{x} = (o_1, \cdots, o_n)$ |
모든 agent의 관찰을 하나의 벡터로 표현 |
$Q_i^{{\pi}}(\mathbf{x}, a_1, \cdots, a_N)$ | 모든 agent의 관찰과 행동을 input으로 Q value를 나타낸다. 각 Agent $i$ 마다 존재한다. |
Policy Update | |
Critic Update |
- Policy Network에 대한 업데이트는 Policy Network의 아웃풋인 확률과 Q-Network의 아웃풋을 곱한 값에 대한 Gradient Ascent 입니다.
- Critic Netwrok에서 Loss는 Q네트워크의 Q-value와 실제 reward를 더해서 계산한 y에 대한 MSE loss 입니다.
이 모델은 Centeralized Training Decentralized Execution의 장점이 있습니다. Training 할 때는, Q Network를 이용해서 관찰에 대한 행동을 평가하지만, 실제 실행(Decentralized Execution)에서는 각각의 Agent는 독립적으로 Policy Network에 의해서 행동합니다.
Additional Training Methods
- Delayed Target Network
- Inferring Policies of Other Agents : 온라인으로 멀티에이전트를 학습하고 싶을 경우, 관찰은 공유할 수 있지만, 다른 에이전트의 행동은 한 에이전트가 알 수가 없습니다. 이 경우, Q 네트워크의 input으로 행동을 넣을 수 없기 때문에, 다른 에이전트의 행동을 예측해서 온라인으로도 훈련을 진행할 수 있습니다.
- Policy Ensembles : MARL에서는 다른 에이전트의 Policy도 바뀌기 때문에, 환경이 불안정(Non-stationary)합니다. 따라서 에피소드 마다 다른 Policy를 배우게 되는데, Policy 앙살블은 K개의 Policy Network를 이용해서 각각의 Policy에 대해서 앙상블을 하는 방법입니다.
🤨Question: 아니, MADDPG에서는 Deterministic Policy라고 했는데, Stochastic Policy $\pi$인 이유는 뭐죠?
Answer: 단순하게 $\pi$를 $\mu$ 로 바꾸면 해당 식은 deterministic한 action을 내보내게 됩니다. 사실 논문의 제목은 Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments 으로 MADDPG가 아닙니다. 저자는 $\pi$ 버전으로 먼저 설명한 뒤, $\mu$ 버전으로 모델을 바꾸고 후자의 모델을 MADDPG라고 불렀습니다.
'딥러닝 > 강화학습(RL)' 카테고리의 다른 글
[Analyse RLLib] 4. RLlib CallBacks (0) | 2021.02.26 |
---|---|
[Analyse RLLib] 3. Train Model with Ray Trainer (0) | 2021.02.26 |
[Analyse RLLib] 2. RLlib 기본 훈련 코드 돌리기 (0) | 2021.02.26 |
[Analyse RLLib] 1. Ray와 RLlib의 전체적인 구조 (0) | 2021.02.26 |
MARL-DRONE (0) | 2020.12.31 |