검색
← 모듈 로드맵

잠재 공간 상상으로 행동 학습 (Dreamer)

논문 · 전문가 · Danijar Hafner 외 3명 · 2019 · arXiv

원제 · Dream to Control: Learning Behaviors by Latent Imagination

월드 모델의 잠재 공간에서 상상한 궤적으로 가치 기울기를 역전파해 행동을 배우는 에이전트

먼저 알아야 할 것

액터-크리틱가치 함수와 TD(λ)재매개변수화(VAE)월드 모델 · 잠재 동역학순환 신경망

다루는 내용

Dreamer는 이미지에서 잠재 동역학 모델(RSSM)을 배우고, 그 잠재 공간에서 행동 모델로 H단계 상상 궤적을 굴립니다. 상상 끝 너머의 보상은 가치 모델과 λ-수익으로 채우고, 가치 추정을 전이 모델을 거쳐 행동 모델까지 역전파해 정책을 학습합니다. DeepMind Control Suite 이미지 과제 20개에서 500만 단계로 평균 823점을 내, 1억 단계를 쓴 D4PG(786)와 PlaNet(333)을 넘었습니다.

초록

저자가 쓴 초록을 옮긴 것입니다.

학습된 월드 모델은 에이전트의 경험을 요약해 복잡한 행동을 학습하기 쉽게 해 줍니다. 딥러닝 덕분에 고차원 감각 입력에서 월드 모델을 학습하는 일은 점점 가능해지고 있지만, 그 모델에서 행동을 끌어내는 방법은 여러 가지가 있을 수 있습니다. 이 논문은 오직 잠재 공간에서의 상상만으로 이미지 입력의 긴 시간 범위 과제를 푸는 강화학습 에이전트 Dreamer를 제시합니다. 학습한 월드 모델의 압축된 상태 공간에서 상상한 궤적을 따라, 학습한 상태 가치의 해석적 기울기를 거꾸로 전파해 행동을 효율적으로 학습합니다. 어려운 시각 제어 과제 20개에서 Dreamer는 데이터 효율, 계산 시간, 최종 성능 모두에서 기존 방법을 넘어섰습니다.

해설

잠재 공간 상상으로 행동 학습 (Dreamer)

이미지에서 배운 월드 모델의 작은 잠재 공간 안에서 미래를 '상상'하고, 상상한 궤적을 따라 가치의 기울기를 거꾸로 흘려 정책을 학습하는 에이전트입니다. 이미지 입력 제어 과제 20개에서 데이터 효율 · 계산 시간 · 최종 성능 모두 기존 방법을 넘었습니다.

항목내용
원제Dream to Control: Learning Behaviors by Latent Imagination
저자Danijar Hafner 외 3명 (토론토대 · Google Brain · DeepMind)
발표2019 · ICLR 2020 · arXiv 1912.01603
트랙 · 수준강화학습 · 심화
먼저 알면 좋은 것액터-크리틱, 가치 함수 · TD(λ\lambda), 변분 오토인코더 · 재매개변수화, 순환 신경망, 월드 모델

들어가기 전에

이 해설은 아래 내용을 안다고 보고 씁니다. 처음이라면 먼저 읽고 오면 수식과 손계산을 훨씬 쉽게 따라올 수 있습니다.

  • 월드 모델 — VAE · MDN-RNN · 작은 조종기로 나눈 에이전트, 모델이 만든 꿈속에서 학습해 실제로 옮김

한눈에 보기

  • 월드 모델로 "상상만 해서" 행동을 배우는 에이전트의 세 단계(모델 학습 → 상상 속 행동 학습 → 실제 환경에서 데이터 수집)를 알게 됩니다.
  • 상상 길이(horizon)가 짧으면 근시안이 되는 문제를 가치 모델로 어떻게 푸는지 이해합니다.
  • λ\lambda-수익(λ-return)이 여러 단계의 추정을 섞는 방법을 손으로 계산해 볼 수 있습니다.
  • '모델을 통과하는 해석적 기울기'가 REINFORCE류 기울기(A3C · PPO)와 무엇이 다른지 설명할 수 있습니다.

