클래시 로얄 (Clash Royale) RL 환경 브라우저 데모: 5.6k 파라미터 REINFORCE 정책이 무차별 대입 최적해에 대해 방어
요약
본 글은 오픈 소스 Clash Royale 시뮬레이터와 재귀적 PPO 에이전트를 소개하며, 학습된 정책과 무차별 대입으로 찾은 최적해 간의 차이를 보여줍니다. 5,629개 파라미터를 가진 이 정책은 REINFORCE 알고리즘을 사용하여 구현되었으며, 모든 롤아웃은 WebAssembly로 컴파일되어 실행됩니다.
핵심 포인트
- Clash Royale 시뮬레이터와 PPO 에이전트가 공개되었습니다.
- 학습된 정책과 무차별 대입 최적해 간의 성능 격차가 관찰됩니다.
- REINFORCE 알고리즘을 사용했으며, WebAssembly로 롤아웃이 실행됩니다.
- 엔트로피 계수 및 선형 감쇠 등의 하이퍼파라미터 변화가 중요합니다.
어제 저는 저희의 오픈 소스 Clash Royale 시뮬레이터와 그 재귀적 PPO (recurrent PPO) 에이전트를 이곳에서 공유했습니다. 훈련 루프는 눈으로 볼 수 있을 때 이해하기 쉬우므로, 작은 인터랙티브 버전을 온라인에 올렸습니다: https://itzik123.github.io/ClashRoyaleAi/lab/
과제는 하나의 결정입니다. 공격자가 적 팀 측의 임의 지점에 스폰되고, 정책은 방어 카드 한 장을 위한 유효 셀을 선택한 다음, 해당 셀에 0초에서 5초 사이의 지연 시간을 지정합니다. 보상은 아무런 방어가 없을 때 대비 막아낸 타워 피해의 비율입니다. 이 정책은 5,629개의 파라미터를 가지고 있으며, 순수 JavaScript로 손으로 작성한 기울기(gradients)를 사용하여 REINFORCE (per-spawn baseline, annealed entropy bonus)로 훈련되었습니다. 모든 롤아웃(rollout)은 프로젝트의 C++ 엔진에 의해 WebAssembly로 컴파일되어 실행되며, 배포 파이프라인은 WASM 빌드가 네이티브 엔진과 정확히 일치하는지 확인합니다. 차트에는 또한 매 셀 및 지연 시간(최대 ~300k 롤아웃/매치업)에 걸쳐 무차별 대입으로 찾은 최적해가 표시되어, 학습된 정책과 최고의 답 사이의 간극이 눈에 보입니다.
만들면서 관찰한 점 중 하나는 Giant vs Cannon 매치업이 강한 국소 최적해(local optimum)를 가진다는 것입니다. 최고점의 약 75% 가치를 지닌 레인 배치였습니다. 엔트로피 계수(entropy coefficient)를 0.01로 일정하게 유지했을 때, 6번 중 5번의 실행 (3개 시드, 배치 크기 16 및 64)이 그곳에 머물렀습니다. 10k 번의 시도 동안 0.1에서 0.005까지 선형 감쇠(linear anneal)를 적용하자 이는 6번 중 1번으로 줄었습니다. Battle Ram vs Valkyrie 조합은 우리가 시도한 어떤 설정도 최적해의 55%를 넘지 못했기 때문에 제외되었습니다. 이것은 전체 문제(4장 카드, 엘릭서, 전체 매치)의 축소판일 뿐이며, 강하다는 목적이 아니라 루프를 보이게 하는 것이 목적입니다. 코드: https://github.com/itzik123/ClashRoyaleAi
제출자: /u/Potential-Barber8658 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Research의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기