본문 바로가기

딥러닝/강화학습(RL)

MARL - MADDPG 이해하기



MADDPG(Multi-Agent Deep Deterministic Gradient)

[paper]

Model Architecture

MADDPG 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라고 불렀습니다.