초록 (번역)

학습된 월드 모델은 에이전트의 경험을 요약해 복잡한 행동을 학습하기 쉽게 해 줍니다. 딥러닝 덕분에 고차원 감각 입력에서 월드 모델을 학습하는 일은 점점 가능해지고 있지만, 그 모델에서 행동을 끌어내는 방법은 여러 가지가 있을 수 있습니다. 이 논문은 오직 잠재 공간에서의 상상만으로 이미지 입력의 긴 시간 범위 과제를 푸는 강화학습 에이전트 Dreamer를 제시합니다. 학습한 월드 모델의 압축된 상태 공간에서 상상한 궤적을 따라, 학습한 상태 가치의 해석적 기울기를 거꾸로 전파해 행동을 효율적으로 학습합니다. 어려운 시각 제어 과제 20개에서 Dreamer는 데이터 효율, 계산 시간, 최종 성능 모두에서 기존 방법을 넘어섰습니다.

무엇을 풀었나

월드 모델(월드 모델 · PlaNet)이 있으면 실제 환경을 덜 쓰고도 배울 수 있습니다. 그런데 그 모델에서 행동을 어떻게 뽑아낼지가 문제였습니다.

  1. 정해진 길이만큼만 상상하면 근시안이 됩니다. 예를 들어 15단계 앞까지의 보상만 더해 최대화하면, 그 너머에 큰 보상이 있는 과제(막대를 휘둘러 세우는 acrobot · 깡충 뛰는 hopper)를 못 풉니다.
  2. 기울기를 안 쓰는 최적화에 기댔습니다. PlaNet은 매 순간 후보 행동열을 많이 뽑아 보는 온라인 계획(기울기 없는 최적화)을 썼고, 월드 모델 논문은 진화 전략을 썼습니다. 모델 오차에 강하지만, 신경망 모델이 줄 수 있는 해석적 기울기를 버리는 셈이고 계산도 무겁습니다.

Dreamer는 "상상 끝 너머의 보상은 가치 모델이 맡고, 정책은 모델을 통과하는 기울기로 곧장 배운다"는 방법으로 둘 다 풀려 했습니다.

핵심 아이디어

mermaid
flowchart LR
  D[경험 데이터셋] --> W[월드 모델 학습: 표현 · 전이 · 보상]
  W --> S[실제 기록에서 시작한 잠재 상태 s_t]
  S --> I[상상: 행동 모델로 H단계 앞까지 굴리기]
  I --> V[보상 · 가치 예측 → λ-수익 계산]
  V --> P[가치 기울기를 거꾸로 전파해 행동 모델 갱신]
  V --> C[가치 모델은 λ-수익에 회귀]
  P --> E[실제 환경에서 행동 → 새 경험 추가]
  E --> D

1. 잠재 동역학 모델 — 이미지 없이 앞을 내다보기

직관: 체스 고수가 판을 그림으로 떠올리지 않고 "기물 배치의 핵심"만으로 몇 수 앞을 읽는 것처럼, 화면을 다시 그리지 않고 작은 상태 벡터만으로 미래를 굴립니다(해설용 비유).

단계:

  1. 표현 모델이 이전 상태 · 이전 행동 · 지금 이미지를 보고 지금 상태 sts_t를 만듭니다.
  2. 전이 모델은 이미지를 보지 않고 이전 상태 · 행동만으로 다음 상태를 예측합니다. 상상할 때는 이것만 씁니다.
  3. 보상 모델이 상태에서 보상을 예측합니다.
