본문 바로가기
논문 리뷰/MARL algorithm

[RIAL & DIAL] Learning to Communicate with Deep Multi-Agent Reinforcement Learning

by xi2d 2022. 7. 26.
반응형

University of Oxford, United Kingdom Canadian Institute, Google DeepMind, May 2016

Abstract

: MDRL에서는 효용을 극대화하기 위해, env를 감지하고 행동하는 multiple agents의 문제를 고려해야만 하므로 정보 공유를 위한 communication protocol이 필요하다. 복잡한 multi-agent env에서의 patial observability를 DNN을 수용하여 end-to-end agent 간의 학습을 해결한다. 해당 논문에서는 DQN 학습을 사용하는 RIAL(Reinforced Inter-Agent Learning)과 학습 도중 별도의 communication channel을 통해 backpropagation을 사용하는 DIAL(Differentiable Inter-Agent Learning)을 제안한다. 

 

 


Introduction

: partially observable, sequential multi-agent decision making하는 fully cooperative problem에 대한 algorithm을 제시한다. 모든 agent는 Markov state를 관찰 불가능하고, 각 agent는 해당 state에 관련된 private obeservation만을 받는다.

 

env에 영향을 미치는 action을 취하는 것 외에도, 각 agent는 별도의 channel capacity를 통해 다른 agent와 communicate 가능하다. partial observability와 limited channel capacity로 인해 agent는 자신의 action을 조정하고 작업을 해결 가능한 communication protocol을 찾아야 한다. 

 

 


Setting

: RL problem을 multi-agent와 parital observability 고려하는 관점에서, agent는 communication에 대한 동기부여를 가질 수 있다. 사전에 communication protocol이 제공되지 않으므로 agent에게는 이러한 protocol이 필요하다. 

 

: 모든 agent가 최대화 하려는 동일한 discounted sum of rewards

 

: 모든 agent가 관찰 불가능한 기본 Markov state

 

: 각 agent가 받는 private observation, S_t와 관련됨

 

: 각 time-step에서 agent가 env에 영향을 미치는 env action

 

: 각 time-step에서 다른 agent로부터 관찰되는, env나 reward에 영향을 주지 않는 communication action

 

CTDE(Centralized Training Decentralized Execution)

: centralized planning과 decentralized execution은 multi-agent planning의 표준 패러다임이다. 즉 agent 간의 communication은 centralized algorithm으로 수행되는 learning동안 제한되지 않는다. 그러나 learned policy를 execute하는 동안 agent는 limited-bandwidth channel을 통해서만 소통할 수 있다. 

 

 


Methods

RIAL(Reinforced Inter-Agent Learning)

1.  partial observability를 해결하기 위해, recurrent network과 함께 deep Q-learning을 사용한다. 

: action과 communication selection을 위해 DRQN을 independent Q-learning과 결합한다.

 

- 각 agent의 Q-network는 다음을 나타내며, 각 agent의 hidden state와 observation에 조건한다. 

 

Q-function

 

agent가 partially observable하게 얻는 state, 다른 agent의 action, agent의 hidden state, agent가 취하는 env로의 action의 parameters로 Q-network가 표현된다.

 

 

2. agent는 자신만의 network parameter를 학습하여 다른 agent를 env의 일부로만 취급하고 action한다. 

:  |U||M| action space의 output network가 필요하지 않도록, network를 각각 env, communication action에 대한 Q^a_u와 Q^a_m으로 분할한다. 이는 결국 |U|+|M|의 action space로 감소시키는 효과를 얻는다. action selector는 e-greedy policy를 이용하여 Q_u와 Q_m에서 u^a_t와 m^a_t를 별도로 선택한다. 따라서 network에는 |U| 와 |M| 각각의 출력을 최대화 하는 방향으로 action select가 진행되어야 한다.

 

- Q_u와 Q_m은 모두 DQN을 사용하여 훈련되고 이러한 network의 분할은 다음의 특성을 가진다.

 

1)  multi-agent가 동시에 learning할 때 발생하는 non-stationary를 고려하여 오류로 취급되는 experience replay를 제거할 수 있다. 

: 여러 agents들이 동시에 학습할 경우, 다른 agent에게 env가 non-stationary하게 바뀌는 것처럼 다가오기 때문에, experience replay를 제거한다. 

 

