# 디퓨전 모델은 실시간 게임 엔진임

> Clean Markdown view of GeekNews topic #16512. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16512](https://news.hada.io/topic?id=16512)
- GeekNews Markdown: [https://news.hada.io/topic/16512.md](https://news.hada.io/topic/16512.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-08-29T09:39:12+09:00
- Updated: 2024-08-29T09:39:12+09:00
- Original source: [gamengen.github.io](https://gamengen.github.io)
- Points: 1
- Comments: 1

## Topic Body

### Diffusion Models Are Real-Time Game Engines  
  
- **GameNGen**: 신경 모델로 구동되는 최초의 게임 엔진으로, 복잡한 환경과의 실시간 상호작용을 고품질로 제공함  
- **DOOM 시뮬레이션**: 단일 TPU에서 초당 20프레임 이상으로 고전 게임 DOOM을 상호작용적으로 시뮬레이션할 수 있음  
- **PSNR**: 다음 프레임 예측에서 29.4 PSNR을 달성, 이는 손실 JPEG 압축과 유사함  
- **인간 평가자**: 인간 평가자가 게임 클립과 시뮬레이션 클립을 구별하는 데 있어 무작위 추측보다 약간 나은 수준임  
  
#### 전체 게임 플레이 비디오  
  
##### 에이전트 플레이를 통한 데이터 수집  
- **자동 RL 에이전트**: 대규모 인간 게임 플레이 데이터를 수집할 수 없기 때문에, 첫 번째 단계로 자동 RL 에이전트를 훈련시켜 게임을 플레이하게 하고, 이 훈련 에피소드의 행동과 관찰을 기록하여 생성 모델의 훈련 데이터로 사용함  
  
##### 생성적 확산 모델 훈련  
- **Stable Diffusion v1.4**: 이전 행동과 관찰(프레임) 시퀀스를 조건으로 하는 작은 확산 모델을 재사용함  
- **가우시안 노이즈 추가**: 훈련 중 인코딩된 프레임에 가우시안 노이즈를 추가하여 컨텍스트 프레임을 손상시킴으로써, 네트워크가 이전 프레임에서 샘플링된 정보를 수정할 수 있도록 함. 이는 긴 시간 동안 시각적 안정성을 유지하는 데 중요함  
  
##### 잠재 디코더 미세 조정  
- **Stable Diffusion v1.4의 사전 훈련된 오토인코더**: 8x8 픽셀 패치를 4개의 잠재 채널로 압축하는데, 이는 게임 프레임을 예측할 때 의미 있는 아티팩트를 초래함. 특히 작은 디테일과 하단 바 HUD에 영향을 미침  
- **디코더 훈련**: 이미지 품질을 향상시키기 위해, 목표 프레임 픽셀에 대해 MSE 손실을 계산하여 잠재 오토인코더의 디코더만 훈련함  
  
#### GN⁺의 정리  
- **GameNGen**은 신경 모델을 사용하여 실시간으로 복잡한 게임 환경과 상호작용할 수 있는 최초의 게임 엔진임  
- **DOOM 시뮬레이션**을 통해 높은 품질의 프레임 예측을 제공하며, 인간 평가자가 실제 게임과 시뮬레이션을 구별하기 어려울 정도로 정교함  
- **Stable Diffusion v1.4**와 같은 기존 모델을 재사용하여 효율성을 높였으며, 가우시안 노이즈 추가와 같은 기법을 통해 시각적 안정성을 유지함  
- **잠재 디코더 미세 조정**을 통해 이미지 품질을 개선하여 게임 프레임의 디테일을 보존함

## Comments



### Comment 28404

- Author: neo
- Created: 2024-08-29T09:39:12+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41375548) 
- Google의 SD 1.4를 사용한 확산 모델이 예상보다 더 많은 원인, 결과, 순서를 포함하고 있음
  - 무한 훈련 데이터를 얻기 위해 에이전트가 Doom을 플레이하게 함
  - 소스 프레임에 가우시안 노이즈를 추가하고 에이전트가 순차 프레임을 '수정'하도록 보상함
  - 모델이 오류 수정 및 안정성을 유지하도록 가르치는 것이 중요함
  - 이 모델을 '사진 실사' 또는 레이 트레이싱 스타일로 미세 조정할 수 있을지 궁금함

- 이 논문은 실시간 사용자 입력을 받아 출력을 조정하는 시스템을 설명하지 않음
  - 에이전트가 Doom을 플레이한 대규모 데이터 세트로 훈련됨
  - 사용자 입력이 실시간으로 시뮬레이션에 반영되지 않음
  - 논문에서 실시간 사용자 게임 플레이에 대한 설명이 생략됨

- 이 모델이 20fps로 렌더링할 수 있다는 것이 놀라움
  - 확산 모델과 RNN의 교차점처럼 보임
  - 모델이 많이 플레이한 게임을 꿈꾸는 것과 유사함
  - 인간도 다음 순간을 예측하는 기계일 수 있음

- Doom을 모든 것에 실행하려는 시도가 계속됨
  - 이 모델은 가장 높은 하드웨어 요구 사항을 가진 Doom임
  - 하드웨어 사양의 양 끝에 Doom이 위치함

- 무의미하다고 지적하는 댓글을 읽는 것이 재미있음
  - 모든 것이 이익을 위해 만들어질 필요는 없음
  - 학습 경험, 도전, 호기심을 위해 무언가를 만드는 것도 중요함
  - 즐거움을 느끼는 시간은 결코 낭비가 아님

- Doom 시스템 요구 사항과 Stable Diffusion v1 비교
  - Doom: 4MB RAM, 12MB 디스크 공간
  - Stable Diffusion v1: 860M UNet 및 CLIP ViT-L/14, 체크포인트 크기 4.27GB, TPU-v5e에서 실행
  - 모델이 게임을 수백 번 기억할 수 있는 용량을 가졌음에도 불구하고 최적화의 여지가 많음
  - 게임을 충분히 자동화하면 게임을 복제할 수 있음

- 게임 엔진의 역할은 세계를 렌더링하는 것임
  - "이 문은 파란 키가 필요함"이라는 메시지가 사용자에게 파란 키를 제공하지 않음
  - 게임 엔진은 새로운 게임을 만들고 기존 게임의 규칙을 실시간으로 수정할 수 있음
  - 확산 모델은 게임 엔진이 아님

- 텍스트 조건이 제공되지 않았지만, 텍스트 프롬프트만으로 새로운 게임을 만드는 것이 가능할 수 있음
  - RL을 사용하여 Doom의 모양과 작동 방식을 학습함
  - 무한한 상태를 가진 오픈 월드 게임을 시뮬레이션하는 것은 어려울 것임
