AI VIDEO BRIEFING

멀티에이전트 강화학습 입문: PPO에서 IPPO·MAPPO와 중앙집중 학습 분산 실행(CTDE)까지

무작위 장애물 환경에서 여러 에이전트를 동시에 학습시킨 실험을 따라가며, 관측·행동·보상 설계부터 각자도생 방식 IPPO의 한계와 중앙집중 크리틱을 쓰는 MAPPO의 해법, 협력의 창발까지 정리했다.

장애물 사이를 서로 피해 가는 에이전트 떼: 협력을 가르치지 않아도 협력이 나온 이유 영상 대표 이미지

핵심 메시지

  • 에피소드마다 장애물과 시작·목표 지점을 무작위로 바꾸면 에이전트가 지도를 외우지 못하고 일반적인 회피 원리를 배우게 된다.
  • 모든 관측을 에이전트 자신을 원점으로 하는 로컬 좌표계로 표현하면, 여러 에이전트가 하나의 신경망을 공유하며 서로의 경험으로 함께 배울 수 있다.
  • 각자도생 방식인 IPPO는 협력이 생기지 않고, 다른 에이전트도 함께 학습하는 탓에 환경이 계속 변해 크리틱이 수렴하기 어렵다.
  • MAPPO는 학습할 때만 크리틱에 전체 상태를 보여 주고 실행할 때는 각 에이전트가 자기 센서만 쓰는 방식으로 이 문제를 푼다.
  • 협력을 유도하는 보상을 따로 주지 않았는데도, 원형·복도 환경에서 서로 길을 양보하는 행동이 학습 결과로 나타났다.

쉽게 이해하기

한 유튜브 제작자가 직접 만든 강화학습 환경과 학습 알고리즘을 처음부터 구현하며 멀티에이전트 강화학습을 설명했다. 환경은 이렇다. 에이전트는 무작위 위치에서 출발해 무작위로 정해진 목표 지점까지 제한 시간 안에 도달해야 하고, 장애물 배치도 에피소드마다 새로 만들어진다. 여기에 여러 에이전트를 한꺼번에 풀어 놓고 서로 부딪히지 않게 하는 조건까지 붙였다.

환경을 만들 때 먼저 정할 것은 관측 공간과 행동 공간이다. 관측은 사방으로 광선을 쏘아 벽·장애물·다른 에이전트·목표 중 무엇에 닿았는지 기록하는 라이다 스캔을 쓰고, 장애물이 움직이므로 최근 네 개의 관측을 겹쳐 시간의 흐름을 읽게 했으며, 여기에 경과 시간과 현재 속도, 목표까지의 거리와 방향 각도를 -1에서 1 사이로 정규화해 더했다. 라이다 스캔은 1차원 합성곱 층으로, 나머지 정보는 별도의 완전연결 신경망으로 처리했고, 행동은 다음 시점의 목표 속도를 나타내는 2차원 벡터 하나로 단순하게 뒀다.

설계의 핵심은 모든 정보를 전역 좌표가 아니라 에이전트의 로컬 좌표계로 표현했다는 점이다. 원점을 에이전트 자신에 두고 y축을 목표 방향에 맞추면 환경 어디에 있든 정책이 달라지지 않는데, 제작자는 사람이 길을 찾을 때 위도와 경도가 아니라 자신을 기준으로 방향을 잡기에 집 앞이든 낯선 나라든 같은 요령이 통하는 것과 같다고 비유했다. 보상은 목표 도달 +1, 충돌 -1로 성공과 실패를 분명히 가르고 두 경우 모두 에피소드를 끝내는 희소 보상을 중심에 뒀다. 여기에 매 스텝 목표에 가까워진 만큼의 작은 보상과 멀어졌을 때의 작은 벌점을 더해 학습 초반의 방향을 잡아 줬다.

학습은 PPO로 했다. PPO는 관측을 받아 행동을 내놓는 액터와 그 상태가 얼마나 유리한지를 숫자로 내놓는 크리틱을 함께 훈련하는데, 크리틱은 실제 수익과 자기 예측의 오차를 줄이는 방향으로 배우고 액터는 '내 행동이 크리틱의 예상보다 나았는가'라는 차이를 신호 삼아 좋았던 행동의 확률을 높인다. 이를 여러 에이전트로 확장하는 가장 단순한 방법이 IPPO로, 각 에이전트가 다른 에이전트를 그저 움직이는 물체로 보고 자기 보상만 최대화하되 신경망 하나를 공유하고 모든 경험을 한 배치에 모아 학습시킨다. 몸체와 목표가 같고 모두 로컬 좌표계에서 배우기에 이런 공유가 가능하지만, 설계상 협력이 생길 이유가 없고 다른 에이전트들도 계속 학습하는 탓에 환경이 고정되지 않아 크리틱이 상태의 가치를 예측하기 어려워진다.