2) partial observability를 고려하여, 이전 agent가 취한 action u와 m을 다음 time-step의 input으로 제공한다. 

: agent가 선택한 action u,m를 서로에게 input으로 제공한다. 

 

결국 각 agent는 다른 agent의 action을 고려하는 network와 env와의 action을 고려하는 network를 각각 최대화하는 방향으로 action을 선택한다. 이때 action selector는 e-greedy하게 각 network에서의 action을 선택한다. 

 

3. agent는 decentralized learning과 동시에, decentralized execution로 취급된다. 

: agent를 독립적인 network로 취급하므로, problem setting이 centralized 할지라도 learning 단계는 decentralized하다.

 

RIAL은 decentralized learning으로 진행되다싶이 하였으며, communication protocols를 학습하는데 중요한 feedback mechanism이 없다.

 

4. 모든 agent 간에 공유되는 parameter의 single-network를 훈련시키는 확장 방법이 존재한다.

: execution은 decentralized하게 유지되며 이 시점에서 다른 action으로 이어지는 다른 observation을 받는다. 

 

1) Parameter sharing

: decentralized learning을 agent 간 parameter를 공유하여 centralized learning을 활용하도록 RIAL를 확장할 수 있다. 이 변형은 모든 agent가 사용하는 하나의 network만 학습한다. 그러나 agent는 서로 다른 observation을 받고, 다른 hidden state를 진화시키기 때문에 여전히 다르게 행동한다.

 

- 또한 각 agent는 자신의 index a를 입력으로 받아 특화될 수 있다. DQN의 풍부한 표현은 common policy 학습을 촉진하는 동시에 specialization이 가능하다. 학습해야하는 parameter 수를 크게 줄여 학습 속도 또한 높일 수 있다.

 

- parameter sharing에서 agent는 이전 action inputs인 u^a_t-1, m^a_t-1와 agent index a를 포함한 다음의 2가지 Q-function을 학습한다. 

 

Q-function with not shared parameters

 

- decentralized execution 중에는, 각 agent는 learned network의 자체 copy를 사용하여 own hidden state를 발전시키고, own action을 선택하며, communication channel를 통해서만 다른 agent와 통신한다. 

 

basic RIAL은 별도의 channel로, env action과 other agents action의 Q-function을 각각 최대화하는 두 개의 network를 통해 정보를 교류하며 학습한다. extension RIAL의 경우에는 모든 agents' network들을 하나로 통합한 parameter shared network만 학습하여 속도 개선 및 common policy 습득이 가능하다. 

 

 

RIAL flow

모든 Q-value는 env, communication actions를 모두 선택하는 action selector에게 제공된다. 빨간색으로 표시된 선인 gradient는 선택한 action에 대해 DQN을 사용하여 계산되고, single-agent의 Q-network를 통해서만 흐른다. 

 

 

 


DIAL(Differentiable Inter-Agent Learning)

: centralized learning이 parameter sharing보다 학습을 개선할 수 있다는 insight를 기반으로 한다. 특히, RIAL은 agent 내에서 end-to-end 학습이 가능하지만, agent 간 end-to-end 학습은 불가능하다. 즉, agent간에 gradient가 전달되지 않는다

 

- centralized learning 중에 agent 간 real-valued message를 전달할 수 있도록 하여, communication action을 agent 간 bottleneck connection으로 처리한다. 결과적으로 gradient가 통신 채널을 통해 전달되어, agent 간에도 end-to-end 교육이 가능한 시스템이 생성된다. decentralized execution 중에 real-value 메시지는 discrete되어, task에서 허용하는 communication action set에 매핑된다. DIAL은 agent 간에 gradient를 전달하기 때문에 본질적으로 딥러닝 방법이다. 

 

DIAL은 centralized learning과 Q-network의 조합을 통해, 매개변수 공유 뿐만 아니라 communication channel을 통한 gradient push가 가능하다. 따라서 DIAL은 agent 간 end-to-end 학습이 가능하다. agent 간 gradient 이동은 풍부한 feedback을 제공하여 error를 통해 optimize하여 최적의 protocol를 찾을 수 있다.

 

1. centralized learning 동안, communication actions은 agent 끼리의 출력과 입력의 연결로 새롭게 대체된다. 

