일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자료구조
- Deeplearning
- 알고리즘
- Queue
- DP
- AA test
- 구현
- Stack
- Journal Review
- 통계
- p-value
- 그리디
- BFS
- 딥러닝
- 백준
- 큐
- Game Data Analysis
- 정렬
- 중앙갑
- datascience
- 7569번
- c++
- 스택
- anomaly detection
- cs231n
- Anti Cheat
- classification
- Python
- ML
- Machine learning
Archives
- Today
- Total
Software Hyena::
PCGRL: Procedural Content Generation via Reinforcement Learning (2020, AAAI) 본문
Journal Review
PCGRL: Procedural Content Generation via Reinforcement Learning (2020, AAAI)
bluehyena 2023. 6. 21. 20:01반응형
요약
- 강화학습이 레벨 디자인 에이전트를 훈련시키는데 사용될 수 있는 방법 조사
- 훈련 예제가 거의 없거나 없는 경우에도 쉽게 사용 가능
- 세 가지 다른 방법 조사 및 세 가지 게임 환경에 적용
정리
- 어떻게 하면 레벨 생성 문제를 해결 가능한 강화학습 문제로 제시할 수 있을까? 에서 출발한 연구
- 일반적인 DL 기반 접근 방식과 차이점은 각 단계마다 완전한 레벨로 나아간다는 점
- 이들은 게임 레벨을 강화학습 문제로 취급하기 위해 아래와 같이 세 가지 다른 표현을 제시함
- Narrow representation
- Turtle representation
- Wide representation
- 이들은 PCGRL을 어떤 게임에서든 쓸 수 있도록 일반화하기 위해 세 가지 부분으로 프레임워크를 나눔
- Problem module: 목표, 보상 함수 등과 같은 생성된 레벨에 대한 정보 저장
- Representation module: 현재 레벨을 에이전트가 이해할 수 있는 적절한 관측 상태로 변환
- Change Percentage: 하나의 에피소드 동안 에이전트가 콘텐츠에 영향을 주는 변경 횟수를 제한하여 너무 많이 변경하지 못하도록 함
- 문제 모듈은 레벨의 크기, 레벨에 나타날 수 있는 오브젝트 유형 등의 정보 제공
- 이 모듈은 두 가지 함수 제공
- 에이전트의 액션 후 생성된 콘텐츠 품질 변화 평가
- 목표 달성 혹은 생성 종료를 위함
- 이 모듈은 두 가지 함수 제공
- 표현 모듈은 상태, 행동 공간과 전이 함수를 정의
- Narrow: 현재 상태와 위치를 관찰, 그리고 그 위치에서 변경 수행, 액션 없음 또는 타인 별 경 액션이 행동.
- 즉, 미리 정해진 타일 변경 위치 순서를 따라야 함
- Turtle: 에이전트가 이동하면서 일부 타일 수정. 관측 공간은 현재 상태와 agent 위치, 행동 공간은 움직이는 방향 또는 타일 변경 작업
- 현재 위치를 기준으로 지역적인 제어, 이전 위치를 기준으로 상대적으로 제어
- Wide: 관측 공간은 현재 상태, 액션 공간을 영향을 받는 위치와 변경할 타일 액션으로 정의
- 전체적인 제어를 가짐
- 이외에도 하이브리드 표현 (특정 위치 주변 작은 영역 수정) 도 있음
- Narrow: 현재 상태와 위치를 관찰, 그리고 그 위치에서 변경 수행, 액션 없음 또는 타인 별 경 액션이 행동.
- 변경 비율은 에이전트가 맵의 전체 크기 대비 몇 개의 타일 변경이 가능한지를 나타내는 매개변수
- 에피소드의 길이를 제안하고 모든 타일 변경을 막음
- 변경 비율이 작으면 에이전트는 작은 수의 변경만 호용하므로 더 높은 단기 보상을 얻기 위해 탐욕스러운 액션을 학습할 것임
- 변경 비율이 높은 경우에는 가능한 많은 맵을 변경하므로 문제에 대해 덜 탐욕적이고 최적의 해결책을 학습
- 이때, 더 탐욕스러운 것이 왜 선호되느냐
- 이들이 하고자 하는 것은 입력된 레벨을 바탕으로 새로운 레벨로 변화하는 것
- 만약 최적 레벨이 주어지면 별 변화가 없을 것임
- 그리고 최적 레벨 생성 에이전트는 어떤 레벨을 입력으로 써도 최적으로 수렴할 것임
- 따라서 다양한 해결책을 제시할 수 있도록 제한된 작업 하에 에이전트가 작동하도록 설계
- 이들은 위에서 언급한 세 가지 독특한 표현 방식(Narrow, Turtle, Wide)와 문제 상황(Binary, Zelda, Sokoban)을 사용하여 테스트 진행
- 모든 문제에 대한 보상 함수는 목표 달성을 장려하는 방향으로
- 목표 달성 시 종료
- Binary
- 목표는 비어 있는 공간 서로 연결되면서 최단 경로 길이가 X 타일 이상 증가하도록 수정하는 것 (실험에서는 20으로 설정, 즉 다이나믹하지 않음)
- Zelda
- 1명의 플레이어, 1개의 문, 1개의 열쇠로 구성
- 플레이어는 적을 피해 열쇠와 문에 각각 X 걸음 이내에 도달할 수 있어야 함
- 적은 플레이어와 너무 가까운 거리 생성 불가 (실험에서는 3걸음)
- Sokoban
- 플레이어가 상자를 밀어 목표로 향하는 게임
- 적어도 해결하는데 x단계 이내에 해결 가능하도록 설정 (실험은 18단계)
- 해결 가능 여부는 BPS와 A*로
- 내부 테스트를 통해 변경 비율은 20%로 결정
- 이들은 시작 상태를 덮어쓰기 보다는 시작 상태에 맞게 뭔가를 하길 바랐기 때문
- 시작 상태는 무작위 분포에서 무작위로 샘플링
- 이들은 Turtle과 Narrow 표현에서는 시작 위치를 무작위로 설정함 (생성 시작 위치)
- Narrow에서는 각 step 마다 무작위로 위치 선택, 그리고 모든 위치에 다 할 수 있도록 함
- 모든 위치가 동일한 빈도로 방문하도록
- 네트워크는 꽤나 큰 형태를 가지고 있음
- 우선 이들은 PPO 를 사용함
- 에이전트 네트워크는 두 가지 다른 구조로 있음
- Narrow와 Turtle의 경우 Google의 ALE DeepQ 아키텍쳐와 유사한 fully connected layer가 추가된 3개의 convolution layer와 fully connected layer 그리고 각 액션과 값을 위한 추가적인 fully connected layer로 구성
- Wide의 경우 8개의 convolution layer로 구성, binary와 zelda에 대해서는 추가적인 3개의 convolution layer 그리고 sokoban에 대해서는 2개의 추가적인 convolution layer
- Narrow와 Turtle은 fully connected layer 때문에 매개변수 수가 큼
- 이들은 20% 변경 비율로 학습된 각 모델에 대해 결과 비교
- 입력을 0~100 퍼센트로 제공하고 각 변경 비율에 따른 성공 여부 판단
- 대략 40 %의 타일 변화에서 적당한 성공률 제공
- Narrow는 Zelda에서 낮은 성공률을 보임
- 다음 타일을 무작위로 선택하는 특성과 모든 타일을 방문한다는 점이 학습 시간을 오래 걸리게 함
- 이들의 말에 의하면 학습을 더 할 수 있었다고 함
- 단지, 동일 학습 대비 결과 비교를 위한 것
- Sokoban에서는 대부분이 낮은 결과를 보였지만 특히 Wide가 낮음
- 이들은 단순히 학습 양의 부족과 Sokoban 문제 해결에 특화된 보상을 설정한다면 문제 해결 가능할 것이라 함
- 현재의 보상 설정은 단순한 레벨에 대해서만 빠르게 학습
- 유독 Wide가 낮은 것에 대한 분석은 파라미터의 부족으로 여김
- 스타리이드 컨볼루션 레이어에 의한 것이며 따라서 비스트라이드 컨볼루션 레이어를 늘리거나 채널 수를 늘려 파라미터 수를 증가시킬 필요가 있다고 함
- 이건 실험이 안된거라 모름
- 이 연구가 기존 PCG와 차이점
- 콘텐츠 공간이 아닌 콘텐츠 생성기 공간에서 탐색함
- 이는 PPLGG라는 것에서 이미 진행되었으나 진화 기반임
- 콘텐츠 생성을 반복적인 개선 문제로 간주
- 콘텐츠 공간이 아닌 콘텐츠 생성기 공간에서 탐색함
반응형
'Journal Review' 카테고리의 다른 글
Comments