Open Source Robotics

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

Curriculum Learning

  • Detto anche: curriculum training, task curriculum
  • Categoria: Learning & autonomy › RL & simulation
  • Tag: reinforcement-learning, robot-learning, training, simulation, locomotion

Una strategia di addestramento che propone a un sistema di apprendimento prima task o esempi più facili e aumenta gradualmente la difficoltà, così che possa padroneggiare abilità troppo difficili da apprendere da zero.

Definizione

Curriculum learning (apprendimento con curriculum) è la pratica di ordinare l'esperienza di addestramento dal facile al difficile invece di presentarla tutta insieme. L'idea rispecchia il modo in cui si insegna alle persone: uno studente impara l'aritmetica prima dell'analisi matematica. Nell'apprendimento automatico è stata formalizzata da Bengio et al. nel 2009, che hanno mostrato come un ordinamento ben scelto degli esempi possa accelerare l'addestramento e migliorare il risultato finale.

In robotica i curriculum sono più comuni nell'apprendimento per rinforzo, dove un agente che parte da un task molto al di sopra delle sue capacità potrebbe non ricevere mai un segnale di ricompensa utile. Un curriculum mantiene l'agente al limite della sua competenza. La difficoltà si può aumentare lungo molti assi: la rugosità e la pendenza del terreno per un robot con gambe, l'altezza dei gradini per salire le scale, la distanza dall'obiettivo per la navigazione, la varietà di oggetti per la presa, l'intensità delle spinte esterne o quanto è sparsa la ricompensa.

I curriculum possono essere progettati a mano, con fasi fisse e soglie per passare oltre, oppure automatici. I curriculum automatici regolano la difficoltà in base alle prestazioni dell'agente, per esempio promuovendo un robot simulato a un terreno più difficile quando riesce e retrocedendolo quando fallisce. Tra le idee correlate ci sono la generazione automatica di obiettivi, in cui il sistema di addestramento propone obiettivi di difficoltà adeguata, e il self-play, in cui gli avversari migliorano insieme.

Un curriculum aggiunge scelte di progetto che possono andare male. Se la difficoltà cresce troppo in fretta, l'apprendimento si blocca; se cresce troppo lentamente, si spreca calcolo. Un curriculum che non raggiunge mai l'intera gamma di condizioni incontrate nell'impiego reale può lasciare la policy impreparata ad affrontarle.

Perché è importante

Molte abilità dei robot, come arrampicarsi, saltare o camminare su terreno accidentato, non si possono apprendere per tentativi ed errori da zero, perché un comportamento casuale non riesce quasi mai. Il curriculum learning rende queste abilità apprendibili costruendole per gradi, ed è un ingrediente standard dei controllori di locomozione addestrati in simulazione.

Applicazioni principali

  • Addestramento della locomozione con gambe su terreni progressivamente più difficili
  • Apprendimento di abilità di arrampicata e di salita delle scale
  • Task di navigazione con distanza dall'obiettivo o quantità di ostacoli via via crescenti
  • Task di manipolazione con varietà di oggetti o requisiti di precisione crescenti

In pratica

Nell'addestramento della locomozione su GPU, una configurazione comune è un curriculum di terreno: migliaia di robot simulati sono distribuiti su una griglia di tasselli di terreno ordinati per difficoltà, come pendenze, scale e tratti accidentati di altezza crescente. Ogni robot parte da tasselli facili; se in un episodio percorre abbastanza strada passa a tasselli più difficili, e se fallisce torna indietro. I team spesso eseguono curriculum paralleli sulla velocità comandata e sull'intensità dei disturbi, e registrano come i robot sono distribuiti tra i livelli di difficoltà come misura diretta dell'avanzamento dell'addestramento. Prima dell'impiego reale, valutano la policy finale ai livelli più difficili e in condizioni al di fuori del curriculum, per verificare che non sia stata messa a punto solo sulla scala di addestramento.

Idee sbagliate comuni

  • Un curriculum aiuta sempre — un curriculum progettato male può rallentare l'addestramento o sbilanciare la policy verso le condizioni che ha privilegiato
  • I curriculum devono essere progettati a mano — molti sistemi regolano la difficoltà automaticamente in base alle prestazioni misurate dell'agente
  • Il curriculum learning serve solo all'apprendimento per rinforzo — è stato formalizzato prima per l'apprendimento supervisionato e si applica anche lì

Chi dovrebbe saperlo

  • Professionisti dell'apprendimento per rinforzo
  • Ingegneri del controllo di robot con gambe
  • Progettisti di simulazioni e di ambienti di addestramento
  • Studenti di apprendimento automatico che lavorano sul robot learning

Tecnologie correlate

  • Apprendimento per rinforzo (Reinforcement Learning)
  • Isaac Lab
  • Domain Randomization
  • Modellazione della ricompensa (Reward Shaping)
  • Curriculum learning automatico (Automatic Curriculum Learning)
  • Self-Play

Termini correlati

  • Reinforcement Learning
  • Domain Randomization
  • Teacher-Student Training

Progetti correlati

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • 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

Video

  • Curriculum Learning in Deep Neural Networks: Connor Shorten
  • Teacher-Student Curriculum Learning: Connor Shorten

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