본문 바로가기
AI · 인공지능/AI 칼럼

Minecraft에서 강화학습?! 데이터셋 'MineRL'의 탄생

by 두우우부 2019. 12. 27.
반응형

3개의 요점

  • 3D 환경을 이용한 강화 학습 플랫폼 'MineRL'의 탄생
  • 6,000만 이상의 대규모 상태와 행동 데이터셋을 보유
  • 기존 방법에 의한 학습결과와 그 어려움을 "MineRL"을 통해 알 수 있음

 

'MineRL'을 이용하여 개최 된 강화학습 경쟁 소개 동영상

 

본 글에서는 3D 공간에서 일인칭 시점으로 행동하고, 탐험 및 크래프트(특정 활동에 필요한 모든 기술)가 있는 샌드박스형 게임 'Minecraft'의 실험 환경 및 데이터셋인 'MineRL'을 제공한 논문을 소개합니다. 실험 환경 및 데이터셋을 제공함으로써 누구나 'Minecraft'를 사용하여 강화 학습을 구현할 수 있게 되었습니다.

 

강화 학습은 환경으로부터 데이터를 주체적으로 획득하고 행동을 최적화해 나가는 툴입니다. 2016년 강화 학습을 이용한 "AlphaGo"가 바둑 세계챔피언에게 승리한 소식은 전 세계에 충격을 안겨주었습니다. 그 "AlphaGo"는 3000만 개의 데이터를 지도 학습하고, 강화 학습으로 최적화하고 있습니다. 이 예와 같이 강화 학습에서 높은 점수와 복잡한 행동을 획득하기 위해서 교사가 되어줄 데이터셋은 필수입니다.

 

2D와 어느 정도 제한된 공간에서는 강화 학습을 이용하여 인간보다 높은 점수를 획득할 수 있게 된 반면, 현실에 가까운 3D 환경에서는 아직 높은 점수의 획득이 과제로 남아 있습니다. Minecraft환경에서 범용성 있는 강화 학습 기법이 실현되면, 실제 응용으로 이어지는 것을 의미합니다. 그러므로 이 실험 환경 및 데이터셋의 제공은 매우 의미 있는 것입니다.

 

먼저 "Minecraft"에 대해 간략하게 설명하고, 실험 환경 및 데이터셋 "MineRL"에 대해 간략하게 알아보겠습니다. 그리고 논문의 실험 결과를 이용하여 "Minecraft"환경에서 학습의 어려움을 알아보고 마무리하겠습니다.

 

3D 환경 샌드박스형 게임 "Minecraft"

(샌드박스란, 아이들이 갖고 놀 수 있게 모래를 담은 상자를 말합니다. 모래를 이용해 뭉치기도 하고 쌓기도 하고 부숴보기도 하고 자유롭고 다양하게 놀도록 하는 놀이기구입니다)

 

 

Minecraft는 3D 공간에서 일인칭 시점으로 행동하며 탐험과 건축을 하는 샌드박스 형식의 게임입니다. 2019년 5월 시점에서, 퍼즐 게임 '테트리스'를 제치고 세계에서 가장 많이 팔린 게임이 되었습니다.

 

목적이 주어지지 않기 때문에 건축과 서바이벌 생활 등을 자유롭게 즐길 수 있습니다. 강화 학습적인 관점에서 보면 3D 공간이고 1인칭 시점에서 자유롭게 목표를 설정할 수 있고, 크래프트를 이용한 계층형 태스크를 만들 수 있는 점에서 거대한 탐색 공간적인 보상 환경 , 즉 더 현실에 가까운 환경을 의도적으로 만들고 시뮬레이션할 수 있습니다.

 

Minecraft는 크래프트 시스템에 의한 계층형 태스크를 낳는 것으로 특유의 어려움을 만들어 냅니다. 다음 그림은 일부 아이템의 계층을 나타냅니다.

 

Minecraft의 아이템이 나타내는 계층 성

 

각각의 노드는 Minecraft 고유 아이템이나 블록, 캐릭터, 각종 아이템을 만드는 데 빼놓을 수없는 관계를 나타냅니다. 위에 표시된 관계는 게임 내 아이템의 일부분에 지나지 않습니다. Minecraft에서 아이템 획득 시 계층의 복잡성을 확인할 수 있습니다.

MineRL

그럼, 실험 환경 및 데이터셋을 제공하는 강화 학습 플랫폼 'MineRL'에 대해 알아봅시다.

 

MineRL은 Minecraft를 사용한 강화 학습 플랫폼 'Malmo'에 데이터셋을 추가하고 안정화와 고속화를 거쳐 사용하기 쉽게 구현한 것입니다.

 

인간의 데몬스트레이션 수집 구조를 아래 그림으로 쉽게 설명합니다.

 

데모를 수집하는 방법

 

그림과 같이 게임 기록을 허용한 플레이어의 궤적을 데이터 격납고에 저장합니다. 그리고 렌더링을 통해 매개변수를 조정하고 데이터셋으로 저장합니다. 저장되는 데이터는 1/20 초마다의 '상태'와 '행동'의 쌍입니다. '상태'는 RGB 영상 프레임과 플레이어의 인벤토리, 상태, 플레이어의 GUI 이용 기록 등이고 행동은 키보드 터치와 시점 변화, 아이템의 크래프트 등이 존재합니다.

 

이어서, MineRL이 제공하는 태스크를 일부 픽업하여 소개해 보겠습니다.

 

