Paper Review

Multi Agent Reinforcement Learning

dotudy 2024. 12. 24. 10:10

https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE09233680

위의 논문을 바탕으로 작성한 글이다.. multi agent를 더 자세히 공부하고 싶어서 읽어본다.... 😁

 

강화 학습(reinforcement learning) 기계학습의 한 영역으로 어떤 환경에서 정의된 agent가 현재의 상태를 인식하여 보상을 최대화하는 방향으로 자신의 행동을 선택하는 것을 말한다. 

환경(Environment), 행동(Action), 보상(Reward)로 3가지 요소로 구성되며 과거에는 주로 single agent를 대상으로 많은 연구가 이루어졌다. Agent는 특정 행동을 취한 후 환경의 변화를 관측하여 보상을 받고 그 보상의 크기에 따라 선택한 행동에 대한 결과를 확인할 수 있다. 따라서 보다 좋은 결과를 얻기 위해 행동 선택의 기준을 결정하는 방향으로 학습된다.

 

강화학습에서 에이전트는 한 번의 행동으로 끝나지 않고 문제가 해결될 때까지 또는 주어진 시간이 끝날 때까지 환경의 상태와 누적된 보상을 확인하여 행동의 방향을 결정한다. 행동의 결과가 항상 좋은 보상으로 이어지지는 않기 때문에 agent는 많은 시행착오를 경험하는 탐색을 거친다. 이처럼 agent는 exploration을 통해 좋은 보상을 기대할 수 있는 행동을 선택하기 위한 policy를 학습한다.

 

위의 행동 정책을 학습하기 위한 exploration, 탐색은 매우 중요한 요소이다. 탐색 방향에 따라 최적 행동 정책을 찾을 수도 못 찾을 수도 있고 찾을 경우 얼마나 빠르게 찾았는지 또한 효율성을 판단하는 기준이 된다. 탐색의 범위는 상태 공간(State Space), 행동 공간(Action Space)에 의해 결정된다. 이는 연속, 불연속 값을 모두 가질 수 있으며 만약 연속적인 값을 갖는 경우 탐색의 범위가 기하급수적으로 커지고 모델이 학습해야할 공간이 너무 넓어져서 학습이 불가능해진다. 이를 차원의 저주(Curse of Dimensionality)라고 한다. 예를 들어 로봇 팔이 다양한 물체를 잡는 상황을 강화학습으로 학습시킬 때 로봇 팔의 위치, 각도, 물체의 종류 등을 모두 고려하면 상태공간이 무한정으로 늘어나게 된다. 

 

Single Agent 강화학습 관련 연구

Q-Learning 기반 강화학습

고전적인 강화학습에서는 주로 격자환경(Grid World) 환경인 제한된 범위를 고려하였다. 당연히 이는 현실세계와 동떨어진 문제로 여겨진다. 최근에는 이를 현실세계에 적용하기 위한 노력이 많이 있으며 가장 대표적으로 2013년 딥마인드가 Atari 게임을 통해 제안한 Deep Q-Network(DQN)이 있다. 기존 Q-Learning 방식은 격자 세계에서 길 찾기 문제를 푸는 방식이다. 제한된 범위이기 때문에 모든 경우의 상태-행동 쌍에 대한 Q값을 계산하여 Q-Table을 작성할 수 있고 이를 통해 최적의 Q를 갖는 행동 정책을 찾을 수 있다. 여기서 Q는 주어진 상태에서 특정 행동을 취할 시 받을 누적 보상에 대한 기댓값을 의미한다. 이를 게임과 같은 픽셀 영상 환경에 적용하기 위해서 DQN에서는 주어진 상태에 대하여 Q-Table을 작성하는 것이 아니라 심층신경망을 이용하여 각 행동들에 대한 Q값을 추정하는 방식을 사용한다. 따라서 강화학습과 딥러닝을 결합한 심층강화학습에 대한 연구가 활발하게 이루어지고 있다.

 

다만, DQN은 불연속적인 행동 공간에서 적용이 가능하다. 이를 더욱 현실에 가까이 하기 위해 연속적인 행동 공간에 대한 문제를 풀 수 있는 방식을 탐색하였고 이의 대안 이 정책 경사 기반 심층강화학습이다. 이는 주로 로보틱스 분야에서 많이 다뤄지고 있는 주제이다.

 

Multi Agent 강화학습은 다수의 agent가 환경을 공유하는 상태에서 개인 혹은 공통의 목표를 위해 자신의  행동 정책을 학습하는 기법이다. 다수의 agent들은 동일한 시간, 동일한 공간을 공유하며 주어진 목표의 형태에 따라 경쟁 혹은 협업적 행동을 취하기 위한 정책을 학습한다. 각 agent들은 독립적이지 않고 서로의 행동이 서로에게 영향을 미치는 구조하에 학습된다. 따라서 환경과 자신, 그리고 다른 에이전트 사이의 상호작용까지 모두 고려한 행동 정책으로 학습이 진행된다.

 

