본문 바로가기

데이터사이언스

[간단 리뷰] Genie: Generative Interactive Environments

Genie 소개 영상

 

 하루가 멀게 새로운 AI 모델의 등장이 우리를 놀라게 하고 있다. 이번에는 Deepmind에서 사진이나 스케치 등을 활용해서 비디오 게임처럼 플레이 가능한 세계를 만드는 Genie라는 모델을 공개했다. 11B 파라미터를 가지는 Genie는 20만 시간이 넘는 공개된 온라인 게임 비디오로 학습을 진행했다. Genie는 action이나 text 주석이 없이 훈련을 했음에도 불구하고, latent action space를 이용해서 프레임 단위로 제어 가능하다. 성능에 대해서는 공식 블로그에서 충분히 소개하고 있기 때문에, 이 글에서는 Genie를 구성하고 있는 Component를 간단하게 소개한다

 

Figure 1. 다양한 input을 interactive한 환경으로 바꾸어주는 Genie

 

 

1. Model Component

Figure 2. Genie의 구성 요소

 

위 그림에서 볼 수 있는 것처럼, Genie는 세개의 핵심 구성요소를 가진다. 첫 번째는 각 프레임 사이 latent action a를 추론하는 latent action model이다. 두 번째는 영상 프레임을 discrete token z로 변환하는 video tokenizer이다. 마지막은 action과 video token이 주어지면, 다음 프레임을 예측하는 dynamics model이다. 모델은 영상 생성에 사용되는 일반적인 autoregressive model(자기 자신을 예측하는 모델)처럼 두 단계로 훈련된다. 먼저 video tokenizer를 훈련하고, dynamics model(video token을 이용해 훈련)과 latent action model을 동시에 훈련한다.

 

 

2. Latent Action Model

 제어 가능한 영상 생성을 위해, 이전 프레임에서 수행된 동작을 기반으로 다음 프레임을 예측한다. 하지만, 이런 action 레이블은 인터넷 동영상에서는 거의 찾아볼 수 없으며, 레이블을 따로 얻는 데 비용이 많이 든다. 따라서 본 논문에서는 완전한 비지도 방식으로 latent action을 학습한다. 

Figure 3. latent action model

 

 먼저, encoder는 t + 1시점까지의 모든 프레임 x_{1:t} = (x_{1}, ㆍx_{t+1})을 input으로 받고, t 시점까지의 latent action을 output으로 내놓는다. decoder는 t 시점까지의 모든 프레임, latent actions를 input으로 받아 t + 1 시점의 프레임을 예측한다. 모델 훈련을 위해 예측되는 action의 종류를 8개로 제한하여, 높은 복잡성을 방지하였다. Decoder는 이전 시점의 프레임과 latent action을 활용해, 다음 시점의 영상을 output으로 내놓는다. decoder가 성공적인 프레임 reconstruction을 하기 위해, latent action a_t는 t+1 시점과 시점의 가장 의미 있는 변화를 encoding 해야 한다. 이 모듈은 훈련 과정에서 action을 추출해 내는데만 사용된다. 실제 추론 과정에서는 이렇게 추출한 action 중 사용자가 선택한 action이 사용된다.

 

 

3. Video Tokenizer 

 dimentionality를 줄이기 위해, 영상을 discrete token으로 압축한다. 구체적으로, T 프레임의 영상을 input으로 받아 각 프레임에 대한 size D의 discrete representation을 만든다. 기존 연구에서 공간적인 정보를 주로 사용해서 token을 만든 것과는 다르게, 이 연구에서는 시간적인 정보도 encodeing/decoding에 활용하여 영상 생성 품질을 높힌다. 각 discrete encoding z_t는 t 시점까지의 프레임 정보를 모두 담고 있다.

Figure 4. Video tokenizer

 

4. Dynamics Model 

 Dynamics modle은 t-1 시점까지의 token과 action을 input으로 받아, t 시점의 video token을 예측한다. 일반적으로는 action과 video token을 concat(결합)하여 다룬다. 하지만 여기에서는 action을 그림과 같이 분리해서 다루기 때문에, model이 action을 더 잘 이해할 수 있다. input 중Action은 상수로 취급하고, video token z에 대해서만 학습이 진행되며, cross entrophy loss를 사용해서 훈련한다.

Figure 5. Dynamics Model

 

 

5. Inference 

  추론 과정에서는 주어진 이미지를  조작 가능하도록 만든다.  주어진 이미지는 첫 번째 프레임 x_1의 역할을 한다. 이 이미지는 video encoder를 이용해 z_1으로 토큰화된다. 사용자는 [0, |A|)의 범위 안의 정수를 하나 선택함으로써 latent action a_1을 선택한다. a_1은 지금까지 학습한 aciton을 저장한 codebook에서 실제 action a_1으로 변환된다. 그리고  Dynamics model은 z_1과 a'_1을 이용해서 다음 frame token을 예측한다. 사용자로부터 action이 지속적으로 전달이 되면 Dynamic model은 다음 token을 자기회귀를 통해서 지속적으로 예측하게 된다. 한편 decoder는 token을 이용하여 영상 프레임을 생성한다. 

Figure 6. Genie의 Inference