Robocikowo>ROBOCIKOWO
Architektura

Diffusion Policy

2023AktywnyAktualizacja: 23 czerwca 2026Opublikowany
Diffusion Policy to wzorzec uczenia polityki robota z demonstracji, w którym akcja jest generowana przez iteracyjny denoising warunkowany obserwacjami wizualnymi. Zaproponowany przez zespół Columbia/MIT/TRI (Chi et al., RSS 2023).
Kluczowa innowacja
Reprezentacja polityki wizuomotorycznej robota jako warunkowego procesu denoisingu (diffusion) zamiast bezpośredniej regresji akcji. Pozwala modelować wielomodalne rozkłady akcji eksperckich i stabilnie uczy się długich sekwencji ruchów z demonstracji.
Kategoria
Architektura
Poziom abstrakcji
Wzorzec
Poziom operacji
ModelTreningElement architekturySterowanie robotemInferencja
Zastosowania
Manipulacja przedmiotów w niestrukturyzowanym otoczeniu (chwyt, układanie, sortowanie)Zadania bimanualne wymagające koordynacji obu ramion robotaManipulacja deformowalna (składanie tkanin, gotowanie, kuchnia)Pretrening polityk wizuomotorycznych dla humanoidów (AGIBOT GO-1, π0, RDT)Sterowanie w środowiskach z wieloma poprawnymi strategiami (parking, omijanie przeszkód)Imitation learning z demonstracji teleoperacyjnych w skali (1000+ trajektorii)

Jak działa

(1) Trening: bierze sekwencję akcji ekspertckich a_0:T, dodaje szum gaussowski w K krokach (forward diffusion), trenuje sieć epsilon_theta(a_t, t, obserwacja) do przewidywania dodanego szumu. (2) Inferencja: startuje z czystego szumu a_K ~ N(0,I), iteracyjnie odszumia w K krokach używając schedulera DDPM lub DDIM, warunkując na bieżącej obserwacji o_t. (3) Wykonanie: z przewidzianej sekwencji T_p akcji wykonuje tylko pierwsze T_a (receding horizon), potem powtarza inferencję na nowej obserwacji.

Rozwiązany problem

Diffusion Policy rozwiązuje problem wielomodalnych demonstracji eksperckich w robotyce. Klasyczny behavior cloning regresją MSE uśrednia różne poprawne akcje dla tego samego stanu i produkuje akcje pomiędzy, które nie wykonują zadania. Diffusion Policy modeluje cały rozkład warunkowy akcji bezpośrednio, dzięki czemu jeden model uczy się wszystkich poprawnych strategii.

Kluczowe mechanizmy

Forward diffusion: stopniowe dodawanie szumu gaussowskiego do sekwencji akcji eksperckich w K krokach
Conditional denoising network: epsilon_theta(a_t, t, observation) — U-Net 1D lub Transformer
Conditioning na obserwacjach: FiLM (CNN) lub cross-attention (Transformer)
Iteracyjne sampling w inferencji: DDPM (K=100) lub DDIM (K=10-20) dla niższej latencji
Action chunking + receding horizon: predykcja T_p akcji, wykonanie T_a, re-plan
Position embedding czasu dyfuzji (sinusoidal) zwiększające pojemność warunkowania

Mocne strony i ograniczenia

Mocne strony
✓Natywne modelowanie wielomodalnych akcji bez założeń o liczbie trybów
✓Stabilność trenowania (denoising loss jest prosty i dobrze uwarunkowany)
✓Doskonałe wyniki na benchmarkach manipulacji (Push-T, Robomimic, RoboTwin)
✓Skaluje się dobrze do długich horyzontów dzięki action chunking + receding horizon
✓Plug-and-play architektura — działa zarówno z CNN jak i Transformer backbone
✓Otwarta referencyjna implementacja od Cheng Chi (Columbia) z modelami i datasetami
✓Stał się standardową bazą dla nowszych metod jak Octo, π0, RDT-1B
Ograniczenia
✗Wysoka latencja inferencji — K kroków odszumiania (10-100) zwiększa czas predykcji w porównaniu do jednoprzebiegowego MLP
✗Wymaga przyzwoitej ilości demonstracji (typowo 50-200 trajektorii per zadanie) — gorzej radzi sobie w few-shot regime
✗Nie modeluje języka natywnie — wymaga osobnego enkodera tekstu (np. CLIP) lub hybrydy z VLM
✗Wybór hiperparametrów (T_p, T_a, K, scheduler) wymaga empirycznego dostrajania per task
✗Brak natywnego wsparcia dla onlineowego dostrajania (RL fine-tuning to aktywne pole badań)
✗Większa pamięć GPU vs jednowarstwowy policy MLP — szczególnie dla Transformer wariantu

