월드 모델로 여러 분야 정복하기 (DreamerV3)
하이퍼파라미터 하나로 150여 과제를 푼 월드 모델 RL, 마인크래프트 다이아몬드 첫 성공
먼저 알아야 할 것
다루는 내용
DreamerV3는 RSSM 월드 모델을 배워 상상 속 궤적으로 액터와 크리틱을 학습하는 3세대 Dreamer입니다. free bits와 나눈 KL 손실, 백분위 기반 반환값 정규화, symlog 변환, symexp twohot 손실 같은 견고성 기법으로 8개 분야 150개 이상 과제를 고정된 하이퍼파라미터로 풀어 전문 알고리즘들을 앞섰습니다. 사람 데이터 없이 GPU 한 장으로 마인크래프트 다이아몬드를 처음 얻었고, 모델을 키울수록 성능과 데이터 효율이 함께 좋아졌습니다.
초록
광범위한 응용 분야에서 과제를 푸는 법을 배우는 범용 알고리즘을 개발하는 것은 인공지능의 근본적인 도전 과제였습니다. 현재의 강화학습 알고리즘은 개발된 과제와 비슷한 과제에는 쉽게 적용할 수 있지만, 새로운 응용 분야에 맞게 설정하려면 상당한 사람의 전문성과 실험이 필요합니다. 우리는 단 하나의 설정으로 150개가 넘는 다양한 과제에서 전문화된 방법들을 능가하는 범용 알고리즘 DreamerV3를 제시합니다. Dreamer는 환경의 모델을 학습하고 미래 시나리오를 상상함으로써 행동을 개선합니다. 정규화, 균형 맞추기, 변환에 기반한 견고성 기법들이 여러 분야에 걸쳐 안정적인 학습을 가능하게 합니다. 별도 조정 없이 그대로 적용했을 때, Dreamer는 사람 데이터나 커리큘럼 없이 처음부터 마인크래프트에서 다이아몬드를 모은 첫 알고리즘입니다. 이 성취는 열린 세계에서 픽셀과 희소한 보상으로부터 멀리 내다보는 전략을 탐색해야 하는, 인공지능의 중요한 도전 과제로 제시되어 왔습니다. 우리 연구는 광범위한 실험 없이도 어려운 제어 문제를 풀 수 있게 해, 강화학습을 폭넓게 쓸 수 있게 만듭니다.
해설
월드 모델로 여러 분야 정복하기 (DreamerV3)
하이퍼파라미터 하나 바꾸지 않고 150개가 넘는 과제에서 분야별 전문 알고리즘을 앞선 강화학습 알고리즘입니다. 환경의 '머릿속 모형(월드 모델)'을 배워 상상 속에서 연습하고, 신호 크기 차이를 흡수하는 장치들로 안정성을 얻어, 사람 데이터 없이 처음부터 마인크래프트 다이아몬드를 캔 첫 알고리즘이 됐습니다.
| 항목 | 내용 |
|---|---|
| 원제 | Mastering Diverse Domains through World Models |
| 저자 | Danijar Hafner 외 3명 (Google DeepMind · 토론토대) |
| 발표 | 2023(arXiv v2 2024) · arXiv 2301.04104 |
| 트랙 · 수준 | 피지컬 AI · 심화 |
| 먼저 알면 좋은 것 | 강화학습의 액터-크리틱, 변분 오토인코더 · KL 발산, 순환 신경망, Dreamer(1 · 2세대) |
들어가기 전에
이 해설은 아래 내용을 안다고 보고 씁니다. 처음이라면 먼저 읽고 오면 수식과 손계산을 훨씬 쉽게 따라올 수 있습니다.
- 잠재 공간 상상으로 행동 학습 (Dreamer) — 월드 모델의 잠재 공간에서 상상한 궤적으로 가치 기울기를 역전파해 행동을 배우는 에이전트
한눈에 보기
- 강화학습 알고리즘이 새 분야로 옮겨 갈 때마다 하이퍼파라미터를 다시 맞춰야 하는 '취약성' 문제를 이해합니다.
- 월드 모델(RSSM) · 크리틱 · 액터 세 신경망이 각각 무엇을 배우는지 설명할 수 있습니다.
- symlog 변환, twohot 손실, 백분위 기반 반환값 정규화, free bits 같은 '견고성 장치'를 작은 숫자로 직접 계산해 봅니다.
- 마인크래프트 다이아몬드 과제가 왜 어려운지, Dreamer가 어떤 조건으로 해냈는지 정확한 숫자로 압니다.
- 모델을 키우면 성능과 데이터 효율이 함께 좋아진다는 스케일링 결과를 읽을 수 있습니다.
초록 (번역)
광범위한 응용 분야에서 과제를 푸는 법을 배우는 범용 알고리즘을 개발하는 것은 인공지능의 근본적인 도전 과제였습니다. 현재의 강화학습 알고리즘은 개발된 과제와 비슷한 과제에는 쉽게 적용할 수 있지만, 새로운 응용 분야에 맞게 설정하려면 상당한 사람의 전문성과 실험이 필요합니다. 우리는 단 하나의 설정으로 150개가 넘는 다양한 과제에서 전문화된 방법들을 능가하는 범용 알고리즘 DreamerV3를 제시합니다. Dreamer는 환경의 모델을 학습하고 미래 시나리오를 상상함으로써 행동을 개선합니다. 정규화, 균형 맞추기, 변환에 기반한 견고성 기법들이 여러 분야에 걸쳐 안정적인 학습을 가능하게 합니다. 별도 조정 없이 그대로 적용했을 때, Dreamer는 사람 데이터나 커리큘럼 없이 처음부터 마인크래프트에서 다이아몬드를 모은 첫 알고리즘입니다. 이 성취는 열린 세계에서 픽셀과 희소한 보상으로부터 멀리 내다보는 전략을 탐색해야 하는, 인공지능의 중요한 도전 과제로 제시되어 왔습니다. 우리 연구는 광범위한 실험 없이도 어려운 제어 문제를 풀 수 있게 해, 강화학습을 폭넓게 쓸 수 있게 만듭니다.
무엇을 풀었나
PPO는 강화학습의 표준이 됐지만, 더 높은 성능이 필요하면 분야마다 전문 알고리즘을 씁니다. 연속 제어용, 이산 행동용, 희소 보상용, 이미지 입력용, 보드게임용이 따로 있습니다.
문제는 새 분야로 옮길 때마다 하이퍼파라미터를 다시 맞춰야 한다는 점입니다. 비디오게임에서 로봇으로 옮기려면 전문성과 많은 계산이 듭니다. 학습 한 번이 비싼 큰 모델이나 과제에서는 이런 조정 자체가 불가능합니다.
월드 모델(환경을 흉내 내는 모델)을 배워 상상으로 연습하는 아이디어는 오래됐지만, 분야가 바뀌어도 안정적으로 학습시키는 것은 풀리지 않은 문제였습니다. 보상 크기가 0.01인 게임과 1,000인 게임, 배경이 단순한 게임과 복잡한 3D 세계를 같은 설정으로 다루기 어려웠기 때문입니다.
핵심 아이디어
flowchart LR
A[환경 관측 x_t] --> B[인코더 → 이산 표현 z_t]
B --> C[순환 상태 h_t: 시퀀스 모델]
C --> D[보상 · 계속 여부 · 관측 복원 예측]
C --> E[상상 롤아웃: 16단계 앞까지]
E --> F[크리틱: 반환값 분포 예측]
E --> G[액터: 행동 선택 · 정규화된 반환값으로 학습]
G --> H[실제 환경에서 행동]
H --> A1. 월드 모델(RSSM): 머릿속 시뮬레이터
직관: 공을 던지기 전에 "이렇게 던지면 저기쯤 떨어지겠지"라고 머릿속으로 그려 보는 능력을 신경망으로 만든 것입니다.
단계:
- 인코더가 관측 (이미지 또는 벡터)를 확률적 표현 로 바꿉니다. 는 소프트맥스 분포 여러 개로 이뤄진 이산 표현입니다.
- 순환 상태 를 가진 시퀀스 모델이 이전 표현 · 행동으로 다음 상태를 이어 갑니다.
- 와 를 합친 '모델 상태'에서 보상 , 에피소드가 계속되는지 , 그리고 입력 복원 를 예측합니다.
- 동역학 예측기는 관측 없이 만 보고 를 맞히도록 배웁니다. 그래야 상상 속에서 관측 없이 앞날을 굴릴 수 있습니다.
손실은 세 가지를 가중합합니다.
| 기호 | 뜻 |
|---|---|
| 관측 복원 · 보상 · 계속 여부를 맞히는 예측 손실 | |
| 동역학 예측기가 인코더의 표현을 따라가게 하는 손실 | |
| 인코더의 표현이 예측하기 쉬워지게 당기는 손실 | |
| 기울기 멈춤(stop-gradient). 그쪽으로는 학습 신호를 보내지 않음 | |
| free bits. KL이 1 nat(약 1.44비트) 아래면 손실을 꺼 버림 | |
| 가중치. 원문 , , |
왜 이렇게 했나:
- 두 KL을 나눈 이유: 같은 KL을 두 방향으로 쪼개, 예측기는 세게(가중치 1) 인코더 쪽으로 끌고, 인코더는 약하게(0.1) 예측기 쪽으로 당깁니다. 표현이 너무 단순해져서 "예측은 쉽지만 정보가 없는" 상태가 되는 것을 막습니다.
- free bits 이유: 예전 월드 모델은 환경의 시각적 복잡도에 따라 표현 손실 크기를 다르게 맞춰야 했습니다. 복잡한 3D 세계는 강한 규제가, 픽셀 하나가 중요한 게임은 약한 규제가 필요했습니다. free bits와 작은 표현 손실을 함께 쓰니 이 딜레마가 풀려 설정을 고정할 수 있었다고 논문은 말합니다.
- 1% 균등 섞기: 인코더 · 예측기의 범주 분포를 "1% 균등분포 + 99% 신경망 출력"으로 둬서 분포가 완전히 결정적이 되지 않게 하고, KL이 튀는 현상을 막았습니다.
숫자로 해 보기(해설용 예): 어떤 시점의 KL이 0.4 nat이면 로 상수가 되어 기울기가 0입니다. 이미 충분히 맞췄으니 더 줄이려 애쓰지 말고 예측 손실에 집중하라는 뜻입니다. KL이 2.5면 손실은 2.5 그대로라 줄이는 방향으로 학습합니다.
2. 크리틱: 상상 속 미래의 가치 매기기
직관: 바둑 기사가 "이 수를 두면 형세가 몇 점 유리하다"를 감으로 판단하는 역할입니다. 다만 하나의 숫자가 아니라 "몇 점일 확률이 얼마"라는 분포로 판단합니다.
단계:
- 리플레이에서 꺼낸 상태에서 출발해, 월드 모델과 액터로 단계 앞까지 상상 궤적을 만듭니다.
- 상상 속 보상과 크리틱 값으로 λ-반환값 를 계산합니다.
- 크리틱은 이 반환값의 분포를 최대우도로 맞히게 학습합니다. 할인율은 입니다.
| 기호 | 뜻 |
|---|---|
| 상상 속에서 예측한 보상 | |
| 에피소드가 계속되면 1, 끝나면 0 | |
| 크리틱이 예측한 가치 | |
| 한 단계 앞 가치()와 더 먼 반환값()을 섞는 비율 |
왜 이렇게 했나:
- 분포로 예측: 반환값은 봉우리가 여러 개일 수 있고 환경마다 자릿수가 크게 다릅니다. 정규분포 하나로 두기보다, 지수 간격 구간(bin)의 범주 분포로 두면 기울기 크기가 목표 크기와 분리됩니다(4절).
- 리플레이에도 크리틱 손실: 보상을 예측하기 어려운 환경을 위해 상상 궤적(가중치 1)뿐 아니라 리플레이 궤적(가중치 0.3)에도 크리틱 손실을 겁니다.
- EMA 규제: 크리틱이 자기 예측에 기댄 목표를 쫓으므로, 자기 파라미터의 지수이동평균 출력 쪽으로 당겨 안정화합니다. 목표 네트워크(DQN)와 비슷한 효과입니다.
- 0으로 초기화: 처음에 무작위 보상 · 크리틱 출력이 너무 커서 학습 시작이 늦어지는 문제를 막으려고, 두 네트워크의 출력 가중치를 0으로 시작합니다.
3. 액터: 반환값 정규화로 탐험량 고정하기
직관: 시험 점수가 100점 만점이든 1,000점 만점이든 "상위 몇 %인가"로 바꿔 생각하면, 같은 기준으로 공부 방법을 정할 수 있습니다.
단계:
- 액터는 반환값을 키우면서 엔트로피 규제(무작위성 보너스)로 탐험합니다. 엔트로피 크기는 모든 분야에서 로 고정합니다.
- 고정된 가 통하려면 반환값이 대략 [0, 1] 범위에 들어야 하므로, 반환값의 범위 로 나눕니다.
- 단, 희소 보상에서 잡음을 키우지 않도록 큰 반환값만 줄이고 1보다 작은 범위는 그대로 둡니다: .
- 이상치에 휘둘리지 않게 는 최솟값 · 최댓값이 아니라 5번째 ~ 95번째 백분위 차이를 지수이동평균(감쇠 0.99)한 값입니다.
| 기호 | 뜻 |
|---|---|
| 이점(advantage): 기대보다 얼마나 좋았나 | |
| 반환값 범위가 1보다 클 때만 나눠서 줄임 | |
| 정책의 엔트로피(얼마나 고르게 행동을 섞는가) | |
| 배치 안 반환값의 번째 백분위 |
(원문 식 (6)은 엔트로피 항의 부호를 이렇게 적지만, 의미는 "엔트로피가 클수록 보너스"입니다. 구현상 최소화 손실에서는 엔트로피 항을 빼는 방향이 되므로 읽을 때 주의하세요.)
숫자로 해 보기(해설용 예):
- 보상이 큰 게임: 배치의 5번째 백분위 반환값이 2, 95번째가 12라면 이고, 이점을 10으로 나눕니다. 이점이 5였다면 0.5가 되어 엔트로피 보너스와 비슷한 눈금에서 겨룹니다.
- 보상이 희소한 게임: 거의 모든 반환값이 0이라 라면 이라 나누지 않습니다. 표준편차로 나눴다면 0.2 같은 작은 값으로 나눠 잡음을 5배 키웠을 것입니다.
왜 이렇게 했나: 논문은 이전 방식들을 비교합니다. 이점 정규화는 보상이 손에 닿든 말든 같은 비중으로 반환값을 밀어 희소 보상에서 잡음을 키웁니다. 표준편차 정규화는 희소 보상에서 표준편차가 0에 가까워 보상을 크게 부풀립니다. 평균 엔트로피를 고정하는 제약 최적화는 견고하지만 희소 보상에서 탐험이 느립니다. 분야를 넘어 안정적인 설정을 찾은 것은 "하한이 있는 반환값 정규화"뿐이었다고 보고합니다.
4. 크기를 모르는 값을 견고하게 예측하기: symlog와 twohot
직관: 1과 1,000,000을 같은 자로 재면 작은 쪽이 안 보이니, 로그 눈금 자로 바꿔 재는 것입니다. 단, 음수도 잴 수 있어야 합니다.
symlog 변환:
신경망은 를 제곱 오차로 맞히고, 출력은 로 되돌려 읽습니다. 원점 근처에서는 거의 항등 함수라 작은 값 학습을 방해하지 않습니다. Dreamer는 벡터 관측의 인코더 입력과 디코더 목표에 이 변환을 씁니다.
숫자로 해 보기: , , . 100배 차이가 나는 값들이 비슷한 눈금으로 들어옵니다(해설용 계산).
symexp twohot 손실(보상 · 크리틱용): 신경망이 지수 간격 구간 위의 소프트맥스 분포를 내고, 예측값은 구간 위치의 확률 가중 평균으로 읽습니다. 목표 값은 가장 가까운 두 구간에만 가까운 정도에 비례해 무게를 나눈 'twohot' 벡터로 바꿔 교차 엔트로피로 학습합니다.
숫자로 해 보기(해설용 단순화 — 실제 구간은 지수 간격): 구간이 [0, 1, 2]이고 목표가 1.3이면 twohot은 [0, 0.7, 0.3]입니다(1에 더 가까우니 1 쪽에 0.7). 손실은 확률에만 달려 있어 목표가 1.3이든 1,300이든 기울기 크기가 비슷합니다.
왜 이렇게 했나: 큰 목표를 제곱 손실로 맞히면 발산하고, 절대값 · Huber 손실은 학습이 정체되며, 이동 통계로 목표를 정규화하면 최적화가 비정상(non-stationary)이 됩니다. symlog와 twohot은 목표를 자르지도, 통계를 쫓지도 않으면서 이 딜레마를 피합니다.
결과
설정: 8개 분야, 150개 이상 과제, 모든 분야에서 같은 하이퍼파라미터. Dreamer 에이전트 하나는 Nvidia A100 GPU 한 장으로 학습합니다. 비교용 PPO도 분야 전체에 맞춘 고정 설정으로 돌렸습니다.
| 벤치마크 | 과제 · 예산 | 원문이 보고한 비교 |
|---|---|---|
| Atari | 57개 · 2억 스텝 | MuZero를 훨씬 적은 계산으로 앞서고, Rainbow · IQN도 앞섬 |
| ProcGen | 16개 · 5천만 프레임 | 조정된 전문 알고리즘 PPG와 비슷, Rainbow 앞섬 |
| DMLab | 30개 · 1억 프레임 | 10억 스텝의 IMPALA · R2D2+를 넘어 데이터 효율 1000% 이상 이득 |
| Atari100k | 26개 · 40만 프레임(게임 시간 2시간) | IRIS · TWM · SPR · SimPLe 앞섬(EfficientZero는 비교 어려움으로 별도) |
| 고유감각 제어 | 18개 · 50만 스텝 | D4PG · DMPO · MPO 앞서 최고 기록 |
| 시각 제어 | 20개 · 100만 스텝 | DrQ-v2 · CURL 앞서 최고 기록 |
| BSuite | 23개 | Boot DQN 등 앞서 최고 기록, 특히 보상 크기 견고성 항목 |
| Minecraft 다이아몬드 | 1개 · 1억 스텝 | 학습한 모든 Dreamer 에이전트가 다이아몬드 발견, 비교 알고리즘은 철 곡괭이까지만 |
- 마인크래프트 조건: 에피소드마다 무작위로 생성되는 무한한 3D 세계, 최대 36,000스텝(30분), 희소 보상으로 12개 아이템을 차례로 얻어야 합니다. 숙련된 사람도 다이아몬드까지 약 20분이 걸립니다. VPT는 사람 데이터와 GPU 720개 · 9일을 썼지만, Dreamer는 사람 데이터 없이 GPU 1개 · 9일을 썼습니다.
- 절제 실험(14개 과제): 모든 견고성 기법이 평균 성능에 기여했고, 가장 큰 것은 월드 모델의 KL 목표, 다음이 반환값 정규화, symexp twohot 회귀였습니다. 성능은 주로 보상과 무관한 복원 손실에 기대고 있었습니다.
- 스케일링: 모델 크기를 1,200만~4억 파라미터(6단계)로 키우면 성능이 단조롭게 오르고, 같은 성능에 필요한 환경 상호작용도 줄었습니다. 리플레이 비율(경사 갱신 횟수)을 높여도 예측 가능하게 성능이 올랐습니다.
왜 중요한가 · 이후 영향
- "설정 하나로 다 된다": 강화학습을 쓰려는 사람에게 가장 큰 장벽인 하이퍼파라미터 조정을 크게 줄였습니다. 새 로봇 · 새 게임에 바로 적용해 볼 수 있는 기본 선택지가 생겼습니다.
- 월드 모델 연구의 기준점: 상상으로 배우는 방법이 분야를 가리지 않고 통한다는 강한 증거가 됐습니다. 영상 생성 기반 월드 모델(Genie · Cosmos)과 로봇 학습 연구가 이 흐름 위에 있습니다.
- 비지도 학습 신호의 힘: 성능이 주로 복원 손실에서 나온다는 결과는, 보상 없는 대량 데이터로 월드 모델을 사전학습하는 방향을 시사한다고 논문은 말합니다.
- 연산으로 성능을 사는 법: 모델 크기와 리플레이 비율을 키우면 성능과 데이터 효율이 예측 가능하게 오른다는 점은, 실무자가 자원 계획을 세우기 쉽게 합니다.
한계 · 주의할 점
- 실험은 모두 시뮬레이션 · 게임 환경입니다. 실제 로봇에서의 검증은 이 논문의 범위 밖입니다.
- 마인크래프트는 선행 연구의 '블록 부수기' 설정을 따랐습니다(오래 누르기가 필요한 원래 행동 공간이 확률적 정책에 어렵기 때문). 완전히 같은 조건의 비교인지 읽을 때 확인이 필요합니다.
- 각 기법은 일부 과제에서만 결정적이고 다른 과제에는 영향이 없을 수 있다고 논문이 밝힙니다. 특정 과제 하나에서의 효과로 일반화하면 안 됩니다.
- 우선순위 리플레이가 성능을 더 올렸지만 구현 편의를 위해 쓰지 않았다고 적습니다. 즉 보고된 수치가 이 방법의 상한은 아닙니다.
- 원문 부록 표 4(하이퍼파라미터)는 PDF 추출본에서 열이 어긋나, 이 글은 본문에 적힌 값만 썼습니다.
이어서 읽을 것
- 앞: 월드 모델 (Ha · Schmidhuber) · Dreamer (1세대) · MuZero
- 비교 대상: PPO · Rainbow
- 같은 트랙: Genie · Cosmos · Eureka
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 월드 모델(world model) | 환경이 어떻게 변할지 흉내 내는 신경망. 머릿속 시뮬레이터 |
| RSSM | 순환 상태와 확률적 표현을 함께 쓰는 월드 모델 구조 |
| 상상 롤아웃(imagination) | 실제 환경 대신 월드 모델 안에서 굴려 본 미래 궤적 |
| 액터 / 크리틱 | 행동을 고르는 신경망 / 상태의 가치를 매기는 신경망 |
| λ-반환값 | 가까운 미래 보상과 먼 미래 가치 추정을 섞은 목표값 |
| KL 발산 | 두 확률분포가 얼마나 다른지 재는 값 |
| free bits | KL이 일정 값 아래면 손실을 꺼서 표현이 너무 단순해지는 것을 막는 장치 |
| symlog | 부호를 지키며 큰 값을 로그로 눌러 주는 변환 |
| twohot | 연속 값을 가장 가까운 두 구간에 나눠 표시한 목표 벡터 |
| 리플레이 비율 | 모은 경험 한 단위당 몇 번 학습에 쓰는가 |
스스로 점검
- 반환값을 나눌 때 가 아니라 로 나누는 이유는? — 희소 보상에서 반환값 범위가 아주 작을 때 나누면 잡음이 크게 부풀기 때문입니다. 큰 반환값만 줄이고 작은 값은 그대로 둡니다.
- symlog를 쓰면 무엇이 좋아지나? — 보상 · 관측의 자릿수가 분야마다 크게 달라도 같은 눈금으로 학습할 수 있고, 음수도 다룰 수 있으며, 작은 값은 거의 그대로 남습니다.
- 마인크래프트 결과가 특별한 이유는? — 사람 데이터나 커리큘럼 없이, 기본 설정 그대로, GPU 한 장으로 희소 보상만 받아 다이아몬드까지 도달한 첫 알고리즘이기 때문입니다.
다음에 볼 것
이 글을 이해했다면 이어서 보면 좋은 항목입니다.
- Genie: 생성형 상호작용 환경 — 행동 라벨 없는 게임 영상만으로 조종 가능한 세계를 만드는 11B 월드 모델
출처
- 원문: arxiv.org/abs/2301.04104 (2023 · Danijar Hafner 외)
AI 원리부터 이해하기 · 피지컬 AI 모듈
피지컬 AI 모듈 학습
이 글은 피지컬 AI 모듈의 학습 자료입니다. 전체 26개 자료 중 24번째입니다.
출처·원문
원문 보기요약만