3월 연구실에 학부연구생으로 들어온 이후, 기본적인 머신러닝, 딥러닝 이론들을 공부한 후 본격적으로 강화학습 공부를 시작했다. 고전 강화학습 이론인 Model-based 알고리즘들을 공부했다. 이후 실제 연구에 접목하기 위해, 내가 들어오기 전 석사를 졸업하신 선배님께서 연구하셨던 MAAC 알고리즘을 이어받아 연구를 하게 되었다. 당시, Google에서 개발한 Google Research Football에 Multi-Agent 강화학습을 적용하고, 논문에 쓸 연구 성과를 위해 알고리즘을 공부했다.
얼마 전, APISAT 심포지엄 컨퍼런스 논문을 마치고, 교수님께서 SCIE급 저널 논문을 위해 다시 알고리즘을 공부하자고 말씀하셨다. 나는 MAAC를 맡게 되었고, 다시 바닥부터 자세히 공부했다.
MAAC (Multi-Attention-Actor-Critic) 알고리즘은 Multi-Agent 강화학습 환경에서 매우 좋은 결과를 기록했다. 그런데 비해, 대부분 강화학습 연구 자체가 single agent에만 주로 초점이 맞추어져 있어, 강화학습 알고리즘 정리글은 인터넷에 흔하게 볼 수 있는 주제임에도 불구하고, MAAC 알고리즘 글은 찾아볼 수 없었다.
혹시나, Multi-Agent 강화학습을 연구중이신 분들이나, 관련 정보가 필요하신 분들께 도움이 될까 싶어 블로그에 글로 정리하려 한다. 아직, Section 4에 대한 내용이 없다. 발표할 때는 필요가 없어 빼고 제작해서 추후에 추가할 것이다.
- Multi-Agent 강화학습 시나리오는 real-world application에 중요하지만, single agent 강화학습에 비해 어려움
- 이 논문에서는 Multi-Agent 상황에서 decentralized policy로 학습하는 Actor Critic 알고리즘 제시하며, 이 알고리즘은 매 step마다 각 agent에 관련된 정보를 선택하는 attention 매커니즘을 share하는 centrally computed critic을 사용
- 이 attention 매커니즘은 복잡한 Multi-Agent 환경에서 보다 효과적이고 확장 가능한 학습을 가능하게 함
- 공유된 보상(shared reward)이 있는 협력적인(cooperative) 상황뿐만 아니라, 적대적(adversarial) 환경을 포함한 개별화된 보상(individualized reward) 설정에도 적용 가능
⇒ 대부분의 Multi-Agent 학습 문제에 적용 가능할만큼 유연(flexible)
- 강화학습은 근래 큰 발전을 이루었지만 대부분 Single Agent 환경에 초점이 맞추어져 있다
- 실제 Agent들은 역동적으로 변화하는 환경에서 다른 Agent와 협력하거나, 경쟁한다. Multi-Agent 환경에서 효과적으로 학습하기 위해 Agent는 환경의 변화뿐만 아니라, 다른 Agent의 변화하는 관계도 파악해야 한다
- Multi-Agent RL에 대한 여러 접근법 :
- 가장 간단한 방법으로 각 Agent를 독립적으로 교육하여 개별 보상(individual reward)를 극대화하는 동시에 다른 Agent들을 환경의 일부로 처리한다. → 환경이 정지 상태(stationary)이고, 마르코프해야 한다(Markovian)는 강화 학습의 기본 가정(the basic assumption underlying reinforcement learning)을 위반한다. 다른 Agent의 Policy가 변화하기 때문에 어떠한 단일 Agent 시각에서 환경은 정지 상태가 아니며(nonstationary) 동적이다(dynamic).
⇒ 고정 마르코프 의사결정 프로세스를 위해 개발된 표준 알고리즘(standard algorithms developed for stationary Markov decision processes)은 실패(fail)한다.
- 각 Agent의 Action Space를 모든 Agent의 action space를 joint해서 single agent와 같이 모델링하는 방법이 있다.
⇒ Agent 수에 따라 space의 size가 기하급수적으로 증가하므로 확장 불가(not scalable).
- 중앙 정책(central policy)은 개별 Agent로부터 state를 수집하고 작업 후 다시 배포해야 하므로 높은 수준의 통신이 필요
⇒ real-world에 application이 어려움
- Critic은 모든 Agent의 정보를 중앙에서 하나로 학습한다. 하지만 Actor는 해당 agent로부터만 정보를 받는다.
⇒ policy를 실행할 때, 다른 Agent들의 action에 대한 지식을 요구하지 않는다. (학습 중 non-Markovian, non-stationary하지 않은 환경의 문제를 방지)
- 하지만 아직 Multi-Agent RL 알고리즘은 다수의 Agent로 확장하거나, 경쟁 또는 협력 환경에 일반적으로 사용하기 어렵다.
- 이 논문의 주요 아이디어는 Attention 매커니즘을 활용해 중앙화된 critic을 학습하는 것이다. (실제 많은 real-world 환경에서는 agent가 다른 어떤 agent에게 관심을 집중해야 하는지 아는 것이 도움이 된다는 것에서 아이디어를 도출)
- Multi-Agent RL에 대한 일반적인 중앙 집중식(centralized) 접근법은 환경의 동적 특성을 고려하지 않고 모든 step에 모든 Agent를 항상 동등하게 고려한다. Attetion-Critic은 학습 중 각 step에 참고할 agent를 동적으로 선택하여 복잡한 상호 작용(complex interactions)을 통해 Multi-Agent의 성능(performance)을 향상(improve)시킵니다.
- 이 알고리즘은 agent 수에 따라 action space가 선형적으로 증가(linearly increasing)한다. 이전 알고리즘은 2차 증가(quadratic increase).
- Agent간의 협력(cooperative), 경쟁(competitive), 혼합 환경(mixed environment)에도 적용할 수 있다
- 제안한 접근법은 앞서 언급한 Multi-Agent RL 접근법(Approach)보다 더 유연(flexible)하다. 이 알고리즘은 보상 설정(reward setup), 각 Agent에 대해 서로 다른 Action Space, 관련 Agent의 작업만 무시(marginalizes)하는 분산 감소 기준선(variance-reducing baseline) 및 각 Agent에 대해 동적으로 관련 정보를 관리하는 중앙 집중식 비판자 집합(a set of centralized critic)을 사용하여 환경에서 policy들을 교육(train)할 수 있다. 따라서 이 접근 방식은 Agent 수에 따라 확장성(scalable)이 향상되고 다양한 유형의 환경에 보다 광범위하게 적용(broadly applicable)된다.
- Notation과 배경 지식 정리 (Markov Games, Markov Decision Processes)
- agent $i$가 observation $o_i$을 받게 된다. 이때, $o_i$는 global state $s \in S$의 일부를 포함한다.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-