MultiAgent 강화학습 Survey 논문을 탐구해 보자

[Deep Reinforcement Learning for Multiagent Systems: A Review of Challenges, Solutions, and Applications] (https://arxiv.org/abs/1812.11794)

이번에 탐구할 논문은 Multi Agent에 관한 알고리즘들을 설명해주는 논문이다. multiagent deep RL (MADRL)에서 관건이 되는 것은 더욱 robust하고 real-world에 적용할 수 있어야 할 것이다.
본 논문에서는 1장과 2장에 걸쳐서 현존하는 강화학습 알고리즘, 이를테면 Q-learning이나 actor-critic, DQN 같은-을 소개한다. 앞부분은 다 읽었다고, 혹은 이미 안다고 가정하고 이번 리뷰에서는 Multi Agent에 쓰이는 알고리즘들을 다룬 4장을 중점으로 다루겠다.

Challenges and Solutions

Deep RL : Multi Agent (MADRL)

  1. Nonstationarity(비정상)
    • Challenges : agent끼리 상호작용 하기 때문에 사이에서 학습하는 것은 어렵다. Multi Agent에서 agent들은 그렇게 nonstationarity하게 되는데, 이로 인해 single-agent일 때와 비교해서 potential reward를 갖는 게 어려워진다. multi agent인 경우에는 비정상적 환경이기 때문에 Markov상태가 적용되지 않기 때문이다. 그렇기에 Markov를 이용하기 위해서 에이전트의 안정성에 영향을 주지 않는 특정 회귀 상태에서 정보 처리가 이루어져야 한다. (참고! Markov는 대표적으로 Q learning이 있다.)
  • Solutions: 여기에 착안해서 제안한 모델들은 deep repeated update Q-network(DRUQN), deep loosely coupled Q-network(DLCQN), multiagent concurrent DQN 등이 있다. 비정상상태에 대응해서 Markov 를 도입하기 위해 leniency(관대함)를 도입하는 경우가 있다. 설명하자면 약간 딸리는 co-learner라 할지라도 나중에 나아질거란 믿음을 가지고 reward를 주는 것이다. 이를 도입한 모델은 lenient-DQN(LDQN)이 있다.
  1. Partial Observability(부분 관측)
    • Challenges: 현실에 적용할 때 환경의 부분적 관측만을 가지게 되는데, 이는 multi-agent에 적용할 때 더 심해진다. 즉, 학습 대비 state의 완전한 정보는 agent가 모른다는 거다. 그렇기에 agent는 부분적인 정보만을 가지고 각 time step(시간 간격)마다 최상의 선택을 해야 한다.
      또한 부분 관측은 차치하고서도, noise한 관측이 있을 수 있다. agent가 해당 상황이 중요하고 다른 agent와 공유해야하는 것인지 결정해야 한다는 것이다.
  • Solutions: 현재 많은 multi agent 모델은 partially observable MDP(POMDP)을 다룬다. 이 중 DRQN based model은 Partial ovservability상태의 반복 구조에서 강인성이 있는 정책을 학습한다. Q-function은 다른 Q-learning 이나 Q-Network와 다르게 obsevation(관측) o 라는 파라미터를 갖고, RNN을 쓴다.
    DRQN을 확장한 DDRQN 모델도 있다. 이 모델은 주목할 만한 특징을 마지막 action input으로 잡고, 하나의 뉴럴 네트워크의 가중치만을 모든 agent가 공유한다. 이 모델에서는 m이라는 input 파라미터가 하나 추가된다. 가중치 공유는 학습이 진행될수록 감소한다. 각 agent가 다른 관측을 하더라도 같은 action set을 갖는다고 가정한다. 그렇기 때문에 드론같은 UAV에는 적용하기 힘들 것이다.
    noise한 관측에 맞닥뜨렸을 때는 해당 상황의 중요성을 파악하고 다른 agent와 상황, 정책에 공유해야 하는지를 판단해야 하는데, 이 과정에서 Bayesian action decoder(BAD)를 쓴다. 이 알고리즘을 통해 environment(환경)의 관측 가능한 특징을 얻고, bayesian을 업데이트한다.

다음에 계속.