표현: p(st∣st−1,at−1,ot),전이: q(st∣st−1,at−1),보상: q(rt∣st)\text{표현: } p(s_t \mid s_{t-1}, a_{t-1}, o_t), \qquad \text{전이: } q(s_t \mid s_{t-1}, a_{t-1}), \qquad \text{보상: } q(r_t \mid s_t)
기호뜻
oto_t지금 이미지 관측
sts_t모델 상태(잠재 벡터). 논문은 30차원 대각 가우시안 분포
pp실제 환경에서 샘플을 만드는 분포(관측을 봄)
qq상상을 위해 근사한 분포(관측을 안 봄)

왜 이렇게 했나: 잠재 상태는 메모리를 적게 차지해서 수천 개의 상상 궤적을 동시에 굴릴 수 있습니다. 이미지 공간에서 예측하는 것보다 훨씬 빠릅니다. 모델 학습 목표는 Dreamer와 별개로 고를 수 있어, 논문은 픽셀 재구성 · 대조 추정 · 보상 예측만 하기의 세 가지를 비교합니다. 기본값은 PlaNet과 같은 재구성 방식(순환 상태 공간 모델, RSSM)입니다.

재구성 목표는 관측 · 보상을 잘 설명하면서, 관측을 본 상태 분포가 관측을 안 본 전이 분포에서 멀어지지 않게 KL로 묶습니다.

JREC=E[∑t(ln⁡q(ot∣st)+ln⁡q(rt∣st)−KL(p(st∣st−1,at−1,ot) ∥ q(st∣st−1,at−1)))]\mathcal{J}_{\text{REC}} = \mathbb{E}\Big[\sum_t \big( \ln q(o_t \mid s_t) + \ln q(r_t \mid s_t) - \mathrm{KL}\big(p(s_t \mid s_{t-1}, a_{t-1}, o_t)\ \Vert\ q(s_t \mid s_{t-1}, a_{t-1})\big) \big)\Big]

KL 항은 "관측을 보고 고친 상태"와 "관측 없이 예측한 상태"가 가깝게 하라는 뜻입니다. 이 차이가 작아야 상상(관측 없는 예측)이 믿을 만해집니다.

2. 행동 모델과 가치 모델 — 상상 끝 너머까지 보기

직관: 바둑을 15수까지만 읽어도, 15수 뒤 판의 형세를 "이 정도면 유리하다"고 평가할 줄 알면 그 너머를 다 읽은 것과 비슷한 판단을 할 수 있습니다. 가치 모델이 그 형세 판단 역할입니다.

단계:

  1. 과거 경험 배치에서 뽑은 실제 상태 sts_t들에서 상상을 시작합니다.
  2. 행동 모델 qϕ(aτ∣sτ)q_\phi(a_\tau \mid s_\tau)로 행동을 뽑고 전이 모델로 다음 상태를 만들어 HH단계 굴립니다.
  3. 각 상상 상태에서 보상과 가치 vψ(sτ)v_\psi(s_\tau)를 예측합니다.
  4. 이들을 섞어 가치 추정 VλV_\lambda를 만듭니다(아래).
  5. 행동 모델은 VλV_\lambda가 커지도록, 가치 모델은 VλV_\lambda를 맞추도록 갱신합니다.
max⁡ϕ E[∑τ=tt+HVλ(sτ)],min⁡ψ E[∑τ=tt+H12∥vψ(sτ)−Vλ(sτ)∥2]\max_\phi\ \mathbb{E}\Big[\sum_{\tau=t}^{t+H} V_\lambda(s_\tau)\Big], \qquad \min_\psi\ \mathbb{E}\Big[\sum_{\tau=t}^{t+H} \tfrac{1}{2}\big\lVert v_\psi(s_\tau) - V_\lambda(s_\tau)\big\rVert^2\Big]
기호뜻
qϕ(aτ∣sτ)q_\phi(a_\tau \mid s_\tau)행동 모델(정책). tanh로 변환한 가우시안을 냅니다
vψ(sτ)v_\psi(s_\tau)가치 모델. 그 상태에서 앞으로 받을 상상 보상의 기댓값
HH상상 길이. 논문 기본값 15
VλV_\lambda여러 단계 추정을 섞은 가치 목표(목표 쪽은 기울기를 멈춤)

