Territory Paint Wars: Diagnosing and Mitigating Failure Modes in Competitive Multi-Agent PPO

이 논문은 Unity 기반의 'Territory Paint Wars' 환경을 통해 PPO 의 자기대결 학습에서 발생하는 구현 결함과 경쟁적 과적합을 규명하고, 고정된 무작위 적대자를 혼입하는 간단한 기법으로 일반화 성능을 회복하는 방법을 제시합니다.

Diyansha Singh

게시일 2026-04-08
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

1. 시작: AI 가 왜 이렇게 못했을까? (초기 실패)

연구자가 처음에 AI 를 훈련시켰을 때, 이상한 일이 일어났습니다. AI 는 무작위로 움직이는 상대에게조차 이길 확률이 **26.8%**에 불과했습니다. 동전 던지기 (50%) 보다도 못 한 것이죠.

왜 그랬을까요? 연구자가 찾아낸 5 가지 치명적인 실수는 다음과 같습니다.

  • 점수판이 미친 듯이 커짐: AI 가 점수 (보상) 를 받을 때, 숫자가 너무 커져서 중요한 신호를 가려버렸습니다. (예: "1 점 차이로 이긴다"는 신호보다 "10,000 점 차이로 이긴다"는 소음에 가려진 것)
  • 게임 끝을 모름: 게임이 끝났을 때 "이겼다/졌다"는 명확한 신호를 주지 않아 AI 가 무엇을 위해 싸워야 할지 몰랐습니다.
  • 기억력이 부족함: 게임이 250 털이나 길었는데, AI 는 초반에 한 행동의 결과를 기억하지 못했습니다. (오래된 기억이 사라져버린 것)
  • 눈이 안 좋음: AI 가 보는 화면 (상태) 의 숫자 크기가 제각각이라 혼란스러웠습니다. (예: 09 사이의 숫자와 0250 사이의 숫자를 섞어봤을 때 큰 숫자만 보고 작은 숫자는 무시하는 현상)
  • 승패 판단 오류: 누가 이겼는지 계산하는 방식이 엉망이었습니다.

이 모든 것을 고치니, AI 는 무작위 상대에게 **73.5%**나 이기게 되었습니다. 여기서 끝났다면 좋았을 텐데, 문제는 여기서 시작됩니다.

2. 함정: "나만 잘하면 돼?" (경쟁적 과적합)

AI 가 계속 서로 싸우며 (Self-play) 배워가자, 또 다른 문제가 생겼습니다.

  • 상황: AI A 와 AI B 가 서로 싸우며 실력이 늘었습니다. 하지만 서로만 잘 아는 특이한 전술을 개발한 것입니다. 마치 친구끼리만 하는 보드게임처럼, 서로의 버그나 특이한 습관만 파악하고 싸우는 거죠.
  • 결과: 서로 싸울 때는 50:50 으로 팽팽하게 맞서지만, 외부인 (무작위 AI) 과 싸우면 갑자기 **21.6%**로 추락했습니다.
  • 왜 위험한가? AI 가 서로 싸울 때는 점수가 50% 로 유지되어 "아, 잘하고 있구나"라고 착각하게 만듭니다. 하지만 실제로는 특정 상대에게만 최적화되어 일반화 능력이 완전히 죽은 상태였습니다. 이를 논문에서는 **"경쟁적 과적합 (Competitive Overfitting)"**이라고 부릅니다.

비유: 두 명의 프로 복서 A 와 B 가 매일 서로만 싸우며 연습합니다. A 는 B 의 특정 펀치만 피하는 법을 익히고, B 는 A 의 특정 발차기만 막는 법을 익힙니다. 둘은 서로 싸울 때는 아주 잘하지만, 세상 다른 복서와 싸우면 아무것도 못 하고 주저앉는 것과 같습니다.

3. 해결책: "낯선 상대를 섞어라" (Opponent Mixing)

이 문제를 해결한 방법은 매우 간단했습니다. 바로 **"무작위 상대를 섞어주는 것"**입니다.

  • 방법: AI 가 서로 싸울 때, 20% 의 확률로 "무작위로 움직이는 바보 AI"를 상대로 넣어주었습니다.
  • 효과: AI 는 이제 "친구 (서로)"만 상대하는 게 아니라, "예측 불가능한 stranger"도 상대해야 하므로, 누구나 이길 수 있는 보편적인 전략을 개발하게 됩니다.
  • 결과: AI 의 실력이 다시 **77.1%**까지 회복되었습니다. 심지어 어떤 AI 는 **93.9%**까지 이겼습니다!

비유: 두 명의 복서가 매일 서로만 싸우지 말고, 가끔은 아무런 기술도 없는 일반인과도 스파링을 하라고 시켰습니다. 그랬더니 그들은 "특수한 기술"보다 "기본기"를 다듬게 되었고, 어떤 상대와 싸워도 이기게 되었습니다.

4. 교훈: 무엇이 진짜 중요했을까? (실험 결과)

연구자는 이 모든 고쳐진 요소 중 무엇이 진짜 핵심인지 하나씩 빼보며 실험했습니다.

  1. 기억력 (GAE) 과 눈 (정규화) 을 빼면: AI 는 다시 10% 미만으로 추락합니다. (가장 치명적)
  2. 낯선 상대 (Opponent Mixing) 를 빼면: AI 는 다시 "경쟁적 과적합"에 빠져 21.6% 로 떨어집니다. (중요함)
  3. 승패 신호 (Terminal Reward) 를 빼면: 놀랍게도 AI 는 **87.1%**까지 이겼습니다. 즉, "이겼다/졌다"는 큰 신호가 없어도, **작은 점수 변화 (터치한 칸 수)**만으로도 충분히 잘 배울 수 있었습니다.

결론: 이 연구가 우리에게 주는 메시지

이 논문은 **"AI 가 서로 싸우며 배울 때, 서로만 잘하는 '폐쇄된 집단'이 되면 안 된다"**는 것을 증명했습니다.

  • 핵심 교훈: AI 를 훈련시킬 때, 항상 다양한 상대 (특히 예측 불가능한 상대) 를 섞어주지 않으면, AI 는 겉보기엔 잘하는 척하지만 실상은 무능해집니다.
  • 실용적 조언: 개발자들은 AI 가 서로 싸울 때 점수가 잘 나온다고 안심하지 말고, 항상 외부의 '무작위 AI'와 테스트를 해봐야 합니다. 그리고 훈련 과정에 **약간의 '혼란 (다양한 상대)'**을 섞어주는 것이 가장 쉽고 효과적인 비결입니다.

이 연구는 복잡한 인공지능 이론을 간단한 페인트 전쟁 게임으로 풀어내어, AI 개발자들이 흔히 겪는 함정을 어떻게 피할 수 있는지 아주 명확하게 보여준 훌륭한 사례입니다.

이런 논문을 받은편지함으로 받아보세요

관심사에 맞는 일간 또는 주간 다이제스트. Gist 또는 기술 요약을 당신의 언어로.

Digest 사용해 보기 →