Robocikowo>ROBOCIKOWO
Architektura

RSSM

2019AktywnyOpublikowano: 8 czerwca 2026Aktualizacja: 8 czerwca 2026Opublikowany
Latentny model dynamiki używany w modelowo-opartym RL (PlaNet, seria Dreamer), łączący deterministyczny stan rekurencyjny i stochastyczny stan latentny.
Kluczowa innowacja
Połączenie deterministycznej rekurencji (GRU) z stochastyczną zmienną latentną w jednym modelu dynamiki latentnej, co umożliwia uczenie i planowanie z pikseli w modelowo-opartym RL (PlaNet, Dreamer).
Kategoria
Architektura
Poziom abstrakcji
Wzorzec
Poziom operacji
Element architekturyModel
Zastosowania
Modelowo-oparty RL z pikseli (PlaNet, Dreamer)Sterowanie robotem z wizjiLatent-space planning (CEM, MPC w wyobraźni)Uczenie polityk w wyobrażonych trajektoriachWorld models dla gier (DMC, Atari, Minecraft, Crafter)

Jak działa

W każdym kroku t encoder mapuje obserwację o_t do wektora cech. Deterministyczna ścieżka oblicza h_t = GRU(h_{t-1}, [s_{t-1}, a_{t-1}]). Stochastyczna ścieżka utrzymuje dwie głowice: prior p(s_t | h_t) (używany podczas „imagination" / planowania) oraz posterior q(s_t | h_t, e_t) (używany podczas trenowania na rzeczywistych obserwacjach). Dekoder rekonstruuje o_t z [h_t, s_t], a osobne głowice przewidują nagrodę i (w Dreamerze) wartość/politykę. Trening odbywa się przez maksymalizację ELBO: rekonstrukcja obserwacji i nagrody minus KL między posterior i prior. Po wytrenowaniu polityka i wartości uczą się w wyobrażonych trajektoriach generowanych z priora (rollouts w przestrzeni latentnej).

Rozwiązany problem

Czysto deterministyczne modele rekurencyjne mają problem z reprezentowaniem niepewności i stochastyczności środowiska, a czysto stochastyczne modele cierpią na zanik informacji w czasie. RSSM łączy oba podejścia, by uzyskać stabilną, długozakresową pamięć (h_t) oraz zdolność modelowania niepewności (s_t), co umożliwia skuteczne planowanie i uczenie polityk w przestrzeni latentnej z pikseli.

Komponenty

Deterministic recurrent state (GRU)Deterministyczna pamięć długozakresowa

Ukryty stan GRU aktualizowany jako h_t = GRU(h_{t-1}, [s_{t-1}, a_{t-1}]). Zapewnia stabilny przepływ informacji w czasie.

Oficjalna

Stochastic latent stateReprezentacja niepewności środowiska

Stochastyczna zmienna latentna z rozkładu warunkowego (zwykle diagonalnego Gaussa, w DreamerV2/V3 kategorycznego), reprezentująca stan obserwowalny.

Gaussian latent (PlaNet, DreamerV1)Diagonalny rozkład normalny.
Categorical latent (DreamerV2, DreamerV3)32 kategoryczne zmienne po 32 klasy, gradient przez straight-through.

Oficjalna

Transition priorPredykcja s_t bez obserwacji

Sieć p(s_t | h_t) używana podczas imagination/planowania, gdy nie ma dostępu do rzeczywistej obserwacji.

Representation posteriorInferencja s_t z obserwacji

Sieć q(s_t | h_t, e_t) wykorzystująca cechy obserwacji e_t = encoder(o_t). Używana podczas treningu.

Observation encoderMapuje obserwacje (np. obrazy) do cech

CNN dla pikseli lub MLP dla stanów; wyjście podawane do posterioru.

Observation decoderRekonstrukcja obserwacji z [h_t, s_t]

Transponowana CNN rekonstruująca o_t; gradient z błędu rekonstrukcji uczy reprezentację latentną.

Reward headPredykcja nagrody r_t z [h_t, s_t]

MLP przewidujący skalarną nagrodę dla aktualnego stanu.

Implementacja

Pułapki implementacyjne
Posterior collapseWysoka

Bez free nats lub KL balancing posterior s_t zapada się do prior i model traci zdolność reprezentacji obserwacji.

Rozwiązanie:Free nats (PlaNet) lub KL balancing (DreamerV2+).
Niedopasowanie prior–posteriorWysoka

Jeśli rollouty w wyobraźni używają priora znacznie różniącego się od posterioru, polityki uczone w wyobraźni nie przenoszą się na środowisko.

Rozwiązanie:KL balancing przesuwający aktualizacje silniej na prior; symlog/return normalization w DreamerV3.
Stabilność uczenia warstwy kategorycznej (DreamerV2/V3)Średnia

Gradient przez kategoryczny latent wymaga estymatora straight-through; nieuważne implementacje psują skalowanie gradientów.

Rozwiązanie:Użyć referencyjnej implementacji straight-through Gumbel-softmax z DreamerV2/V3.
Dominacja rekonstrukcji pikseliŚrednia

Loss rekonstrukcji obrazu może dominować nad sygnałem nagrody, prowadząc do reprezentacji nieprzydatnych dla polityki.

Rozwiązanie:Ważenie strat (loss scales) i normalizacja jak w DreamerV3; alternatywnie kontrastowe RSSM (DreamerPro).

Ewolucja

Oryginalny paper · 2019 · ICML 2019 · Danijar Hafner
Learning Latent Dynamics for Planning from Pixels
Danijar Hafner, Timothy Lillicrap, Ian Fischer, Ruben Villegas, David Ha, Honglak Lee, James Davidson
2018
PlaNet — preprint RSSM
Punkt przełomowy

Hafner i in. publikują preprint „Learning Latent Dynamics for Planning from Pixels" definiujący RSSM oraz CEM-planowanie w przestrzeni latentnej.

2019
Dreamer (DreamerV1)
Punkt przełomowy

Hafner i in. zastępują CEM-planowanie uczeniem aktora-krytyka w wyobraźni nad RSSM, wprowadzając rodzinę Dreamer.

2020
DreamerV2 — latent kategoryczny + KL balancing
Punkt przełomowy

Zamiana Gaussa na 32×32 kategoryczne zmienne latentne i wprowadzenie KL balancing umożliwiają osiągnięcie ludzkiego poziomu na Atari z pojedynczego GPU.

2023
DreamerV3 — uniwersalne hiperparametry
Punkt przełomowy

Jedna konfiguracja RSSM osiąga silne wyniki na 150+ zadaniach (DMC, Atari, Minecraft, Crafter) bez tuningu per-task.

2023
DreamerV3 — pierwsze zbieranie diamentu w Minecraft od zera

DreamerV3 z RSSM jako pierwszy algorytm autonomicznie zdobywa diament w Minecraft bez human data i bez curriculum.

Hiperparametry (konfigurowalne osie)

Deterministic state size (h)Wysoka

Rozmiar wektora ukrytego GRU (np. 200 w PlaNet, 600 w DreamerV1, 4096 w DreamerV3 large).

Stochastic state size (s)Wysoka

Wymiar Gaussa lub konfiguracja kategorialna (np. 32×32 w DreamerV2/V3).

KL balancing αWysoka

Współczynnik balansowania KL pomiędzy aktualizacją prior vs posterior (DreamerV2+).

Free natsŚrednia

Próg pomijania KL pod pewną wartością, zapobiega zapadnięciu się posterioru.

Imagination horizon HKrytyczna

Długość rollouts w wyobraźni używanych do treningu polityki (np. 15 w Dreamer).

Paradygmat wykonania

Tryb główny
Gęsty

Wszystkie głowice (deterministyczna, prior, posterior, decoder, reward) są aktywne dla każdego kroku.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
Sekwencyjny

Aktualizacja h_t = GRU(h_{t-1}, ...) jest z natury sekwencyjna w czasie. Wewnątrz batcha rollouty można zrównoleglać, ale po osi czasu nie da się zrównoleglić w sposób trywialny (w przeciwieństwie do uwagi w Transformerze).

Zakres
TreningInferencja

Wymagania sprzętowe

Podstawowe

Stosunkowo małe sieci, intensywne batchowane rolloty w wyobraźni — pojedynczy GPU klasy V100/A100 wystarcza do treningu DreamerV2/V3.

Dobry fit

Referencyjna implementacja DreamerV3 w JAX/XLA skaluje się dobrze na TPU.