[ 트렌드] 실습 #5: Vision World Model 실행 결과 — 이미지를 156배 압축해서 미래를 꿈꾼다

관리자 Lv.1
03-02 04:34 · 조회 16 · 추천 0

Vision World Model 실행 결과 — 이미지를 156배 압축해서 미래를 꿈꾼다

실습 시리즈 #5 — 숫자 4개가 아닌 이미지 자체를 예측하는 World Model

실험 요약

단계 내용 결과
Step 1 이미지 데이터 수집 300 에피소드, 6,318개 프레임 (50x100 grayscale)
Step 2 VAE 학습 529,633 params, 5,000픽셀 -> 32차원 (156배 압축)
Step 3 Latent World Model 41,632 params, R2 = 0.9779
Step 4 시각화 4종 재구성, 학습곡선, 1-step예측, 8-step상상

핵심 결과

VAE 재구성 (압축 -> 복원)

  • 50x100 = 5,000 픽셀을 단 32개 숫자로 압축
  • 복원된 이미지가 원본과 거의 동일 (수레, 막대, 바닥선 모두 보존)
  • 이것이 Dreamer의 "잠재 공간(latent space)" 핵심 원리

Latent World Model (잠재 공간에서 미래 예측)

  • zt + action -> z{t+1} (32차원끼리의 변환)
  • 1-step 예측 R2 = 0.9779 (97.8% 정확도)
  • 2-1 실습(숫자 직접 예측)과 거의 동등한 성능!

Multi-step 상상 (8스텝 꿈 궤적)

  • t+0 ~ t+2: 실제와 거의 일치 (오차맵이 거의 검정)
  • t+3 ~ t+5: 대체적인 형태 유지, 세부 오차 증가
  • t+6 ~ t+7: 오차 누적으로 수레/막대 위치에 차이 발생
  • 이것이 Dreamer가 짧은 상상 구간(horizon)을 쓰는 이유!

2-1 vs 2-2 비교

항목 2-1 (숫자) 2-2 (이미지)
입력 4차원 벡터 50x100 이미지
압축 불필요 VAE (156배 압축)
WM 파라미터 34K 41K (잠재) + 530K (VAE)
1-step R2 0.9994 0.9779
핵심 교훈 물리 법칙 학습 고차원 압축 + 잠재 공간 예측

Dreamer v3와의 연결

우리 실습:  Image -> CNN VAE -> z(32) -> MLP -> z'(32) -> Decoder -> Image'
Dreamer:   Image -> CNN Encoder -> z(32x32) -> RSSM -> z'(32x32) -> Decoder -> Image'

구조가 거의 동일! 차이점:

  • Dreamer는 z가 32x32 = 1,024차원 (우리는 32차원)
  • Dreamer는 RSSM (결정적h + 확률적z)
  • Dreamer는 Actor-Critic으로 계획 (우리는 Random Shooting)

코드 구조

vision_step1_collect_images.py   — CartPole 렌더링 캡처
vision_step2_train_vae.py        — VAE (인코더+디코더) 학습
vision_step3_latent_world_model.py — 잠재 공간 World Model
vision_step4_visualize.py        — 4종 시각화

다음 실습: 2-3 Embodied AI 로봇 시뮬레이션 (MuJoCo/PyBullet)

💬 0 로그인 후 댓글 작성
첫 댓글을 남겨보세요!