World Models

The image of the world around us, which we carry in our head, is just a model. Nobody in his head imagines all the world, government or country. He has only selected concepts, and relationships between them, and uses those to represent the real system.

인간이 세상을 인식하는 방법을 가장 잘 표현한 글이라고 생각한다. World Model은 이러한 인간의 특성을 그대로 알고리즘으로 구현하여 만든 모델로 보인다. 이 모델은 입력정보를 처리에 편하게 encoding한 후 RNN을 사용하여 environment model을 만들고, 만들어진 environment modeld을 통해 얻은 정보를 이용하여 학습된 policy를 바탕으로 행동한다는 개념이다. model-based RL과 유사하게 environment에 대한 모델을 만든다. 아래가 이 개념을 잘 표현한 그림이다. State/Observation 정보를 encoding하는 Vision Model(V), environment을 예측하기 위한 Memory RNN(M), action을 결정하기 위한 Controller(C) 모델로 이루어져 있다. DRQN(Deep Recurrent Q Network)와 비슷한 개념이지만, recurrent model(M)에서 action value(Q) 또는 action을 얻지 않고 controller가 판단에 필요한 next state정보(h)를 생산하며 action를 선택하기 위한 별도의 Controller를 가지고 있다.

Vision 모델(V)로는 VAE(Variational Autoencoder)를 사용하였고, Memory RNN 모델(M)로는 MDN(Mixture Density Network)-RNN을 사용하고, Controller 모델(C)로는 VAE를 통해 encoding된  z와 MDN_RNN을 통해 얻어진 hidden state(h)를 입력변수로 가지는 linear model을 사용하였다. 아래가 이를 도식한 그림이다. 주목할 점은 모델 V와 M은 학습과 관계없이 개별적으로 모델을 알아낼 수 있다는 점이다. 학습은 Controller model C의 패러미터들을 더 높은 return을 얻을 수 있도록 변화시키는 과정에 있다. 논문의 저자는 RL에서 사용하는 알고리즘(value-based learning이나 policy gradient learning)보다는 통계적 black-box optimization방법을 사용하였다. Covariance-Matrix Adaptation Evolution Strategy (CMA-ES)라는 방법이다.

저자가 위그림의 VAE와 MDN-RNN을 묶어 world model로 표현한 것은 이 두 모델들이 environment를 인식하는 두뇌의 핵심이라고 생각하기 때문일 것이다. 그러므로 action model(C)보다는 이 두 모델을 더 정확히 표현하는데 노력했다고 한다. DRQN과 유사한 구조라고 언급했는데, 큰 차이점으로 RNN구조는 미래를 예측하기 위한 모델이라는 점이며, 예측된 RNN의 state(h)와 VAE에서 만들어진 encoded state/observation(z)를 입력값으로 Controller가 action을 정한다는 점이다. DRQN구조와 유사하게 Controller가 z를 사용하지 않고 RNN의 h값만을 사용하여 action을 정하는 구조라면 어떤일이 일어날까? World model이 VAE를 포함하고 있는 점을 중요하다. 즉, 현재를 인식한 결과와 미래를 예측한 결과를 모두 사용하여 action을 정해야 한다는 의미로 해석한다. DRQN이 개념적으로는 state/observation을 입력으로 하고 action을 취하여 얻은 action value를 RNN을 통해 얻어서 action을 결정하는 것과는 다른 접근으로 World Model이 더 범용적으로 적용 가능하고 인간의 판단 과정과 비슷한 구조라는 생각이다. 

Car Racing Experiments

실험에 사용한 것은 OpenAI Gym environment중의 하나인 Car racing 환경이다. Continuous action space를 가진 Box 2D simulator 환경에 속한다. 논문의 저자는 벤치마크를 위해 일반적 RL 알고리즘 구조를 시험에 포함하였다. 논문에서는 RNN 예측 모델이 없이 V model만을 사용한 구조로 실험한 결과가 포함되어 있다. 물론 전통적 RL 모델인 DQN의 결과도 포함시켰다. 사실 내 생각에는 V only model은 World Model중 하나를 포함한것이지만 일반적인 RL 알고리즘과 크게 다르지 않을것으로 판단한다. 즉, state/observation정보로 부터 action을 결정하는 network를 학습시키는 방법과 구조적으로 같은 것이다. 실험결과를 보면 DQN구조보다는 좋지만 A3C와 비슷한 performance를 보인다. 아래에 결과가 정리되어 있다.

내 컴퓨터로 World Model을 테스트한 결과는 755 평균값을 가지고 표준 편차는 97이었다. 약 이틀정도 소요되었는데, 아무래도 더 오랫동안 training시켜야 아래 결과치와 비슷한 결과가 나올것 같다. 유사-DRQN 구조(Full world model without z for Model C)를 사용한 구조를 사용한 비교결과가 궁금해 코드를 약간 수정하여 테스트해 보았다. 결과는 아래 테이블 마지막 행에 기록한 바와 같이 V mode only와 비슷한 score에 편차가 크다는 것을 알 수 있다. 아래 주행 모습은 테스트 method의 주행 모습이다. World Model은 이것보다 더 좋은 모습을 보이나, 완벽하게 주행하는 모습은 보여주지 못했다.

MethodAverage Score over 100 Random Tracks
DQN                               343 ± 18
A3C (continuous)                               591 ± 45
V model only, z input                               632 ± 251
Full World Model, z and hhv                               906 ± 21
Full World Model, h input w/o z                               635 ± 142

Note. 이 글은 DeepMind의 World Model을 원저자의 게시글을 읽고 작성한 것이다. 논문은 링크를 참조.

광고

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중