일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- classification
- 스택
- c++
- Game Data Analysis
- 구현
- AA test
- 중앙갑
- anomaly detection
- p-value
- datascience
- 백준
- Deeplearning
- DP
- 정렬
- Anti Cheat
- Queue
- 7569번
- 알고리즘
- 자료구조
- 그리디
- BFS
- ML
- Python
- Stack
- 딥러닝
- Machine learning
- Journal Review
- 통계
- cs231n
- 큐
Archives
- Today
- Total
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의 성능과 연관된 보상
- 논문에서는 주로 진행 상황과 실패에 대한 성능 연결을 함
- 이들은 다양한 환경을 생성할 수 있도록 진행과 행동 두 가지 속성을 보상 함수가 다루도록 함?
- 두 가지로부터 보상을 받음
- Generator의 보조 입력

- 전체적인 리워드 식은 위와 같음
- 이때 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
- 크게 두 가지 주제에 대해 결과를 분석함
- 보조 입력을 바탕으로 다양한 난이도 및 행동의 환경 생성이 가능한가
- ARLPCG 기반 모델이 다른 에이전트보다 일반화에 능한가
- 이들은 두 개의 베이스라인을 사용함
- Atari 게임
- Generator
- 보조 입력을 바탕으로 다양한 환경 생성이 가능함
- 난이도에 따라 확연히 차이나는 결과물을 생성함
- 보조 입력에 따른 결과 분석도 진행함. 개같은
- 보조 입력을 바탕으로 다양한 환경 생성이 가능함
- Solver
- 고정된 환경, 규칙 기반 PCG, Generator에 의한 환경에 대해 학습한 Solver를 이용해 테스트 진행
- 당연하게도 Generator 이용하는 것이 더 효과적
- 보조 입력을 고정한 결과 일반화 능력 감소
- 고정된 환경, 규칙 기반 PCG, Generator에 의한 환경에 대해 학습한 Solver를 이용해 테스트 진행
- 크게 두 가지 주제에 대해 결과를 분석함
- 이 논문의 장점
- Generator와 보조 입력이라는 것을 통해 다양한 환경 제공 및 Solver의 일반화 성능 향상
- 보조 입력의 차원을 높이는 방식으로 더 다양한 시도 가능
- 특징에 해당하는 task를 매우 잘 선택함
- 레이싱 게임의 경우 차량이 체공 시간을 높이는 방향으로 디자인할 수 있다는 점을 보임
- 플랫폼 게임에서는 성공/실패에 따른 디자인을 만듦
- Generator와 보조 입력이라는 것을 통해 다양한 환경 제공 및 Solver의 일반화 성능 향상
반응형