본문으로 건너뛰기
HF Daily Papers조회 3

PokeRL: 포켓몬스터 레드를 위한 강화학습 시스템

포켓몬스터 레드와 같은 장기적 의사결정이 필요한 JRPG는 희소한 보상과 복잡한 조작 체계로 인해 강화학습의 난제로 꼽힌다. PokeRL은 루프 감지 및 스팸 방지 메커니즘을 통해 에이전트가 의미 없는 행동에 빠지는 것을 방지하고, 커리큘럼 학습을 통해 실질적인 게임 진행이 가능함을 입증했다.

왜 중요한가

포켓몬스터 레드와 같은 장기적 의사결정이 필요한 JRPG는 희소한 보상과 복잡한 조작 체계로 인해 강화학습의 난제로 꼽힌다. PokeRL은 루프 감지 및 스팸 방지 메커니즘을 통해 에이전트가 의미 없는 행동에 빠지는 것을 방지하고, 커리큘럼 학습을 통해 실질적인 게임 진행이 가능함을 입증했다.

핵심 기여

루프 및 스팸 방지 시스템 구축

에이전트가 특정 위치를 반복 방문하거나 동일 버튼을 연타하는 병리적 행동을 억제하기 위해 3단계 안티 루프 메커니즘과 단계별 스팸 페널티를 도입했다.

지도 기반 방문 마스크 관찰 채널

에이전트가 탐험한 타일을 기록하는 72x80 이진 마스크를 입력 채널에 추가하여, 별도의 순환 신경망 없이도 공간적 기억을 활용한 효율적 탐색을 유도했다.

계층적 보상 설계 및 학습 커리큘럼

미세 행동(Micro), 중간 목표(Meso), 희귀 이벤트(Macro)로 구성된 밀집 보상 체계를 설계하고, 집 나가기, 풀숲 도달, 라이벌 배틀의 3단계 시퀀스로 학습 과정을 분할했다.

핵심 아이디어 이해하기

기존 PPO 에이전트는 포켓몬스터처럼 보상이 희소한 환경에서 의미 없는 행동을 반복하며 보상을 가로채는 '보상 해킹'이나 무한 루프에 빠지기 쉽다. 이는 에이전트가 현재 화면만 보고 과거의 행동을 기억하지 못하는 부분 관측성 문제와, 이동을 위해 버튼을 두 번 눌러야 하는 게임 특유의 조작 방식 때문이다.

PokeRL은 이 문제를 해결하기 위해 에이전트의 관찰 공간에 '방문 마스크'라는 공간적 기억 장치를 직접 주입한다. 이는 에이전트가 이전에 어디를 갔었는지 임베딩 형태로 학습하게 하여 중복 탐색을 줄인다. 또한, 환경 래퍼 수준에서 방향키 입력을 자동으로 '한 칸 이동'으로 추상화하여 조작의 복잡성을 낮췄다.

결과적으로 에이전트는 단순히 버튼을 누르는 법을 배우는 것이 아니라, 새로운 지역을 탐색하고 목표를 달성하는 전략적 행동을 학습한다. 안티 루프 시스템 적용 후 루프 발생 에피소드 비율이 41.2%에서 4.7%로 급감하며 학습의 안정성이 크게 향상됐다.

방법론

PokeRL은 PyBoy 에뮬레이터를 Gymnasium 환경으로 래핑하고 Actor-Critic 구조의 CnnPolicy를 사용한다. 입력 데이터는 4개의 연속된 그레이스케일 프레임과 이에 대응하는 4개의 방문 마스크 프레임을 결합한 8채널 스택(72x80x8)을 사용한다.

안티 루프 시스템은 세 가지 층위로 작동한다. 첫째, 특정 좌표 방문 횟수가 5회를 초과하면 페널티를 부여한다. 둘째, 최근 20개 행동 중 A-B 반복과 같은 패턴을 감지하여 억제한다. 셋째, 일정 반경 내에서 계속 머무는 위치 루프를 감지한다. [행동 시퀀스 입력] → [슬라이딩 윈도우 기반 패턴 매칭] → [루프 여부 판별] → [음수 보상 부여] 과정을 통해 에이전트의 행동 다양성을 강제한다.

보상 함수는 계층적으로 설계되었다. 새로운 타일 이동 시 +1.0(Micro), 새로운 맵 진입 시 +10.0(Meso), 라이벌 배틀 승리 시 +50.0(Macro)을 부여한다. 반면, 제자리 대기나 버튼 연타 시에는 -0.02에서 -0.2 사이의 가벼운 페널티를 주어 학습이 붕괴되지 않으면서도 비효율적 행동을 교정하도록 했다.

주요 결과

안티 스팸 메커니즘 적용 결과, 에이전트의 행동 분포에서 의미 없는 No-op 비중이 28.4%에서 7.5%로 감소했으며 이동 행동 비중은 27.2%에서 68.2%로 증가했다. 행동 분포의 Shannon Entropy는 1.21 bits에서 1.82 bits로 상승하여 탐색 효율이 약 50% 개선되었다.