왜 '해석적 기울기'인가: 가치 추정은 보상 · 가치 예측에, 그것은 상상 상태에, 상상 상태는 상상 행동에 달려 있습니다. 모두 신경망이므로 VλV_\lambda에서 행동 모델 매개변수까지 역전파로 곧장 미분할 수 있습니다. 행동 샘플링은 재매개변수화(reparameterization) — "평균 + 표준편차 × 잡음"처럼 써서 무작위성을 바깥으로 빼는 기법 — 로 미분 가능하게 만듭니다.

A3C · PPO 같은 REINFORCE 계열은 "좋았던 행동의 확률을 높여라"라는 점수 함수 기울기를 쓰고, 분산을 줄이려 가치를 기준선으로만 씁니다. DDPG · SAC는 Q값의 기울기를 쓰지만 한 단계짜리입니다. Dreamer는 여러 단계의 전이 모델을 통과하는 기울기를 쓴다는 점이 다릅니다. 논문은 학습하는 동안 월드 모델은 고정한다고 밝힙니다.

3. λ-수익 — 짧은 추정과 긴 추정을 섞기

직관: 날씨 예보를 할 때 "내일 예보"와 "모레까지 본 예보", "일주일 예보"를 적당히 섞으면, 하나만 믿는 것보다 덜 흔들리고 덜 치우칩니다.

먼저 kk단계까지는 상상 보상을 더하고, 그 뒤는 가치 모델로 채운 추정을 만듭니다.

VNk(sτ)=E[∑n=τh−1γ n−τrn+γ h−τvψ(sh)],h=min⁡(τ+k, t+H)V_N^k(s_\tau) = \mathbb{E}\Big[\sum_{n=\tau}^{h-1} \gamma^{\,n-\tau} r_n + \gamma^{\,h-\tau} v_\psi(s_h)\Big], \quad h = \min(\tau + k,\ t + H)

그다음 여러 kk를 지수 가중 평균합니다.

Vλ(sτ)=(1−λ)∑n=1H−1λ n−1VNn(sτ)+λ H−1VNH(sτ)V_\lambda(s_\tau) = (1-\lambda) \sum_{n=1}^{H-1} \lambda^{\,n-1} V_N^n(s_\tau) + \lambda^{\,H-1} V_N^H(s_\tau)
기호뜻
VNkV_N^kkk단계 보상 + 그 뒤 가치 모델 값. kk가 작으면 가치 모델에 더 기대(치우침↑, 분산↓)
λ\lambda섞는 비율. 논문 값 0.95
γ\gamma할인율. 논문 값 0.99

왜 이렇게 했나: 상상 보상만 더하는 VRV_R은 가치 모델이 필요 없지만 상상 끝 너머를 무시합니다(논문의 비교 실험 '가치 없음'). VNkV_N^k 하나만 쓰면 kk 선택에 따라 치우침과 분산 사이에서 한쪽으로 기웁니다. λ\lambda로 섞으면 둘 사이 균형을 잡을 수 있습니다.

숫자로 해 보기(해설용 예): H=3H=3, γ=1\gamma=1, λ=0.5\lambda=0.5라 합시다. 상상 보상이 매 단계 1이고, 가치 모델이 v(sτ+1)=3v(s_{\tau+1})=3, v(sτ+2)=4v(s_{\tau+2})=4, v(sτ+3)=6v(s_{\tau+3})=6을 냈습니다.

  • VN1=1+3=4V_N^1 = 1 + 3 = 4
  • VN2=1+1+4=6V_N^2 = 1 + 1 + 4 = 6
  • VN3=1+1+1+6=9V_N^3 = 1 + 1 + 1 + 6 = 9
  • Vλ=0.5×(1×4+0.5×6)+0.52×9=3.5+2.25=5.75V_\lambda = 0.5 \times (1 \times 4 + 0.5 \times 6) + 0.5^2 \times 9 = 3.5 + 2.25 = 5.75