: 즉, task가 discrete messages로 communication을 제한하는 동안, agent는 학습할 때 서로에게 real-valued message를 자유롭게 보낼 수 있다.

 

이러한 message는 network activation과 같은 기능을 하고, channel을 따라 gradient를 전송 가능하므로 agent간 end-to-end backpropagation이 가능하다.

 

2. C-Net network와 gradient를 전달하는 DRU unit이 존재한다. 

: C-Net이라 부르는 network는 다음 2가지 distinct types of values를 출력한다.

 

 

: action selector에게 주어지는 env actions에 대한 Q-values

: action selector를 통과하지 않고, discretise/regularise unit DRU(m^a_t)에 의해 처리되는 다른 agent에 대한 real-valued message

 

- DRU unit은 message m^a_t에 대해 centralized learning 중에 regularise와 discrete를 적용한다. 

 

1) centralized learning 중, logistic function을 통해 regularise한다. 이 때, σ는 channel noise의 standard deviation이다.

 

regularise at centralized learning

 

2) decentralized execution 중, Gausian noise를 통해 discreties한다. 

 

discreties at decentralized execution

 

- RIAL의 Q_u와 DIAL의 Q에 대한 gradient chain은 DQN loss를 기반으로 한다. learning 시에, DIAL에서 agent 간의 gradient를 이용하면, RIAL에서 Q_m에 대한 DQN loss보다 더 풍부한 backpropagated error를 제공한다. 만약 DQN loss가 0이 아니라면, incoming gradient는 더 많은 정보를 포함한다.

 

RIAL보다 DIAL의 방식에서의 gradient가 더 많은 정보를 포함하므로 network에서 DQN loss를 최소화하기 위해 message를 조정하는데 필요한 error & trial이 줄어들고, 좀 더 빠르게 수렴할 수 있다. 결과적으로, DIAL이 RIAL보다 성능이 뛰어나다.

 

 

DIAL flow

: message m^a_t는 action selector 대신 DRU에 의해 처리되고 다음 C-network에 continuous value로 전달된다. 따라서 gradient는 받는 사람에서 보낸 사람까지 agent를 가로질러 흐르게 된다. 

 

 

 

DIAL algorithm

 

1. 각 agent a는 초기화 진행 후, 이전 time-step의 m^a_t-1 message를 받고 C-net에서 evaluate한다. 

- 각 agent a 마다 반복

      - 이전 time-step의 m^a_t-1 message를 얻음

      - C-Net에서 Q-value, m^a_t 출력

      - epsilon greedy하게 max Q-value의 u^a_t를 선택

      - m^a_t를 DRU unit에 동과

      - env로부터 reward와 next state를 얻음

 

2. episode가 끝난 뒤, gradient push가 이루어진다. 

- 각 agent a 마다 반복

      - max Q-value를 이용하여 y^a_t 계산

      - y^a_t와 현재 action의 Q-value 차이에 대해 gradient 계산

      - communication gradient chain update:

            - first term: message m^a_t의 next step에 대한 total estimation error를 계산

            - second term: received message m^a'_t+1에 대한 m^a_t의 편미분을 message gradient u^a'+t+1에 곱해 m^a_t의 future reward impact를 계산

      -  계산한 값들을 통한 gradient update

 

 


Experiments

- Switch riddle에서 DIAL는 RIAL보다 빠르게 optimal에 수렴하며, parameter sharing은 두 방법 모두에서 속도를 높인다. 

 

 

- MNIST games에서 DIAL이 다른 method보다 성능이 우수함을 볼 수 있다. 

 

 

 


Conclusion

: 해당 논문은 deep network, differentiable communication, neural network architecture design, channel noise, tied parameters 등의 요소들을 고려하여 communication protocol을 학습할 수 있었다. 이는 communication을 어떻게 학습할 지에 대해 deep learning적인 접근의 시초로 볼 수 있다.

 

 

https://kilmya1.gitbook.io/deep-multi-agent-reinforcement-learning/ii-learning-to-communicate/6-learning-to-communicate-with-deep-multi-agent-reinforcementlearning

 

6. Learning to Communicate with Deep Multi-Agent ReinforcementLearning - Deep Multi-Agent Reinforcement Learning

6. Learning to Communicate with Deep Multi-Agent ReinforcementLearning

kilmya1.gitbook.io

 

 

반응형

댓글