Open Source Robotics

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

Inverse Reinforcement Learning

  • Detto anche: IRL, inverse RL
  • Categoria: Learning & autonomy › Learning from demonstration
  • Tag: reward-learning, imitation-learning, reinforcement-learning, robot-learning, learning-from-demonstration

Apprendere la funzione di ricompensa che spiega il comportamento dimostrato da un esperto, così che poi si possa addestrare una policy a ottimizzare quella ricompensa con l'apprendimento per rinforzo o la pianificazione.

Definizione

Apprendimento per rinforzo inverso (IRL) (inverse reinforcement learning) rovescia il problema usuale dell'apprendimento per rinforzo. Invece di ricevere una ricompensa e dover trovare una buona policy, chi apprende riceve dimostrazioni di un buon comportamento e deve trovare una funzione di ricompensa rispetto alla quale quel comportamento sia ottimo o quasi. La ricompensa appresa viene poi usata per addestrare una policy, a volte in situazioni nuove o su un robot diverso, nell'ipotesi che la ricompensa colga l'intento del compito meglio delle azioni dimostrate. Andrew Ng e Stuart Russell hanno dato una prima trattazione formale del problema nel 2000.

Il problema è mal posto: molte funzioni di ricompensa spiegano lo stesso comportamento, compresa una ricompensa ovunque nulla. I metodi risolvono questa ambiguità in modi diversi. L'apprendimento per apprendistato (apprenticeship learning) fa coincidere i conteggi attesi delle feature di chi apprende con quelli dell'esperto. L'IRL a massima entropia, introdotto da Brian Ziebart e colleghi nel 2008, modella l'esperto come qualcuno che sceglie traiettorie con probabilità proporzionale all'esponenziale della loro ricompensa, il che dà una verosimiglianza ben definita e tollera dimostrazioni imperfette. I metodi avversariali addestrano un discriminatore a distinguere i dati dell'esperto da quelli prodotti dalla policy e usano la sua uscita come segnale di addestramento; GAIL lo fa senza restituire una ricompensa esplicita, mentre AIRL è progettato per recuperarne una.

L'IRL classico alterna l'aggiornamento della ricompensa e la soluzione di un problema completo di apprendimento per rinforzo rispetto a essa, il che è costoso. Per questo i sistemi robotici pratici usano spesso schemi più semplici di apprendimento della ricompensa, come ricompense basate sulla somiglianza con i fotogrammi delle dimostrazioni o classificatori addestrati su esempi di successo, mantenendo l'idea centrale di ricavare il segnale di addestramento da esempi. In teoria del controllo, il problema strettamente correlato di recuperare una funzione di costo da traiettorie ottime osservate si chiama controllo ottimo inverso.

Perché è importante

Scrivere a mano le ricompense per i compiti robotici è lento e soggetto a errori, e le policy sfruttano qualsiasi scarto tra la ricompensa e il comportamento voluto. L'IRL ricava invece le ricompense dalle dimostrazioni, che possono trasferirsi a condizioni in cui copiare le azioni dimostrate fallirebbe, e collega l'apprendimento per imitazione all'apprendimento per rinforzo.

Applicazioni principali

  • Apprendimento di ricompense per compiti di manipolazione a partire da dimostrazioni
  • Modellazione del comportamento di conducenti e pedoni per veicoli autonomi
  • Apprendimento di mappe di costo per la navigazione da percorsi di esperti
  • Inferenza delle preferenze umane nell'interazione uomo-robot
  • Fornitura di ricompense di addestramento per l'apprendimento per rinforzo su robot reali

In pratica

Un team vuole che un braccio robotico pulisca un tavolo come fa una persona. Registra un insieme di dimostrazioni in teleoperazione, poi addestra un modello di ricompensa insieme alla policy: un discriminatore impara a valutare le transizioni di stato come simili o no a quelle dell'esperto, e la policy viene addestrata con apprendimento per rinforzo in simulazione per massimizzare quel punteggio prima del fine-tuning sul robot. Per impedire alla policy di sfruttare i difetti della ricompensa appresa, il team regolarizza il discriminatore, aggiunge un piccolo termine scritto a mano per il completamento del compito ed esamina a occhio le esecuzioni. In seguito, quando sposta il compito su un tavolo di altezza diversa, la ricompensa appresa viene usata per valutare le esecuzioni della policy adattata.

Idee sbagliate comuni

  • L'IRL è la stessa cosa del behavior cloning — il behavior cloning copia direttamente le azioni, mentre l'IRL recupera una ricompensa e poi addestra una policy a ottimizzarla
  • La ricompensa recuperata è la ricompensa vera — molte ricompense spiegano le stesse dimostrazioni, e l'IRL ne restituisce una che si adatta ai dati secondo le proprie ipotesi
  • L'IRL richiede dimostrazioni perfette — le prime formulazioni assumevano esperti ottimi, ma l'IRL a massima entropia e i metodi successivi tollerano dimostrazioni rumorose o subottime

Chi dovrebbe saperlo

  • Ricercatori di apprendimento robotico
  • Ingegneri di apprendimento per rinforzo che progettano funzioni di ricompensa
  • Team di modellazione del comportamento per la guida autonoma
  • Ricercatori di interazione uomo-robot

Tecnologie correlate

  • IRL a massima entropia (Maximum Entropy IRL)
  • Generative Adversarial Imitation Learning (GAIL)
  • Adversarial Inverse Reinforcement Learning (AIRL)
  • Controllo ottimo inverso (Inverse Optimal Control)
  • Apprendimento per apprendistato (Apprenticeship Learning)

Termini correlati

  • Reinforcement Learning
  • Imitation Learning
  • Behavior Cloning
  • DAgger
  • Residual Reinforcement Learning

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

  • CS 285: Lecture 20, Inverse Reinforcement Learning, Part 1: RAIL
  • Inverse Reinforcement Learning Explained: Edan Meyer

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