[ 트렌드] [World Model 시리즈 #7] Dreamer V3 핵심 용어 쉽게 이해하기 — RSSM, 이산 카테고리컬, Actor-Critic, Gradient
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는 "애초에 이미지를 복원할 필요가 있었나?"라는 근본적 질문을 던집니다.