Komponenty

Denoising NetworkNajważniejszy komponent — uczy się odwracać proces dyfuzji w przestrzeni akcji warunkowany obserwacjami.

Sieć neuronowa epsilon_theta(a_t, t, obs) przewidująca szum dodany do sekwencji akcji w kroku t. W oryginalnej pracy: 1D U-Net (CNN) z warunkowaniem FiLM lub Transformer z cross-attention nad obserwacjami.

1D U-Net z FiLMKonwolucje 1D nad osią czasu akcji; warunkowanie FiLM na embeddingu obserwacji.
Transformer encoder-decoderCross-attention między embeddingiem obserwacji a sekwencją odszumianej akcji. Lepiej skalowalny dla długich horyzontów.

Oficjalna

Noise SchedulerKontroluje trade-off między jakością predykcji a latencją inferencji.

Algorytm definiujący trajektorię szumu w forward diffusion (beta schedule: linear, cosine) oraz strategię samplingu w inferencji (DDPM iteracyjny, DDIM deterministyczny i skrócony do K=10-20 kroków).

DDPMIteracyjny stochastyczny sampling z K=100 kroków — wysoka jakość, wysoka latencja.
DDIMDeterministyczny sampling przyspieszony do K=10-20 kroków bez utraty jakości w wielu zadaniach.

Oficjalna

Observation EncoderDostarcza kontekstu wizualnego, na którym warunkowane jest generowanie akcji.

Pre-treniowany backbone wizji (ResNet-18/50, ViT, CLIP) przetwarzający obrazy z kamer i stan robota na zwarty wektor warunkowania dla denoising network.

Oficjalna

Implementacja

Pułapki implementacyjne
Wysoka latencja inferencjiWysoka

K kroków odszumiania (zwykle 10-100) wykonywanych sekwencyjnie znacząco zwiększa czas predykcji w porównaniu do jednowarstwowej polityki. Dla wysokich częstotliwości sterowania (50-100 Hz) staje się to wąskim gardłem.

Rozwiązanie:Użycie DDIM zamiast DDPM (K spada z 100 do 10-20), consistency models lub distillation do jednoetapowych przybliżeń. Działa też zmniejszenie częstotliwości replanowania (większe T_a w receding horizon).
Niewłaściwa normalizacja akcjiWysoka

Trening diffusion zakłada wejścia o zerowej średniej i jednostkowej wariancji. Surowe akcje robota (pozycje stawów, prędkości) mają różne skale i rozkłady — bez normalizacji denoising loss staje się niestabilny i model nie zbiega.

Rozwiązanie:Obliczyć statystyki akcji per-wymiar na zbiorze treningowym, znormalizować do [-1, 1] lub N(0, 1), zapisać statystyki obok modelu i denormalizować w inferencji. Standardowy preprocessing w referencyjnej implementacji.
Niewłaściwy dobór horyzontu predykcji T_p i wykonania T_aŚrednia

Zbyt mały T_p (np. 1 akcja) traci stabilność charakterystyczną dla DP i sprowadza ją do standardowego policy. Zbyt duży T_p zwiększa rozmiar wyjścia bez korzyści, a duże T_a (zbyt rzadkie re-planowanie) sprawia że robot ignoruje nowe obserwacje.

Rozwiązanie:Standardowy punkt startowy z pracy Chi et al.: T_o=2 (obserwacje), T_p=16 (predykcja), T_a=8 (wykonanie). Dla zadań długoterminowych zwiększyć T_p; dla precyzyjnych zmniejszyć T_a.
Niewystarczająca ilość lub jakość demonstracjiŚrednia

Diffusion Policy wymaga typowo 50-200 trajektorii per zadanie dla solidnej zbieżności. Niekonsekwentne demonstracje lub błędy w teleoperacji są kodowane jako prawdopodobne mody rozkładu — model uczy się ich wiernie.