분산 강화학습은 모든 Agent들이 atomic하게 동작하며 하나의 행동 정책을 학습한다. 동시에 다수의 agent들이 환경과 상화작용하기 때문에 다양한 경험을 많이 모을 수 있고 모두가 공유하는 하나의 행동 정책을 빠르게 학습할 수 있다. 

 

이상적인 조건하에서 multi agent 강화학습은 논리적 single agent 강화학습으로 여겨진다. 모든 agent들이 관측한 환경 정보와 보상을 모두 공유하고 전체 agent들이 하나의 agent처럼 동작하여 전체 행동을 결정한다. 하지만 이는 이상일 뿐이다.

 

첫 번째로 탐색 범위의 증가 문제가 있다. 환경에 대한 상태 공간은 에이전트의 수에 비례하여 증가하며 상태 공간이 증가하며 행동 공간도 에이전트의 수에 비례하여 증가하게 된다. 따라서 탐색에 대한 복잡도 및 탐색 시간이 증가하기 때문에 최적 행동 정책을 찾는다고 보장할 수 없다.

두 번째로 정보공유 한계의 문제가 있다. 물리적으로 거리가 있는 환경에서 매 시간마다 각각의 에이전트가 환경과 상호작용하면서 얻은 상태 정보와 보상 값을 매번 모든 agent와 공유한다는 것은 현실적이지 않다. 이와 같은 상황이 이어지면 정보공유에 부하가 발생하고 정보의 손실이 오게되어 single agent 강화학습으로 multi agent 강화학습을 간주하기는 쉽지 않다.

 

따라서 이를 커다란 하나의 문제를 다수의 로컬 문제로 바라보는 것이 요구된다. 가장 대표적인 예로 택시-손님 문제를 보면 한 명의 손님을 목적지로 데려다주면 리워드를 받는 택시가 여러 대 있다. 각 택시는 자신과 인접한 택시와 손님과 인접한 택시들이 자신의 경쟁상대가 된다. 그 외의 택시는 고려 대상이 아니다. 즉, 문제의 범위를 다수의 로컬 문제로 바꾸는 것이 가장 바람직하다. 

 

이를 통해 multi agent 강화학습은 효율을 증가시킬 수 있다.  10개의 agent 관점에서 보았을 때 한 번의 행동으로 총 10개의 작은 벡터를 얻을 수 있다. 이처럼 한 번의 샘플링으로부터 많은 양의 학습 데이터를 얻을 수 있기 때문에 학습효율이 자연스레 증가하는 것이다. 또한 로컬 문제를 서로 다르게 적용하여 이로 부터 얻어진 행동 정책을 에이전트 사이에서 공유하고 보완할 수 있다. 이를 반복하면 행동 정책을 일반화 할 수 있고 과적합 문제를 예방할 수 있다. 

 

멀티 에이전트 강화학습의 주요 쟁점

가장 중요한 이슈는 비정상성이다. single agent 환경에서 agent는 자신의 행동에 대한 결과만을 고려하면 된다. 반면, multi agent 환경에서는 자신의 행동에 대한 결과와 다른 agent의 행동도 고려해야한다. 하지만 한 agent의 관점에서 타 agent들은 새로운 결과를 낼 수 있는 예측하기 어려운 요소로 여겨진다. 따라서 자신의 행동에 대한 결과가 일정한 확률 분포를 따르지 않고 타 영향들로 인해 시간이 지남에 따라 확률분포가 변하는 비정상성 문제가 발생한다. 예를 들어 multi agent 환경에서 코인 획득 게임이 있을 때 코인을 얻으려고 이동하더라도 타 agent로 인해 코인을 획득하지 못할 수도 있다. 다른 agent의 행동으로 인해 자신의 보상을 정확하게 예측하지 못하는 것이다.

 

또한 부분 관측성 문제가 있다. multi agent에서는 환경의 상태, 보상, 타 agent의 행동을 모두 고려해야한다. 따라서 타 agent의 행동을 예측할 수 없기 때문에 해당 문제가 발생한다. 또한 agent마다 설정된 값의 차이로 인해 물리적인 관측 범위가 달라질 수 있다. 물리적 관측 범위가 달라져 획득할 수 있는 정보량이 달라지는 현상이 발생한다.

 

또 다른 문제로 부분 관측성으로 인해 관측되지 않은 정보에 대한 해결책이 필요한 정보 불완전성 문제가 있다. 이는 multi agent 강화학습에서 풀고자하는 문제의 종류에 따라 달라지게 된다.

 

MARL(Multi-Agent Reinforcement Learning)은 크게 경쟁 문제와 협업 문제로 구분된다. 경쟁 문제에서는 서로 경쟁관계로 정보를 공유하지 않으려고 한다. 따라서 다른 agent들로부터 정보를 얻을 수 없기 때문에 자신의 경험을 바탕으로 예측을 해야한다. 다른 agent들의 행동과 환경의 변화를 모델링하여 예측한다면 최적 행동 정책이 학습 가능하다. 협업 문제는 agent끼리 정보를 최대한으로 공유한다. 따라서 정보 불완전성은 이를 공유하는 방식으로 해결된다.