MAPPO는 중앙집중 학습·분산 실행이라는 방식으로 이 문제를 다룬다. 액터는 그대로 자기 라이다 관측만 보지만, 크리틱에는 모든 에이전트와 장애물의 위치·속도를 격자로 기록한 전체 상태를 넣어 준다. 연습 때는 코치가 경기장 전체를 보며 지시하지만 실전에서는 선수들이 각자의 판단으로 뛰는 것과 같아서, 학습이 끝나면 크리틱은 버려도 된다. 원형 환경에서 IPPO로는 엉키기만 하던 에이전트들이 MAPPO에서는 원을 그리며 차례로 통과했고 복도 환경에서는 마주 오는 두 무리가 각각 한쪽으로 비켜 지나갔는데, 협력을 명시한 보상은 없었는데도 이런 행동이 저절로 나타났다.

주요 인사이트

  • 좌표계 선택은 사소한 구현 디테일이 아니라 학습 구조를 바꾸는 결정이다. 전역 좌표로 관측을 주면 에이전트마다 다른 문제를 푸는 셈이 되지만, 로컬 좌표로 바꾸는 순간 모두가 같은 문제를 푸는 것이 되어 하나의 정책을 공유할 수 있게 된다.
  • 멀티에이전트 학습이 어려운 근본 원인은 알고리즘이 아니라 환경의 비정상성이다. 상대가 계속 변하면 같은 상태의 가치도 계속 변하고, 가치를 예측해야 하는 크리틱은 움직이는 과녁을 쫓게 된다.
  • MAPPO의 요령은 시뮬레이션이라는 조건을 활용하는 데 있다. 실제 배치에서는 얻을 수 없는 전역 정보를 학습 중에만 크리틱에 흘려 주고, 실행 시점에는 그 정보 없이도 동작하도록 액터를 남긴다.
  • 협력적인 행동을 만들려고 보상 함수에 협력 항목을 직접 써넣을 필요는 없었다. 크리틱이 전체 상황을 볼 수 있게 되자, 개별 목표만 보상하는 조건에서도 서로 양보하는 행동이 결과로 나왔다.
  • 희소 보상으로 성공과 실패를 분명히 정의하고 여기에 진척도에 비례하는 작은 조밀 보상을 더하는 조합은, 학습 초반의 막막함과 보상 설계의 왜곡 사이에서 균형을 잡는 실용적인 절충이다.

자주 묻는 질문

IPPO와 MAPPO의 실질적인 차이는 무엇인가?

액터는 두 방식 모두 자기 로컬 관측만 본다. 차이는 크리틱에 있다. IPPO의 크리틱은 각 에이전트의 로컬 관측만 보고 상태 가치를 예측하지만, MAPPO의 크리틱은 학습 중에 모든 에이전트와 장애물의 위치·속도가 담긴 전체 상태를 본다. 실행 시점에는 크리틱이 필요 없으므로 두 방식 모두 분산 실행이 가능하다.

에이전트마다 별도의 신경망을 학습시키지 않아도 되는 이유는?

모든 에이전트가 같은 몸체와 같은 종류의 목표를 가지고 있고, 관측을 각자의 로컬 좌표계로 표현하기 때문이다. 그래서 하나의 신경망을 공유하고 모든 에이전트의 경험을 한 배치에 모아 학습시킬 수 있으며, 어떤 에이전트가 겪은 실패든 전체가 함께 배우게 된다.

관측에 최근 네 개의 프레임을 겹쳐 넣은 이유는 무엇인가?

장애물이 고정돼 있지 않고 움직이기 때문이다. 한 시점의 스캔만 주면 신경망이 정지된 화면 하나만 보게 되지만, 최근 관측을 쌓아 주면 주변 상황이 어떻게 변하고 있는지를 읽고 그에 맞춰 판단할 수 있다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식