가중치 0.5+0.25+0.25=10.5 + 0.25 + 0.25 = 1이므로 제대로 된 평균입니다.

4. 실제 환경에서 데이터 모으기

단계: 무작위 행동으로 에피소드 5개를 모아 시작합니다 → 학습 100단계마다 에피소드 1개를 새로 모읍니다 → 행동 모델의 최빈 행동에 정규분포 N(0,0.3)\mathcal{N}(0, 0.3) 탐험 잡음을 더해 실행합니다 → 행동 반복(action repeat)은 모든 과제에서 2로 고정합니다.

왜 이렇게 했나: PlaNet은 환경마다 행동 반복 값을 따로 골랐는데, Dreamer는 같은 하이퍼파라미터를 모든 연속 제어 과제에 쓰기 위해 고정했습니다. 논문은 상태 가치 모델에 타깃 네트워크나 엔트로피 보너스가 필요하지 않았다고 밝힙니다.

5. 학습 설정 (논문 기준)

  • 시퀀스 길이 50짜리 50개를 한 배치로, Adam 학습률은 월드 모델 6×10−46\times10^{-4}, 가치 · 행동 모델 8×10−58\times10^{-5}
  • 기울기 노름이 100을 넘으면 줄이고, KL은 PlaNet처럼 3 free nats 아래로 자름
  • 그 밖의 함수는 크기 300짜리 완전연결층 3개(ELU)
  • GPU(V100) 1개 · CPU 10코어로, 환경 10610^6단계에 약 3시간(PlaNet 11시간, D4PG가 비슷한 성능에 24시간)

결과

DeepMind Control Suite의 이미지 입력 과제 20개(행동 1~12차원, 에피소드 1000단계)에서 평가했습니다.

방법입력환경 단계20개 과제 평균 점수
A3C상태(proprio)10810^8243.70
D4PG픽셀10810^8786.32
PlaNet (행동 반복 2로 재실행)픽셀5×1065 \times 10^6332.97
Dreamer픽셀5×1065 \times 10^6823.39
  • 모델 프리 최고 기록인 D4PG보다 20분의 1의 환경 단계로 더 높은 평균을 냈습니다.
  • 상상 길이 실험: 가치 모델이 있으면 상상 길이가 바뀌어도 성능이 덜 흔들리고, 짧은 길이에서도 잘 됩니다. 길이 20에서 가치 없는 행동 모델 · PlaNet과 비교하면 20개 중 16개에서 앞서고 4개는 비겼습니다.
  • 표현 학습 비교: 픽셀 재구성이 대부분 과제에서 가장 좋았고, 대조 추정은 약 절반의 과제를 풀었으며, 보상 예측만으로는 부족했습니다.
  • 이산 행동 · 조기 종료가 있는 아타리 일부와 DeepMind Lab 단계에도 적용할 수 있음을 보였습니다(이산 행동은 상상 길이 10 등 설정을 바꿈).

왜 중요한가 · 이후 영향

  • "상상 속 액터-크리틱"의 표준을 세웠습니다. 월드 모델 + 상상 궤적 + 가치 모델 + 해석적 기울기라는 구성은 이후 Dreamer 계열 후속 연구로 이어졌습니다.
  • 데이터 효율과 계산 효율을 함께 잡았습니다. 온라인 계획(PlaNet)보다 빠르고, 모델 프리(D4PG)보다 훨씬 적은 데이터로 더 좋은 점수를 냈습니다.
  • 표현 학습과 행동 학습을 분리했습니다. 월드 모델의 학습 목표를 바꿔 끼울 수 있어, 표현 학습이 좋아지면 Dreamer 성능도 오를 것이라는 연구 방향을 제시했습니다.
  • MuZero와 대비됩니다. MuZero는 보상 · 가치만 맞추는 모델을 쓰지만 많은 경험이 필요하다고 논문은 지적합니다. 실제로 Dreamer 실험에서도 보상 예측만으로 학습한 모델은 부족했습니다.

