[ 트렌드] [World Model 시리즈 #7] Dreamer V3 핵심 용어 쉽게 이해하기 — RSSM, 이산 카테고리컬, Actor-Critic, Gradient

관리자 Lv.1
03-01 11:59 · 조회 16 · 추천 0

Dreamer V3 핵심 용어 쉽게 이해하기

World Model 시리즈 일곱 번째 글입니다. Dreamer V3의 비교표에 나오는 용어들을 하나씩 풀어봅니다.


1. h + z 분리 (RSSM)

World Models: 메모지 1장에 전부 적음 (h)
Dreamer:      2장으로 나눔
              h = 확실한 사실 ("지금 직선 도로다")
              z = 불확실한 예측 ("앞차가 멈출 수도 있다")

RSSM은 이 구조의 이름입니다. Recurrent State-Space Model. "h와 z를 분리한 구조"라고 기억하면 충분합니다.


2. 이산 카테고리컬

"연속"과 "이산"의 차이부터:

연속 (World Models의 z):
  온도계처럼 아무 값이나 가능
  36.5도, 36.7도, 37.123456도...
  "몬스터의 위협 정도 = 0.63728..."

이산 (Dreamer V2~V3의 z):
  주사위처럼 정해진 값만 가능
  1, 2, 3, 4, 5, 6 중 하나
  "몬스터 상태 = 공격 / 대기 / 이동 중 하나"

"카테고리컬"은 "카테고리(범주) 중에서 고른다"는 뜻입니다.

연속: "오늘 기분이 어때?" -> "72.3% 좋아" (애매한 숫자)
이산 카테고리컬: "오늘 기분이 어때?" -> "좋음 / 보통 / 나쁨" 중 택1

Dreamer V3는 z를 32개 질문 x 각 32개 보기 형태로 표현합니다.

질문 1: 몬스터 상태? -> [공격, 대기, 이동, ...] 32개 중 택1
질문 2: 도로 상태?   -> [직선, 커브, 교차로, ...] 32개 중 택1
질문 3: 날씨?       -> [맑음, 비, 눈, ...] 32개 중 택1
...
질문 32: ...        -> 32개 중 택1

32 x 32 = 1,024가지 조합으로 세상을 표현합니다.

왜 이산이 더 좋은가? 세상에는 "반쯤 공격하는 몬스터" 같은 건 없기 때문입니다. 쏘거나 안 쏘거나 둘 중 하나입니다. 연속값은 0.5 같은 애매한 중간값을 만들지만, 이산은 깔끔하게 "쏜다" 또는 "안 쏜다"를 표현합니다.


3. Actor-Critic 신경망

World Models의 Controller는 곱셈 한 번으로 행동을 결정했습니다. Dreamer는 두 명의 역할 분담으로 바꿨습니다.

Actor (배우):  "어떤 행동을 할까?" 결정하는 사람
Critic (평론가): "그 행동이 얼마나 좋았어?" 평가하는 사람

일상 비유:

[World Models 방식 -- 혼자 다 함]
  나: "직진할까 좌회전할까... 그냥 직진\!" (감으로 결정)

[Actor-Critic 방식 -- 역할 분담]
  Actor(나):   "직진하자\!"
  Critic(조수): "잠깐, 직진하면 막히겠는데? 점수 -3점"
  Actor(나):   "그럼 좌회전하자\!"
  Critic(조수): "좋아, 그러면 빨리 도착해. 점수 +8점"
  Actor(나):   "좌회전 확정\!"

Actor는 행동을 제안하고, Critic은 가치를 점수로 매깁니다. Actor는 Critic의 점수가 높아지는 방향으로 점점 더 나은 행동을 배워갑니다.

둘 다 신경망이기 때문에 World Models의 단순 곱셈보다 훨씬 복잡한 판단이 가능합니다.


4. Gradient (미분)

학습 방법의 차이입니다.

CMA-ES (World Models):
  "이리저리 랜덤하게 시도해보고, 제일 잘된 걸 골라서 그 방향으로 진화"
  -> 진화론처럼 느림, 하지만 단순

Gradient (Dreamer):
  "틀린 방향을 정확히 계산해서, 그 반대로 수정"
  -> 수학적으로 최적 경로를 찾음, 빠름

비유하면:

CMA-ES (진화):
  눈을 감고 산을 올라간다.
  여러 방향으로 한 발씩 걸어보고,
  "이쪽이 더 높네?" -> 그 방향으로 감.
  느리지만 확실히 올라감.

Gradient (미분):
  눈을 뜨고 산을 올라간다.
  경사면을 직접 보고,
  "저기가 가장 가파르네" -> 바로 그 방향으로 감.
  빠르고 효율적.

Dreamer가 Gradient를 쓸 수 있는 이유는, 꿈(M이 만든 시뮬레이션)이 미분 가능하기 때문입니다. 꿈 속의 모든 과정이 수학 함수로 연결되어 있어서, "이 행동을 바꾸면 결과가 얼마나 달라지는지"를 정확히 계산할 수 있습니다.


5. 단일 설정으로 범용

World Models:
  CarRacing 할 때 설정 A
  VizDoom 할 때 설정 B
  -> 게임마다 사람이 설정을 조정해줘야 함

Dreamer V3:
  Atari 게임도 설정 X
  로봇 걷기도 설정 X
  마인크래프트도 설정 X
  -> 하나의 설정으로 150개 이상의 과제를 풀음

Dreamer V3는 symlog라는 트릭으로 보상 크기를 자동 정규화해서, 보상이 0.01인 환경이든 10,000인 환경이든 같은 설정으로 작동합니다.

비유:

이전: 볼트 크기마다 다른 스패너가 필요 (8mm, 10mm, 12mm...)
V3:   자동 조절 스패너 하나로 모든 볼트를 풀 수 있음

전체 정리

용어 쉬운 설명
RSSM h를 확실한 것 + 불확실한 것 2장으로 분리
이산 카테고리컬 "쏜다/안쏜다"처럼 명확한 선택지로 표현
Actor-Critic 행동 제안자 + 평가자 역할 분담
Gradient 경사면을 보고 최적 방향으로 바로 이동
단일 설정 범용 자동 조절 스패너 -- 설정 하나로 모든 과제

다음 글에서는 LeCun의 JEPA를 다룹니다. Dreamer가 같은 틀에서 부품을 개선했다면, JEPA는 "애초에 이미지를 복원할 필요가 있었나?"라는 근본적 질문을 던집니다.

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