Software Hyena::

Adversarial Reinforcement Learning for Procedural Content Generation (2021, IEEE CoG) 본문

Journal Review

Adversarial Reinforcement Learning for Procedural Content Generation (2021, IEEE CoG)

bluehyena 2023. 6. 21. 20:02
반응형

요약

  • 일반적으로 새로운 환경에서 에이전트를 훈련시키는 것은 어려운 작업
  • 이들이 제시한 ARLPCG는 Generator라는 하나의 PCG RL 에이전트와 Solver라는 문제 해결 RL 에이전트를 사용하는 적대적 모델로 이뤄짐
  • Generator는 Solver의 성능에 따라 보상을 받으며, 도전적이지만 불가능하지 않은 환경을 생성
    • 추가로 다양한 환경 생성을 위한 보조 입력을 추가함
  • Solver는 Generator가 생성하는 것을 해결함으로써 일반화 성능 향상
  • Generator는 Solver가 풀 수 있는 새로운 환경 생성
  • third-party platformer와 racing 게임을 예시로 사용함

정리

  • PCGRL과의 차이점
    • Solver 에이전트가 다음 단게에 도달해야 Generator가 다음 단계를 생성함
    • 즉, 풀 수 있는 단계를 생성함
  • Generator
    • Generator의 보조 입력
      • 보조 입력은 [-1, 1] 사이의 무작위 값으로 난이도를 결정함
      • 보조 입력에 의해 Generator의 보상에서 보조 보상을 조절함
      • 이를 바탕으로 다양한 난이도의 환경을 Solver에게 제공
    • Generator의 보상
      • 두 가지로부터 보상을 받음
        • 하나는 생성자의 자체적인 행동에 의해 결정되는 보상
        • 다른 하나는 Solver의 성능과 연관된 보상
          • 논문에서는 주로 진행 상황과 실패에 대한 성능 연결을 함
      • 이들은 다양한 환경을 생성할 수 있도록 진행과 행동 두 가지 속성을 보상 함수가 다루도록 함?
       

  • 전체적인 리워드 식은 위와 같음
    • 이때 A_i는 [-1, 1]인 보조 입력을 나타냄
    • r_int, ext는 각각 내부/외부 보상을 의미함
    • 그리고 알파와 베타는 weight
  • Solver
    • 대결의 의미를 가진 스크립트 에이전트를 설계할 경우, Generator의 약점을 찾는 방향으로 발전할 가능성이 높음
    • 따라서 학습 및 적응 기능을 가진 RL 에이전트를 만들어야 함
    • 진행에 대한 보상과 실패에 대한 패널티가 있음
      • 실패에 대한 패널티는 불가능한 환경을 만들지 않도록 Generator를 간접적으로 강제함
  • Representation
    • action과 observation space는 local하며 이전 오브젝트에 연관됨
    • 따라서 환경 속 아무 곳에나 생성되지 않음
  • Racing Game
    • 가능한 빠르게 주어진 track을 달리는 것이 Solver의 역할
    • trakc에서 떨어지거나 마지막 step에 도달하면 에피소드 종료
    • Generator
      • action space는 길이, 커브 각도, 높이 변화로 구성됨
      • 도로가 끝나기 15m 전에 새로운 도로가 생성됨
      • observation space는 목표까지의 상대 위치, heading??, 목표까지의 각도, 목표까지의 거리, 보조 입력과 레이 캐스트로 이뤄짐
        • 레이 캐스트는 충돌 감지기 역할을 하며 어떤 환경이 존재하는 곳에 트랙을 설치할 수 있도록 함
        • 만약 다른 장애물과 트랙이 충돌할 경우 학습 종료
    • Solver
      • action은 엑셀과 조향
      • 트랙을 완주할 경우 양의 보상
      • 실패할 경우 음의 보상
      • observation은 목표 지점과의 상대적 위치, 목표 지점과의 헤딩 각도, 각속도, 속도 및 회전, 레이 캐스트 (주변 환경 인지)
  • Platform Game은 위와 유사하기 때문에 패스
  • Traning
    • PPO와 selfplay(Alternating Markov game)으로 구성됨
    • 한꺼번에 학습하는 것이 아닌, 각자 번갈아 학습이 진행되는 것
    • 경쟁적으로 학습하는 것이 아닌 일종의 협력을 바탕으로 학습이 진행됨
    • Solver는 어쩔 수 없이 Generator보다 수행 빈도가 높음
      • 따라서 Solver는 Generator보다 10배 낮은 빈도로 학습됨
    • 추가로 Solver가 실패할 때마다 난이도 * 10의 보상을 받음
    • Racing의 경우, 추가적으로 난이도가 음수일 때, Solver가 공중에 떠 있을 경우 추가적인 양의 보상 제공
      • 이로 인해 난이도=-1은 트랙을 크게 움직여 차량이 가능한 공중에 뜨도록 함
      • 난이도=1은 목표를 향해 이동할 때 양의 보상 제공
    • 추가적으로 난이도를 완전 무작위 샘플링하는 것보다 특정 단위로 끊어 사용하는 것이 더 좋다고 언급
    • 또한 보조 입력이 음수일 경우, 약간의 음수 보상을 받음
      • 이는 Generator가 빠르게 실패 혹은 완료하는 환경을 만들도록 강제함
      • 따라서 보조 값이 낮으면 Generator는 어려운 환경 설계, 아닌 경우 쉬운 환경을 만듦
      • 보조 입력에 관계 없이 Generator는 Solver의 진행 상황에 따라 점진적인 보상을 받음
  • Result
    • 크게 두 가지 주제에 대해 결과를 분석함
      1. 보조 입력을 바탕으로 다양한 난이도 및 행동의 환경 생성이 가능한가
      2. ARLPCG 기반 모델이 다른 에이전트보다 일반화에 능한가
    • 이들은 두 개의 베이스라인을 사용함
      • Atari 게임
    • Generator
      • 보조 입력을 바탕으로 다양한 환경 생성이 가능함
        • 난이도에 따라 확연히 차이나는 결과물을 생성함
      • 보조 입력에 따른 결과 분석도 진행함. 개같은
    • Solver
      • 고정된 환경, 규칙 기반 PCG, Generator에 의한 환경에 대해 학습한 Solver를 이용해 테스트 진행
        • 당연하게도 Generator 이용하는 것이 더 효과적
      • 보조 입력을 고정한 결과 일반화 능력 감소
  • 이 논문의 장점
    • Generator와 보조 입력이라는 것을 통해 다양한 환경 제공 및 Solver의 일반화 성능 향상
      • 보조 입력의 차원을 높이는 방식으로 더 다양한 시도 가능
    • 특징에 해당하는 task를 매우 잘 선택함
      • 레이싱 게임의 경우 차량이 체공 시간을 높이는 방향으로 디자인할 수 있다는 점을 보임
      • 플랫폼 게임에서는 성공/실패에 따른 디자인을 만듦
반응형
Comments