Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Actor-Critic

  • Detto anche: actor-critic methods, actor-critic algorithm
  • Categoria: Learning & autonomy › RL & simulation
  • Tag: reinforcement-learning, policy-gradient, value-function, deep-learning, robot-learning

Una famiglia di metodi di apprendimento per rinforzo che addestrano insieme due parti: un actor, la policy che sceglie le azioni, e un critic, una funzione di valore appresa usata per valutare e migliorare quelle azioni.

Definizione

I metodi actor-critic sono una famiglia di algoritmi di apprendimento per rinforzo che combinano l'apprendimento della policy con l'apprendimento del valore. L'actor è la policy, una funzione che associa allo stato o all'osservazione corrente un'azione o una distribuzione sulle azioni. Il critic è una stima appresa di quanto siano buoni gli stati o le azioni: una funzione di valore dello stato V(s), una funzione di valore dell'azione Q(s, a) o una funzione di vantaggio che misura quanto un'azione sia migliore della media della policy. Il critic viene addestrato dall'esperienza, di solito con l'apprendimento per differenze temporali, e l'actor viene aggiornato nella direzione che secondo il critic aumenterà il ritorno atteso.

L'idea risale al lavoro di Barto, Sutton e Anderson del 1983 sull'imparare a bilanciare un pendolo, e Konda e Tsitsiklis hanno fornito un'analisi formale degli algoritmi actor-critic e della loro convergenza intorno al 2000. La motivazione è la riduzione della varianza. I metodi puri di policy gradient come REINFORCE pesano ogni azione con l'intero ritorno osservato, che è molto rumoroso; sostituire quel ritorno con la stima di un critic, o sottrarre una baseline appresa per formare un vantaggio, dà aggiornamenti a varianza molto più bassa al prezzo di una certa distorsione dovuta agli errori del critic. Tecniche come la generalized advantage estimation permettono all'utente di regolare questo compromesso tra distorsione e varianza.

La maggior parte dell'apprendimento per rinforzo profondo usato in robotica è actor-critic. Le varianti on-policy come A2C e la proximal policy optimization (PPO) addestrano un actor stocastico con una baseline di valore appresa e sono molto usate per la locomozione in simulazione massicciamente parallela. Le varianti off-policy come DDPG, TD3 e soft actor-critic (SAC) apprendono una Q-function da un replay buffer e aggiornano l'actor seguendo il gradiente del critic, il che usa i dati in modo più efficiente e si adatta all'addestramento su hardware reale. Poiché il critic serve solo durante l'addestramento, può usare informazioni che l'actor distribuito non vede mai, ed è questa la base dell'addestramento actor-critic asimmetrico.

Perché è importante

La struttura actor-critic è ciò che rende l'apprendimento per rinforzo profondo abbastanza stabile per il controllo dei robot. Sapere che cosa fa ciascuna parte spiega la maggior parte delle scelte pratiche di messa a punto, dai pesi della loss di valore e dalla normalizzazione del vantaggio fino al perché si può dare a un critic lo stato privilegiato del simulatore, ed è il vocabolario comune dietro PPO, SAC e le loro varianti.

Applicazioni principali

  • Policy di locomozione su gambe addestrate in simulazione con PPO
  • Apprendimento efficiente in termini di campioni su bracci robotici reali con SAC o TD3
  • Manipolazione fine in mano con critic a informazione privilegiata
  • Policy di controllo per droni e quadricotteri
  • Controllo della telecamera e del punto di vista appreso da segnali di ricompensa
  • Fine-tuning di policy preaddestrate con apprendimento per imitazione

In pratica

Un team addestra una policy di camminata per un quadrupede con PPO in un simulatore su GPU che esegue migliaia di ambienti in parallelo. L'actor è un piccolo percettrone multistrato che riceve osservazioni propriocettive e restituisce la media di una gaussiana sui target di posizione dei giunti. Il critic è una rete separata che riceve le stesse osservazioni più termini privilegiati come la vera velocità della base, le altezze del terreno e l'attrito, e predice il ritorno scontato atteso. Dopo ogni rollout, la generalized advantage estimation combina le predizioni del critic con le ricompense osservate, l'actor viene aggiornato con l'obiettivo PPO con clipping e il critic viene regredito verso i ritorni calcolati. Gli ingegneri osservano la varianza spiegata del critic: se resta bassa, i vantaggi sono per lo più rumore e l'actor smette di migliorare. Solo l'actor viene esportato sul computer di bordo del robot.

Idee sbagliate comuni

  • Il critic fa parte del controllore distribuito — sul robot gira solo l'actor; il critic esiste per addestrarlo
  • I valori del critic sono misure accurate del successo del compito — sono approssimazioni apprese che possono essere distorte, e la sovrastima della Q-function è un difetto noto che TD3 e SAC contrastano con critic gemelli
  • PPO non è un metodo actor-critic — le implementazioni standard di PPO addestrano una funzione di valore come baseline per i vantaggi, il che le rende actor-critic
  • Actor-critic è il nome di un singolo algoritmo — è una famiglia che comprende metodi on-policy e off-policy, stocastici e deterministici

Chi dovrebbe saperlo

  • Professionisti dell'apprendimento per rinforzo che lavorano su robot fisici
  • Ingegneri di locomozione e manipolazione che usano controllori appresi
  • Ricercatori di robot learning che progettano pipeline di addestramento
  • Studenti che passano dal controllo classico al controllo appreso

Tecnologie correlate

  • A2C e A3C
  • DDPG
  • TD3
  • Generalized Advantage Estimation
  • Stable-Baselines3
  • Isaac Lab

Termini correlati

  • Reinforcement Learning
  • Proximal Policy Optimization
  • Soft Actor-Critic
  • Asymmetric Actor-Critic
  • Markov Decision Process (MDP)

Progetti correlati

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim

Video

  • Actor Critic Algorithms: Siraj Raval
  • Everything You Need To Master Actor Critic Methods | Tensorflow 2 Tutorial: Machine Learning with Phil

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.