한계 · 주의할 점

  • 월드 모델 품질에 전부 기댑니다. 학습 중 월드 모델을 고정하고 그 안에서만 정책을 배우므로, 모델이 틀린 곳에서는 정책이 모델의 허점을 파고들 수 있습니다.
  • 픽셀 재구성 의존. 가장 좋은 결과는 화면 전체를 다시 그리는 목표에서 나왔습니다. 저자들도 더 복잡한 시각 환경으로 넓히려면 표현 학습이 발전해야 한다고 봅니다.
  • 실험 범위. 주된 평가는 시뮬레이션 연속 제어 20개 과제이고, 이산 행동은 일부 게임에서만 보였습니다.
  • 해석적 기울기의 함정. 긴 궤적을 통과하는 역전파는 일반적으로 기울기 폭주 · 소실 위험이 있습니다. 논문은 기울기 노름 자르기 · 상상 길이 15 같은 설정으로 다룹니다.

이어서 읽을 것

용어 정리

용어쉬운 뜻
잠재 상상(latent imagination)이미지를 만들지 않고 잠재 상태만으로 미래를 굴려 보는 것
상상 길이(imagination horizon) HH한 번 상상할 때 몇 단계 앞까지 굴리는가
행동 모델 · 가치 모델액터(정책)와 크리틱(가치 추정)의 Dreamer식 이름
λ\lambda-수익여러 길이의 추정을 지수 가중으로 섞은 가치 목표
해석적 기울기(analytic gradient)미분 가능한 모델을 통과해 역전파로 정확히 계산한 기울기
재매개변수화무작위 샘플을 "결정적 함수 + 외부 잡음"으로 바꿔 미분 가능하게 하는 기법
RSSM결정적 순환 상태와 확률적 상태를 함께 쓰는 순환 상태 공간 모델(PlaNet)
행동 반복(action repeat)고른 행동을 몇 프레임 동안 그대로 유지하는가

스스로 점검

  1. 상상 보상만 최대화하는 에이전트가 acrobot 같은 과제에서 실패하는 이유는?

    — 상상 길이 너머에 있는 보상을 보지 못해 근시안적으로 행동하기 때문입니다. Dreamer는 상상 끝 상태의 가치를 가치 모델로 채워 이 문제를 줄입니다.

  2. Dreamer의 정책 기울기는 PPO의 정책 기울기와 무엇이 다른가?

    — PPO는 행동 확률의 로그 기울기에 이득을 곱하는 점수 함수 기울기이고, Dreamer는 재매개변수화한 행동 → 전이 모델 → 보상 · 가치 예측을 거쳐 가치 추정을 행동 모델 매개변수로 직접 미분합니다.

  3. λ\lambda를 0에 가깝게 두면 VλV_\lambda는 어떻게 되나?

    — 1단계 추정 VN1V_N^1(보상 1개 + 다음 상태 가치)에 거의 전부 가중치가 가서, 가치 모델에 크게 기대는(분산은 작고 치우침은 큰) 목표가 됩니다.

다음에 볼 것

이 글을 이해했다면 이어서 보면 좋은 항목입니다.

출처

AI 원리부터 이해하기 · 강화학습 모듈

강화학습 모듈 학습

이 글은 강화학습 모듈의 학습 자료입니다. 전체 31개 자료 중 28번째입니다.

AI 기초 과정은 현재 진도 저장을 지원하지 않습니다.

출처·원문

원문 보기

요약만

arXiv (논문별 상이)

arXiv 1912.01603