Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Curriculum Learning

  • Auch genannt: curriculum training, task curriculum
  • Kategorie: Learning & autonomy › RL & simulation
  • Schlagwörter: reinforcement-learning, robot-learning, training, simulation, locomotion

Eine Trainingsstrategie, die einem lernenden System zuerst leichtere Aufgaben oder Beispiele gibt und die Schwierigkeit schrittweise erhöht, damit es Fähigkeiten meistern kann, die von Grund auf zu schwer zu lernen wären.

Definition

Curriculum Learning ist die Praxis, Trainingserfahrung von leicht nach schwer zu ordnen, statt sie auf einmal zu präsentieren. Die Idee spiegelt wider, wie Menschen unterrichtet werden: Ein Schüler lernt Arithmetik vor der Analysis. Im maschinellen Lernen wurde sie 2009 von Bengio et al. formalisiert, die zeigten, dass eine gut gewählte Reihenfolge der Beispiele das Training beschleunigen und das Endergebnis verbessern kann.

In der Robotik sind Curricula am häufigsten im Reinforcement Learning, wo ein Agent, der mit einer Aufgabe weit jenseits seiner Fähigkeiten beginnt, womöglich nie ein nützliches Belohnungssignal erhält. Ein Curriculum hält den Agenten an der Grenze seiner Kompetenz. Die Schwierigkeit lässt sich entlang vieler Achsen erhöhen: Rauheit und Neigung des Geländes für einen Laufroboter, Stufenhöhe beim Treppensteigen, Abstand zum Ziel bei der Navigation, Vielfalt der Objekte beim Greifen, Stärke äußerer Stöße oder wie spärlich die Belohnung ist.

Curricula können von Hand entworfen sein, mit festen Stufen und Schwellenwerten für das Weiterrücken, oder automatisch. Automatische Curricula passen die Schwierigkeit an die Leistung des Agenten an, indem sie etwa einen simulierten Roboter bei Erfolg auf schwierigeres Gelände befördern und bei Misserfolg zurückstufen. Verwandte Ideen sind die automatische Zielgenerierung, bei der das Trainingssystem Ziele passender Schwierigkeit vorschlägt, und Self-Play, bei dem sich Gegner gemeinsam verbessern.

Ein Curriculum fügt Entwurfsentscheidungen hinzu, die schiefgehen können. Steigt die Schwierigkeit zu schnell, stockt das Lernen; steigt sie zu langsam, wird Rechenleistung verschwendet. Ein Curriculum, das nie die volle Bandbreite der im Einsatz auftretenden Bedingungen erreicht, kann die Policy unvorbereitet auf diese lassen.

Warum es wichtig ist

Viele Roboterfähigkeiten wie Klettern, Springen oder Gehen auf unebenem Boden lassen sich nicht von Grund auf durch Versuch und Irrtum lernen, weil zufälliges Verhalten fast nie Erfolg hat. Curriculum Learning macht diese Fähigkeiten lernbar, indem es sie stufenweise aufbaut, und ist ein Standardbestandteil von in der Simulation trainierten Fortbewegungsreglern.

Wichtige Anwendungen

  • Training der Fortbewegung auf Beinen über zunehmend schwieriges Gelände
  • Lernen von Kletter- und Treppenfähigkeiten
  • Navigationsaufgaben mit allmählich wachsender Zieldistanz oder Hindernisdichte
  • Manipulationsaufgaben mit zunehmender Objektvielfalt oder steigenden Präzisionsanforderungen

In der Praxis

Im GPU-basierten Fortbewegungstraining ist ein Geländecurriculum ein üblicher Aufbau: Tausende simulierte Roboter werden über ein Raster von Geländekacheln verteilt, die nach Schwierigkeit geordnet sind, etwa Hänge, Treppen und raue Abschnitte zunehmender Höhe. Jeder Roboter beginnt auf leichten Kacheln; legt er in einer Episode genug Strecke zurück, wechselt er auf schwierigere Kacheln, scheitert er, geht er zurück. Teams lassen oft parallele Curricula für die befohlene Geschwindigkeit und die Störungsstärke laufen und protokollieren, wie sich die Roboter über die Schwierigkeitsstufen verteilen, als direktes Maß für den Trainingsfortschritt. Vor dem Einsatz bewerten sie die finale Policy auf den schwierigsten Stufen und unter Bedingungen außerhalb des Curriculums, um zu prüfen, dass sie nicht nur auf die Trainingsleiter abgestimmt ist.

Häufige Missverständnisse

  • Ein Curriculum hilft immer — ein schlecht entworfenes Curriculum kann das Training verlangsamen oder die Policy zu den Bedingungen hin verzerren, die es betont hat
  • Curricula müssen von Hand entworfen werden — viele Systeme passen die Schwierigkeit automatisch an die gemessene Leistung des Agenten an
  • Curriculum Learning gibt es nur im Reinforcement Learning — es wurde zuerst für überwachtes Lernen formalisiert und gilt auch dort

Wer das wissen sollte

  • Praktiker im Reinforcement Learning
  • Regelungsingenieure für Laufroboter
  • Entwickler von Simulations- und Trainingsumgebungen
  • Studierende des maschinellen Lernens, die sich mit Roboterlernen befassen

Verwandte Technologien

  • Reinforcement Learning
  • Isaac Lab
  • Domain Randomization
  • Reward Shaping
  • Automatisches Curriculum Learning (Automatic Curriculum Learning)
  • Self-Play

Verwandte Begriffe

  • Reinforcement Learning
  • Domain Randomization
  • Teacher-Student Training

Verwandte Projekte

  • 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

Videos

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

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.