방문 마스크(Visited Mask) 사용 시 에피소드당 평균 고유 위치 방문 수가 34.2개에서 48.1개로 40.6% 증가했으며, 태초마을(Pallet Town) 탐사율은 12%에서 41%로 크게 향상되었다. 재방문 비율(Revisit ratio) 또한 4.8에서 3.1로 낮아져 중복 탐색이 줄어들었음을 확인했다.

최종 태스크 수행 능력에서 에이전트는 약 15만 타임스텝 학습 후 집 나가기 시퀀스를 65% 확률로 성공했다. 50만 타임스텝 학습 시 풀숲 도달 성공률은 60%, 라이벌 배틀 승률은 약 50%를 기록하며 무작위 행동 대비 유의미한 학습 성과를 보였다.

관련 Figure

안티 루프 시스템 적용 전후의 루프 에피소드 발생 비율 비교 차트
Chart

시스템 적용 전 41.2%에 달하던 루프 발생률이 적용 후 4.7%로 급감했음을 시각적으로 증명한다. 이는 제안된 메커니즘이 병리적 반복 행동을 억제하는 데 매우 효과적임을 나타낸다.

안티 루프 시스템 적용 전후의 루프 에피소드 발생 비율 비교 차트

방문 마스크 유무에 따른 탐험 지표 비교 그래프
Chart

방문 마스크를 사용했을 때 고유 위치 방문 수가 40.6% 증가하고 탐험 범위가 242% 확장되었음을 보여준다. 이는 공간 기억 채널이 에이전트의 탐색 효율을 직접적으로 향상시켰음을 입증한다.

방문 마스크 유무에 따른 탐험 지표 비교 그래프

기술 상세

PokeRL의 아키텍처는 Stable-Baselines3의 CnnPolicy를 기반으로 하며, 약 107만 개의 학습 파라미터를 가진 경량 모델이다. 3개의 Convolutional Layer를 통해 72x80 입력을 1,920차원의 잠재 인코딩으로 압축한 후, 512개 유닛의 완전 연결 계층을 공유 백본으로 사용하여 Policy Head와 Value Head로 분기한다.

학습은 PPO(Proximal Policy Optimization) 알고리즘을 사용하며, 하이퍼파라미터는 Learning rate 3e-4, Gamma 0.999, Batch size 128로 설정되었다. 특히 포켓몬스터 레드의 '두 번 눌러야 한 칸 이동'하는 메커니즘을 환경 단에서 추상화하여, 에이전트의 1개 액션이 실제 에뮬레이터의 2회 프레스-릴리즈 사이클로 변환되도록 구현했다.

메모리 리더 모듈은 PyBoy를 통해 게임 RAM의 특정 주소(0xD361, 0xD362 등)를 직접 읽어 플레이어 위치, 맵 ID, 배틀 상태 등을 파악한다. 이 정보는 정책 네트워크에 직접 전달되지 않고, 오직 보상 계산 및 에피소드 종료 조건 판별을 위한 환경 로직에서만 사용되어 학습의 공정성을 유지한다.

관련 Figure

PokeRL의 Actor-Critic 신경망 아키텍처 다이어그램
Diagram

8채널 입력(프레임+방문 마스크)이 CNN 레이어를 거쳐 정책(Action Logits)과 가치(Scalar State Value)로 출력되는 구조를 보여준다. 공유 백본을 통해 시각 정보와 탐험 기억을 동시에 처리함을 알 수 있다.

PokeRL의 Actor-Critic 신경망 아키텍처 다이어그램

한계점

현재 시스템은 RAM 주소에 직접 접근하여 보상을 계산하므로 완전한 픽셀 기반 엔드투엔드 학습이라고 보기 어렵다. 또한 하이퍼파라미터 변화에 민감하며 학습 비용이 여전히 높다는 한계가 있다. 텍스트 대화창 처리 시 수동 트리거가 필요한 경우가 존재한다.

실무 활용

PokeRL은 복잡한 조작 체계와 장기적 목표를 가진 레트로 게임 환경에서 강화학습 에이전트를 안정적으로 학습시키기 위한 프레임워크를 제공한다.

  • 레트로 게임 에뮬레이터 기반의 강화학습 벤치마크 구축
  • 복잡한 메뉴 조작이 포함된 환경에서의 에이전트 행동 제어 연구
  • 희소 보상 환경 해결을 위한 계층적 보상 설계 및 커리큘럼 학습 참조

코드 공개 여부: 공개

코드 저장소 보기

키워드

RL(강화학습)PPO(근사 정책 최적화)Reward-Shaping(보상 설계)Curriculum-Learning(커리큘럼 학습)Game-AI(게임 인공지능)
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 04. 12.수집 2026. 04. 16.출처 타입 PAPER

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.