Open Source Robotics

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

Soft Actor-Critic

  • Detto anche: SAC
  • Categoria: Learning & autonomy › RL & simulation
  • Tag: reinforcement-learning, off-policy, actor-critic, maximum-entropy, robot-learning, continuous-control

Un algoritmo di apprendimento per rinforzo off-policy che addestra una policy stocastica a massimizzare sia la ricompensa sia l'entropia delle azioni, riutilizzando l'esperienza passata da un replay buffer per essere efficiente in termini di campioni.

Definizione

Soft Actor-Critic (SAC) è un algoritmo di apprendimento per rinforzo off-policy di tipo actor-critic per spazi di azione continui, presentato da Tuomas Haarnoja e colleghi nel 2018. Si basa sul quadro della massima entropia: invece di massimizzare solo la ricompensa attesa, la policy massimizza la ricompensa più un bonus per l'entropia, cioè la casualità, delle proprie azioni. Un parametro di temperatura stabilisce l'equilibrio tra i due. Il termine di entropia incoraggia un'esplorazione ampia e scoraggia la policy dal collassare presto su un unico comportamento.

SAC apprende una policy stocastica (l'actor), di solito una gaussiana i cui campioni vengono compressi con una funzione tanh per rispettare i limiti delle azioni, e due critic di tipo Q-function. Prendere il minimo dei due critic nel calcolo dei target di apprendimento riduce il bias di sovrastima comune nel Q-learning, una tecnica condivisa con l'algoritmo TD3, e le reti target aggiornate lentamente stabilizzano l'apprendimento. Una versione successiva di SAC regola automaticamente la temperatura per mantenere l'entropia della policy vicina a un obiettivo scelto, eliminando uno degli iperparametri più sensibili.

Poiché SAC è off-policy, ogni transizione vissuta dal robot viene memorizzata in un replay buffer e riutilizzata per molti aggiornamenti del gradiente. Questo lo rende notevolmente più efficiente in termini di campioni rispetto ai metodi on-policy come PPO, che scartano i dati dopo ogni aggiornamento. Questa proprietà ha fatto di SAC una scelta comune per apprendere direttamente su robot fisici, dove ogni minuto di interazione costa tempo e usura, e per compiti in cui la simulazione è lenta o non disponibile.

I compromessi riguardano il calcolo e la scalabilità. SAC esegue molti aggiornamenti della rete per ogni passo dell'ambiente e storicamente ha tratto meno vantaggio di PPO dalla simulazione massivamente parallela su GPU, dove i dati nuovi costano poco. L'addestramento può anche diventare instabile in spazi di azione ad alta dimensionalità o con reti grandi, e la ricerca in corso studia come scalare metodi off-policy come SAC a molti ambienti paralleli e a robot con molti giunti.

Perché è importante

SAC ha reso praticabile l'apprendimento per rinforzo profondo in contesti in cui i dati sono costosi, compreso l'apprendimento direttamente su hardware robotico reale. Resta uno dei riferimenti standard per il controllo continuo, e la sua formulazione regolarizzata con l'entropia influenza molti metodi successivi off-policy e basati su modello.

Applicazioni principali

  • Apprendimento su hardware reale — addestrare abilità di manipolazione e locomozione con un tempo limitato sul robot
  • Benchmark di controllo continuo — un riferimento standard per compiti robotici simulati
  • Manipolazione — apprendere policy di presa, spinta e inserimento con ricompense sparse o sagomate
  • Fine-tuning di policy preaddestrate — migliorare policy ottenute con behavior cloning tramite apprendimento per rinforzo online
  • Controllo di veicoli e droni — apprendere comandi continui di sterzata e spinta

In pratica

Un team che usa SAC di solito incapsula il robot o il simulatore in un'interfaccia di ambiente standard, sceglie un'implementazione di libreria come Stable-Baselines3 e imposta la dimensione del replay buffer, la dimensione del batch, i learning rate e il rapporto tra aggiornamenti del gradiente e passi dell'ambiente. Quando apprende su hardware, aggiunge limiti di sicurezza alle azioni, reset automatici e segnali di ricompensa misurabili dai sensori di bordo, e spesso inizializza il replay buffer con dimostrazioni o dati di esecuzioni precedenti. Gli ingegneri osservano la loss del critic, il valore della temperatura e l'entropia della policy; una temperatura che scende quasi a zero o stime del critic che crescono senza limite sono segnali comuni che l'addestramento va regolato.

Idee sbagliate comuni

  • SAC è sempre migliore di PPO — SAC è più efficiente in termini di campioni, ma PPO spesso addestra più velocemente in termini di tempo effettivo quando migliaia di ambienti simulati girano in parallelo
  • Il bonus di entropia rende casuale la policy finale — in esercizio si usa di solito l'azione media, e la regolazione automatica della temperatura abbassa l'entropia man mano che l'apprendimento procede
  • SAC gestisce le azioni discrete senza modifiche — l'algoritmo standard è pensato per azioni continue; le varianti discrete richiedono modifiche
  • Off-policy significa che va bene qualsiasi dato vecchio — dati lontani dal comportamento della policy corrente possono comunque causare stime di valore instabili, specialmente in contesti completamente offline

Chi dovrebbe saperlo

  • Ricercatori di apprendimento robotico che addestrano su hardware fisico
  • Professionisti dell'apprendimento per rinforzo che lavorano sul controllo continuo
  • Ingegneri di manipolazione che usano il fine-tuning online
  • Studenti che imparano i metodi actor-critic

Tecnologie correlate

  • Proximal Policy Optimization
  • TD3
  • Deep Deterministic Policy Gradient (DDPG)
  • Replay buffer
  • Apprendimento per rinforzo a massima entropia (Maximum Entropy Reinforcement Learning)
  • Stable-Baselines3

Termini correlati

  • Reinforcement Learning
  • Proximal Policy Optimization
  • Sim2Real

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

  • L5 DDPG and SAC (Foundations of Deep RL Series): Pieter Abbeel

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