ObtainDiamond

목적 : 다이아몬드 취득

관측 데이터 : 장비 아이템, 인벤토리, 1인칭 시점 이미지

행동 : attack, jump, craft 등 포함 14종

보상 : 중간 아이템 및 다이아몬드의 취득에 따라 각각 한 번만 할당됨

예) 나무도끼(+8), 돌도끼(+32), 다이아몬드(+1024)

 

플레이어는 임의의 위치에서 시작합니다. 목적지까지 가면 골...처럼 간단한 이야기가 아니라, 다이아몬드 취득까지 도달하기 위해서는 많은 중간 아이템이 필요합니다. 매우 복잡한 작업이므로 학습이 매우 어렵습니다.

 

Treechop

목적 : 64개의 원목을 획득

관측 데이터 : 1인칭 시점 이미지

행동 : attack, jump, back 등 포함 9종

보상 : 원목을 사용할 때마다(+1)

 

플레이어는 쇠도끼를 가진 상태에서 시작합니다. 원목은 크래프트의 소재가 되는 자원입니다. 이 작업은 다이아몬드의 취득에 비하면 훨씬 쉬운 작업입니다.

 

Navigate

목적 : 지정된 골에 도달

관측 데이터 : 나침반의 각도, 인벤토리, 1인칭 시점 이미지

행동 : attack, jump, back 등 포함 10종

보상 : 골 도달 시(+100)

 

플레이어는 나침반을 가진 상태에서 임의의 위치에서 시작합니다. 설정에 따라 보상이 어느 정도 주어지는 쉬운 환경과 목적지 도달 시에만 보상이 주어지는 하드 한 환경의 두 가지가 존재합니다. 쉬운 환경은 역시 다이아몬드의 취득에 비하면 간단한 작업입니다.

 

실험 결과

그럼, 앞서 소개한 Treechop과 Navigate작업에 대해 강화 학습법 Dueling Double DQN (DQN), Pretrained DQN (PreDQN), A2C와 지도 데이터로 학습하는 Behavioral Cloning를 이용하여 실험한 결과는 다음과 같습니다.

각 학습법과 인간 및 랜덤의 행동비교

 

Navigate(S)가 어려운 환경이고 Navigate(D)가 쉬운 환경입니다. 이 결과에서 한눈에 알 수 있는 것은 학습된 에이전트는 어떤 작업에서도 인간의 점수보다 열등하다는 것입니다. 그리고 눈여겨봐야 할 것은 Treechop입니다. 강화 학습 3가지 방법에서 인간의 점수인 64에 비해 5 이하로 아주 낮습니다. 작업 결과 얻는 원목은 다이아몬드를 취득하는 작업을 비롯해 아이템 가공 및 취득에 꼭 필요한 아이템입니다. 즉, 아이템 취득이 목적인 태스크의 경우 이러한 3가지 학습법으로는 아이템 가공 이전에 원목조차 충분히 얻지 못하고 게임이 종료될 가능성이 높습니다.

 

이렇게 Minecraft 환경에서의 학습이 얼마나 힘든지 엿볼 수 있습니다. 또한 아래의 그래프에서 인간의 데모를 이용하는 경우와 이용하지 않는 경우에 대한 결과를 비교합니다.

 

Navigate(D) 태스크의 학습에 있어서 인간의 플레이 데이터 유무에 따른 비교

 

이 그래프에서 알 수 있듯이 인간의 expert 궤적을 이용한 Pretrained DQN가, DQN보다 높은 점수를 획득하고 있는 것을 알 수 있습니다. "MineRL"에서 제공되는 태스크에 있어서 높은 점수를 획득하는 에이전트를 만들려면 데이터셋인 인간의 expert 궤적을 어떻게 사용하는가가 관건이 되겠지요.

 

정리

이상 3D 환경 샌드박스형 게임 "Minecraft"를 이용한 강화 학습 플랫폼 'MineRL"에 대해 간략히 소개해 보았습니다. 한정된 이미지 정보와 여러 행동 패턴에서 강화 학습을 통해 3D 공간의 행동을 최적화하는 에이전트를 만들어내는 것은 매우 어려운 작업입니다. 하지만 서두에서도 언급했듯이 이러한 태스크에서 고성능 퍼포먼스가 달성 가능한 에이전트 학습법 및 새로운 모델을 개발한다면 현실 공간에서의 강화 학습 응용에 크게 기여할 수 있습니다. 그리고 그 기술의 발전에 이러한 대규모 데이터셋의 존재는 빼놓을 수 없습니다. 그러한 의미에서 이 데이터 셋과 실험 환경의 제공은 매우 유익한 것입니다.

 

'MineRL'은 이번에 소개한 것 이외에도 실험 환경이 제공되고 있습니다. 또한 ObtainDiamond는 경쟁하는 공모전도 있으니 관심이 있으신 분들은 아래의 URL을 확인해주세요.

 

MineRL Competition 2019

We are holding a competition on sample-efficient reinforcement learning using human priors. Standard methods require months to years of game time to attain human performance in complex games such as Go and StarCraft. In our competition, participants develo

minerl.io

MineRL: A Large-Scale Dataset of Minecraft Demonstrations

 

MineRL: A Large-Scale Dataset of Minecraft Demonstrations

The sample inefficiency of standard deep reinforcement learning methods precludes their application to many real-world problems. Methods which leverage human demonstrations require fewer samples but have been researched less. As demonstrated in the compute

arxiv.org

 

반응형