Rozwiązanie:Adversarial Data Collection (ADC, AgiBot 2025) lub data filtering. Test collection-execution consistency: replay zebranych trajektorii na robocie i odrzucenie tych z odchyleniem > epsilon.

Ewolucja

Oryginalny paper · 2023 · Robotics: Science and Systems (RSS) 2023 · Cheng Chi
Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
Cheng Chi, Siyuan Feng, Yilun Du, Zhenjia Xu, Eric Cousineau, Benjamin Burchfiel, Shuran Song
2020
DDPM — Denoising Diffusion Probabilistic Models (Ho et al.)

Praca Ho, Jain, Abbeel definiująca probabilistyczny framework diffusion dla generowania obrazu — fundament matematyczny, na którym później oparto Diffusion Policy.

2022
IBC (Implicit Behavior Cloning, Florence et al.)

Energy-based policy uczona porównawczo (InfoNCE) — bezpośredni poprzednik Diffusion Policy w idei modelowania niejawnej gęstości warunkowej zamiast regresji. Diffusion Policy poprawia stabilność i jakość względem IBC.

2023
Chi et al. publikują Diffusion Policy na RSS 2023
Punkt przełomowy

Artykuł Diffusion Policy: Visuomotor Policy Learning via Action Diffusion (arXiv 2303.04137) wprowadza diffusion jako schemat polityki robota. Otwarta implementacja referencyjna (diffusion-policy.github.io) szybko staje się standardem w społeczności robot learningu.

2024
Octo, RDT-1B, OpenVLA — Diffusion Policy w skali foundation modeli
Punkt przełomowy

Octo (Berkeley) i RDT-1B (Tsinghua) skalują Diffusion Policy do miliardowych parametrów i pretreningu na Open X-Embodiment. OpenVLA łączy LLaMA-2 7B z action head bazującym na diffusion. Diffusion Policy przestaje być pojedynczym podejściem i staje się standardowym blokiem foundation modeli robotyki.

2024
Physical Intelligence π0 — flow matching jako następca

Physical Intelligence publikuje π0, w którym diffusion zostaje zastąpiony przez flow matching (continuous normalizing flows). Argumentowana zaleta to jednoetapowa inferencja zamiast iteracyjnego samplingu. Pokazuje to początek tendencji odchodzenia od iteracyjnych metod ku ciągłym.

2025
AGIBOT GO-1, GO-1 Air — hybrydy z Latent Planner + Action Diffusion

Foundation modele robotyki w produkcji (GO-1 dla humanoidów AgiBot G1/G2) używają diffusion w action head jako standardowego, sprawdzonego komponentu. Architektura Diffusion Policy jest dziś wbudowanym standardem, a nie eksperymentalnym podejściem.

Wąskie gardło obliczeniowe

Iteracyjny sampling w inferencji

Główny koszt inferencji Diffusion Policy to K forward passes przez sieć odszumiającą (typowo K=10 z DDIM, K=100 z DDPM). Dla manipulatora pracującego na 10 Hz, K=10 z prostym U-Net 1D na RTX 4090 jest realistyczne; K=100 wymaga DDIM lub dystylacji. Trening dominują standardowe koszty backpropu przez U-Net/Transformer.

Równoległość

Poziom równoległości
Częściowo równoległy

Trening jest masowo równoległy: każdy krok dyfuzji można uczyć niezależnie na różnych próbkach w batchu, data-parallel skaluje się liniowo. Inferencja jest natomiast SEKWENCYJNA z natury — każdy krok denoisingu zależy od wyniku poprzedniego, więc K kroków musi zostać wykonanych po kolei. To największe ograniczenie latencji.

Zakres
training_only

Wymagania sprzętowe

aiArchitecture.profile.fitLevel.excellent

Trening masowo równoległy na GPU. Inferencja K kroków denoising też dobrze mapuje się na GPU dzięki batchowaniu wielu agentów lub równoległych predykcji.

Dobry fit

Lekka wersja DP (U-Net 1D, DDIM K=10) działa na Jetson AGX Orin / Thor z latencją <30 ms dla 7-DoF manipulatora. Wymagana kwantyzacja INT8 dla cięższych modeli Transformer.

Ograniczony

Iteracyjny denoising na CPU jest zbyt wolny dla sterowania robotem w czasie rzeczywistym (>200 ms latencji per inferencja).