
Ein Schritt-für-Schritt-Bericht einer menschlich kontrollierten DAgger-Runde auf einem SO-100 Arm: Policy ausführen und aufzeichnen, übernehmen wenn es schiefgeht, die Durchführung als Korrektur einordnen, einen gemischten Datensatz zusammenstellen und ab einem Checkpoint weitertrain. Enthält den Tastatur- und Schieberegler-Übergabeweg für Nutzer ohne Leader-Arm und die vier Fehler, die eine Runde wertlos machen.
Deine Policy läuft. Sie greift nach dem Würfel, schließt den Greifer einen Zentimeter zu früh und macht weiter, als hätte sie ihn. Nichts schlägt fehl und keine Menge Starren auf den Trainings-Loss erklärt es. Die Lösung ist nicht weitere 20.000 Gradient-Schritte auf denselben Demonstrationen. Sie besteht darin, deine Hand genau dort wieder auf den Arm zu legen, wo es schiefgeht, aufzuzeichnen, was du stattdessen getan hast, und den nächsten Checkpoint auf den alten Daten plus dieser Korrektur zu trainieren. Das ist eine DAgger-Runde und so läuft eine auf einem SO-100 ab mit einer Vision-Language-Action Policy.
Die Theorie findet sich anderswo: warum Datensatz-Aggregation überhaupt funktioniert und was menschliche Gating daran ändert. Das ist die Bedienungsanleitung und sie setzt einen trainierten Checkpoint, einen funktionierenden Kamerasatz und einen Arm voraus, der sich bewegt. Die sechs Schritte unten sind die Schleife wie auf der DAgger-Seite dieser Plattform implementiert, aber die Reihenfolge ist dieselbe von deinen eigenen Skripten.
Eine Runde kurz
- •Führe die trainierte Policy aus und zeichne sie auf, mit dem Task-Text der Durchführung statt eines generischen Teleoperation-Labels.
- •Übernimm im Moment, in dem das Verhalten schiefgeht: ein Spiegel-Handover mit einem Leader-Arm, sofort und manuell über Tastatur oder Schieberegler ohne einen.
- •Triagiere jede Durchführung: ordne sie als Korrektur ein, behalte sie als Evaluations-Episode oder verwerfe sie.
- •Stelle die Mischung von Hand zusammen – Original-Demonstrationen plus Korrektionen, Episoden gewählt nach Quelle. Trainiere niemals nur auf Korrektionen.
- •Setze das Training vom letzten Checkpoint fort und notiere, welcher Checkpoint welche Mischung produziert hat.
- •Die Zahl, die sagt, ob sich die Runde gelohnt hat, ist die intervention rate, nicht der Trainings-Loss.
Warum die zweite Runde nicht nur mehr Daten ist
Behavior Cloning trainiert auf den Zuständen, die ein Mensch besucht hat. Zur Testzeit besucht die Policy die Zustände, die sie verursacht, und kleine Aktionsfehler verstärken sich zu Zuständen, die keine Demonstration abdeckte. Ross, Gordon und Bagnell formalisierten diesen Fehler für AISTATS 2011 und beantworteten ihn mit einem iterativen Algorithmus, der eine stationäre deterministische Policy trainiert und unter ihrer Reduktion gut unter der Zustandsverteilung performen muss, die sie induziert: führe die aktuelle Policy aus, lasse den Expert die Zustände labeln, die sie tatsächlich erreicht, füge diese zum Datensatz hinzu, trainiere neu, wiederhole. Kelly et al. machten die Anfrage praktisch mit HG-DAgger, wo der Mensch entscheidet, wann er die Kontrolle übernimmt, statt Zustände ohne Greifen zu labeln; sie berichten verbesserte Performance sowohl über DAgger als auch Behavior Cloning auf einer simulierten und einer echten autonomen Fahraufgabe. Menschliches Gating ist das, was die Schleife auf einem Schreibtisch-Arm tolerabel macht – du bewegst deine Hände nur, wenn etwas schiefgeht.
Zwei Konsequenzen zählen in der Praxis mehr als die Theorie. Korrektionen sind keine gewöhnlichen Demonstrationen: sie konzentrieren sich an den Engpässen, die Mandlekar et al. beschreiben, wo eine kleine Abweichung die Policy in Zustände fallen lässt, die Demonstrationen nie abdeckten. Und ein Datensatz aus nur jenen schwierigen Teilen ist ein schlecht geformter Datensatz – Belkhale, Cui und Sadigh argumentieren von der Datenseite, dass Zustandsdiversität nicht immer vorteilhaft ist und dass Aktionsdivergenz und Übergangsdiversität zusammen Datensatz-Qualität entscheiden. Der gemischte Datensatz ist kein Kompromiss, er ist der Sinn.
Friere diese vor Runde eins ein
Eine DAgger-Runde vergleicht eine Policy gegen sich selbst über die Zeit. Alles, das du zwischen Runden änderst, das nicht der Datensatz ist, macht diesen Vergleich bedeutungslos.
- Kamerapositionen und Halterungen, Handgelenk-Kamera inbegriffen. Lockere eine Klemme und du hast die Beobachtungsverteilung verändert, nicht die Policy.
- Belichtung und Weißabgleich, wenn dein Erfassungs-Stack sie fixieren kann. Auto-Belichtungs-Drift zwischen Runden ist ein langsamer, unsichtbarer Domain-Shift.
- Arm-Kalibrierung und Servo-Null-Positionen. Wenn du neu kalibrieren musst, behandle alles, das davor aufgezeichnet wurde, als einen separaten Datensatz.
- Der Task-Text. Jede VLA hier hängt von ihm ab; es umzuformulieren mitten im Loop ist eine andere Aufgabe.
- Beleuchtung, Tischoberfläche, Objektsatz. Ein neues Objekt ist ein neues Experiment, nicht die nächste Runde.
- Die Aufnahme-Framerate. Vergleiche von intervention Rates über zwei Sampling-Raster hinweg führen zu Unterschieden, die vom Raster kommen.
Hsu et al. verglichen eine handzentrische Sicht gegen die übliche Third-Person-Sicht und fanden die Eye-in-Hand-Perspektive verbesserte konstant Trainings-Effizienz und Out-of-Distribution-Generalisierung, trotz weniger Sicht auf die Szene. Auf einem Fünf-Gelenk-Arm ist Greifer-Timing normalerweise das, was du mit deinen Korrektionen fixierst, und Greifer-Timing ist das, das die Handgelenk-Sicht trägt.
Die Runde, Ende zu Ende
- 1Führe Inferenz aus und zeichne auf
Starte die Durchführung gegen den Checkpoint, den du verbessern willst, starten dann die Aufzeichnung in die Inferenz-Root. Aufgezeichnet auf diese Weise erbt sie den Task-Text der Durchführung selbst, das ist das, worauf die Policy trainiert wurde, statt des Standard-Teleoperation-Labels. Ohne die Aufzeichnung kannst du den Fehler beobachten, aber nicht darauf trainieren.
bash# two calls, not one: the run, then its recording POST /inference/start # model_id, and hf_repo_id = the checkpoint to drive POST /recording/start # root=inference # root=inference also makes the recording inherit the run's task text - 2Übernimm wenn es schiefgeht
Drücke Take over und wähle den Input-Modus: Leader-Arm, Tastatur oder Schieberegler. Der Runner pausiert, du korrigierst, du gibst zurück. Frames aufgezeichnet, während du dich bewegst, sind automatisch als Interventionen markiert.
bashPOST /inference/takeover/start # input = leader | keyboard | sliders POST /inference/takeover/nudge # keyboard, relative delta per call POST /inference/takeover/set # sliders, absolute target POST /inference/takeover/stop # back to the policy - 3Triagiere die Episoden
Entscheide pro Episode: als Korrektur einordnen, als Evaluations-Episode behalten oder verwerfen. Eine Durchführung, die die Policy ohne Hilfe abgeschlossen hat, ist Evaluationsdaten.
- 4Synchronisiere den Korrektur-Datensatz
Korrektionen sammeln sich in einem lokalen Datensatz pro Policy und gehen durch automatische Synchronisation in Cloud-Speicher. Nichts wird vermischt, das du nicht dort hineingetan hast.
- 5Stelle den gemischten Datensatz zusammen
Kombiniere den Original-Datensatz mit dem Korrektur-Datensatz, wähle Episoden explizit pro Quelle. Das Ergebnis ist von diesem Punkt an ein gewöhnlicher Datensatz.
bashPOST /training/datasets/compose sources = [ original_dataset, korrekturen_<policy> ] episodes = explicit selection per source - 6Setze das Training vom Checkpoint fort
Trainiere die Mischung vom vorherigen Checkpoint statt vom Basis-Modell. Notiere, welcher Checkpoint und welche Mischung; ohne dieses Paar ist die Runde nicht reproduzierbar.
bash# field on the training job base_checkpoint = s3://ay-robots/checkpoints/<run>/<checkpoint> # the platform passes it to the training pod as BASE_CKPT_S3
Schritt 2 im Detail: die zwei Wege zum Übernehmen
Mit einem Leader-Arm
Im Leader-Follower Modus ist das Übernehmen ein Handover zwischen zwei Armen, die nicht in der gleichen Pose sind. Drücken Take over pausiert den Runner und treibt den Leader auf die aktuelle Pose des Follower, so dass nichts springt, wenn Drehmoment übergeht. Wenn diese Alignment-Fahrt einen Timeout erhält, richtest du den Leader von Hand aus und gibst nur frei, wenn die beiden innerhalb von fünf Graden sind. Von da an steuerst du normal per Fernsteuerung und die Aktions-Spalte zeichnet auf, was du befohlen hast.
Sei ehrlich über diesen Weg: die Alignment-Fahrt und das Drehmoment-Handover sind der am wenigsten getestete Teil der Schleife auf echter Hardware. Teste das Handover auf einer langsamen, harmlosen Pose, bevor du dich darauf in einer Durchführung verlässt, die dir wichtig ist. Ein Leader-Arm erzeugt die glattesten Korrektionen von den drei Modi und hat auch das meiste, das mechanisch schiefgehen kann.
Ohne einen Leader-Arm: Tastatur und Schieberegler
Die meisten Leute, die das lesen, besitzen einen Arm. Das reicht. Wähle Tastatur- oder Schieberegler-Input im Moment, in dem du Take over drückst, und das Übernehmen ist sofort und manuell – es gibt keinen zweiten Arm zum Ausrichten, also gibt es keine Alignment-Stufe. Der Follower hält seine Pose und wartet auf Input.
| Input-Modus | Wie der Arm sich bewegt | Pro-Call-Limit durchgesetzt vom Server | Gesperrt wenn |
|---|---|---|---|
| Leader-Arm | Der Spiegel treibt den Follower vom Leader-Gelenkwinkel an | Keine nudge oder set Aufrufe in diesem Modus; der Spiegel schreibt Follower-Ziele kontinuierlich | Nie gesperrt und Standard wenn kein Input-Modus gegeben ist – aber es braucht einen zweiten Arm; ohne eine Leader-ID wird das Übernehmen abgelehnt |
| Tastatur | Relativer nudge pro Tastendruck, gesendet zum takeover nudge Endpunkt | Harte Begrenzung bei 2 Grad pro Gelenk, 4 Grad für den Greifer | Abgelehnt mit 409 wenn das Übernehmen im Leader-Modus gestartet wurde |
| Schieberegler | Absolute Zielpose, gesendet zum takeover set Endpunkt | Höchstens 6 Grad Fahrt zur Zielposition pro Aufruf; die Schnittstelle sendet etwa zehnmal pro Sekunde | Abgelehnt mit 409 wenn das Übernehmen im Leader-Modus gestartet wurde |
Die Begrenzungen werden server-seitig durchgesetzt, nicht in der Schnittstelle, weil ein vertippter Delta auf einem Bus-Servo-Arm eine Kollision ist. Tastatur-Korrektionen kommen schrittweise und leicht grob heraus; Schieberegler-Korrektionen sind glatter, weil der Server zur Zielposition geht, während die Schnittstelle weiter sendet. So oder so erhält die Aktions-Spalte den vollen befohlen Pose-Vektor und die Interventions-Markierung ist identisch zum Leader-Weg, so dass Tastatur-Korrektionen ohne Format-Unterschied in den Datensatz landen.
Q / A joint 1 R / F joint 4
W / S joint 2 T / G joint 5
E / D joint 3 Z / X gripper
Wann man den Knopf drückt
Früher statt später. Eine Korrektur, die beginnt, nachdem der Greifer auf nichts geschlossen hat, lehrt Wiederherstellung aus einem Fehler, den die Policy nicht hätte eingeben dürfen, und Wiederherstellungsdaten sind weit weniger wert als Vermeidungsdaten. Unterbreche im ersten Moment, in dem du sicher bist, dass die Bahn falsch ist, korrigiere durch den schwierigen Teil, gib zurück, sobald der Zustand einer ist, den die Policy zuvor behandelt hat. ThriftyDAgger automatisiert diese Entscheidung durch Gating von Interventionen auf Neuheit und geschätztem Risiko unter einem festen Humanbudget, aber auf einem einzelnen Arm mit einem Menschen, der bereits beobachtet, ist das Human-Gate günstiger und besser kalibriert als alles, das du abstimmen wirst.
Mit dem Open-Source-Stack und ein paar Skripten machbar. Was es kostet, ist Buchhaltung, und Buchhaltung ist, wo DAgger-Runden sterben.
- Schreibe Frames aus deinem eigenen Inferenz-Skript in einen LeRobot Datensatz, mit dem Task-String, auf dem die Policy trainiert wurde.
- Pausiere die Policy-Schleife, wechsle die Befehlsquelle und markiere jeden Frame, den du steuerst, als eine Intervention. Ohne die Markierung sehen Korrektionen wie gewöhnliche Demonstrationen aus.
- Entscheide bewusst, was mit den Übergänge-Frames passiert zwischen der Policy, die die Kontrolle freigibt und deinem ersten Input.
- Behalte Korrektionen in ihrem eigenen Datensatz pro Policy und verfolge Episode-Indizes von Hand, so dass die Mischung rekonstruiert werden kann.
- Zeige auf den Fine-Tuning Einstiegspunkt auf den vorherigen Checkpoint und überprüfe im Log, dass er jene Gewichte geladen hat.
Die gleichen sechs Schritte existieren als Knöpfe. Das, das automatisiert ist, ist das, das von Hand leicht schiefgehen kann: die Pro-Frame Interventions-Markierung, die Aufteilung zwischen Korrektionen und Evaluationen und der Datensatz, welcher Checkpoint welche Mischung produziert hat. Nichts tritt in einen zusammengesetzten Datensatz ein, das du nicht ausgewählt hast.
Es entscheidet nicht für dich. Welche Durchführung als Korrektur zählt, welche Episoden in die Mischung gehen und wann die intervention rate aufgehört hat zu fallen, bleiben Urteile. Die Felder sind dokumentiert unter Training, die Input-Modi unter Teleoperation.
Schritt 3 im Detail: Triage entscheidet die Qualität
Nach der Durchführung hast du eine Aufzeichnung mit einigen Frames als Interventionen markiert. Drei Ziele existieren und das falsche vergiftet leise die nächste Runde.
- Ordne als Korrektur ein, wenn die Intervention eine echte Reparatur war: die Policy ging irgendwohin falsch und dein Input zeigte die richtige Sache aus einem Zustand, den die Policy selbst erzeugt hat.
- Behalte als Evaluations-Daten für saubere autonome Durchführungen und für Durchführungen, die du aus Vorsicht übernommen hast. Evaluations-Episoden sind wie du den nächsten Checkpoint gemessen, und sie dürfen nie trainiert werden.
- Verwerfe Durchführungen, die durch etwas Unrelated zerstört wurden – ein Kamera-Frame-Ausfall, ein steckenbleibender Servo, ein Objekt, das du umgestoßen hast. Eine unordentliche Korrektur ist schlimmer als keine Korrektur.
Zwischen der Policy, die die Kontrolle freigibt und deinem ersten Input, hält der Arm still, während die Aufzeichnung weiter schreibt – ein Durchgang identischer Posen, gepaart mit leicht unterschiedlichen Bildern. Hier bleiben jene Handover-Frames in der Roh-Aufzeichnung und außerhalb des Korrektur-Datensatzes. Wenn du die Schleife selbst baust, schneide sie bewusst: eine Policy, die auf ihnen trainiert, lernt, wo sie handeln sollte, zu pausieren.
Schritt 5 im Detail: Zusammenstellung der Mischung
Zusammenstellung nimmt den Original-Datensatz plus den Korrektur-Datensatz und produziert einen neuen, gewöhnlichen LeRobot Datensatz der wie jeder andere trainiert. Die wichtige Eigenschaft ist, dass die Episode-Auswahl explizit pro Quelle ist – nichts wird automatisch gemischt. Das klingt klein, bis zum ersten Mal eine Policy sich seltsam verhält und du rekonstruieren musst, worauf sie trainiert wurde.
Die offene Frage ist das Verhältnis und niemand hat eine Zahl, die überträgt. Das, das die Literatur vereinbart, ist, dass Korrektionen mehr zählen sollten als ihr Frame-Anteil. Mandlekar et al. trainieren iterativ auf den Daten, die ihr Interventionssystem sammelt, so dass die Policy die Engpässe durchquert, und berichten, dass Agenten, die auf diese Weise trainiert wurden, Agenten übertreffen, die auf einer äquivalenten Anzahl von Samples von Nicht-Interventional-Demonstrationen trainiert wurden. Sirius geht weiter und regewichtet Trainings-Samples durch approximiertes Mensch-Vertrauen, berichten einen 8 Prozent Gewinn in Simulation und 27 Prozent auf echter Hardware in Policy-Erfolgsrate gegen die Methoden, mit denen sie sich vergleicht, bei doppelter Konvergenz-Geschwindigkeit. Keiner der Trainings-Einstiegspunkte hier legt einen Sample-Gewichtungs-Regler offen, so dass der grobe Ersatz ist, jede Korrektur-Episode zu behalten, während Original-Demonstrationen unterstichprobt werden – und aufzuschreiben, was du getan hast.

Schritt 6 im Detail: Was das Weitermachen ab einem Checkpoint wirklich bedeutet
Training der Mischung vom Basis-Modell funktioniert aber wirft die vorherige Runde weg und kostet einen vollen Lauf. Weitermachen vom vorherigen Checkpoint ist schneller und normalerweise besser. Es ist auch limitierter als der Satz vorschlägt.
Ein Gewichte-Only-Checkpoint enthält die Parameter und nichts anderes. Das Laden gibt dem nächsten Lauf einen besseren Startpunkt als das Basis-Modell, aber Optimizer-Momente, Lernratenschedule-Position und Datenreihenfolge alle beginnen bei null. Erwarte einen Loss-Spike am Anfang des weitergegangenen Laufs, lese es nicht als einen Fehler und nenne die Runde nicht ein Resume. Es ist ein Warm-Start.
| Policy | Größe | GPU-Stufe | Inferenz pro Action-Schritt | Datensatz-Format | Episoden, bevor es sich lohnt zu versuchen |
|---|---|---|---|---|---|
| GR00T N1.7 | etwa 3 B, rund 40 M während Fine-Tuning trainiert | A100 80 GB oder H100 80 GB | etwa 152 ms | LeRobot v2.0 oder v2.1 | 50 |
| GR00T N1.5 | etwa 3 B | A100 80 GB oder H100 80 GB | etwa 165 ms | LeRobot v2.0 oder v2.1 | 50 |
| Pi0.5 | etwa 3 B auf einem PaliGemma Backbone | A100 80 GB oder H100 80 GB | etwa 485 ms | LeRobot v3.0 | 50 |
| SmolVLA | etwa 450 M | RTX 4090 oder jede 24 GB Karte | etwa 245 ms | LeRobot v3.0 | 30 |
| ACT | etwa 80 M, von vorne trainiert | RTX 4090 oder jede 24 GB Karte | etwa 20 ms | LeRobot v3.0 | 50 |
Latenz summiert sich innerhalb einer DAgger-Schleife auf eine Weise, die nicht während einer Demo passiert: bei rund 485 ms pro Action-Schritt übernimmst du, weil der Arm gezögert hat, nicht weil er falsch war, und Zögerungs-Korrektionen sind nutzlose Trainingsdaten. Wenn du auf Daten iterierst statt einen finalen Erfolgsrate zu jagen, iteriere auf einem schnellen Modell. Shukor et al. beschreiben SmolVLA als entworfen, auf einer einzelnen GPU zu trainieren und auf Verbraucher-GPUs oder CPUs bereitzustellen, mit einem asynchronen Inferenz-Stack, der Action-Vorhersage von Ausführung entkoppelt, um höhere Kontroll-Raten zu erlauben – die Eigenschaft, die eine Übernahme-Schleife responsiv hält.
Die Datensatz-Formate sind nicht austauschbar. GR00T nimmt LeRobot v2.0 oder v2.1 und das Isaac-GR00T Repository beschreibt seine Eingabe als einen Geschmack des LeRobot v2 Formats mit einer hinzugefügten Modalitäts-Beschreibungs-Datei; die neueren Trainer hier erwarten v3.0. Eine in der falschen Version zusammengesetzte Mischung schlägt beim Laden fehl, statt eine schlechte Policy zu produzieren – der bessere Fehler-Modus, immer noch ein verschwendeter Queue-Slot. Das Datensatz-Dokumentation listet auf, welches Format jeder Trainer nimmt.
Die Schleife, mit der Buchhaltung bereits erledigt
Übernahme mit einem Leader-Arm, Tastatur oder Schieberegler; Pro-Frame Interventions-Markierung; Einordnung von Durchführungen als Korrektionen oder Evaluationen; Zusammenstellung eines gemischten Datensatzes mit expliziter Episode-Auswahl pro Quelle; und Weitermachen des Trainings von einem Checkpoint statt dem Basis-Modell. Was deine Entscheidung bleibt, ist welche Durchführung als Korrektur zählt, was in die Mischung geht und wann die intervention rate aufgehört hat zu fallen.
Siehe, wie die DAgger-Schleife verdrahtet istVier Wege, eine Runde zu verschwenden
1. Nur auf Korrektionen trainieren
Der häufigste Fehler und die verlockendste Abkürzung. Ein Korrektur-Only-Datensatz ist fast ganz die schwierige Mitte der Aufgabe, mit Anfahrt und Rückzug fehlend; die Policy wird besser auf dem schwierigen Teil und vergisst, wie sie dorthin kommt. Aggregation ist nicht ein Implementierungs-Detail der Methode, es ist der Mechanismus: die alten Daten sind das, das den Rest des Verhaltens an Ort und Stelle hält, während die Korrektionen einen Teil davon bewegen.
2. Eine Kamera zwischen Runden bewegen
Eine Kamera, die zwischen Runden zwei Zentimeter wechselt, produziert eine Policy schlechter als die, mit der du angefangen hast, und eine Diagnose, die einen Tag kostet. Jede VLA hier hängt von Bildern ab; allein Gelenkzustand disambiguiert nicht, wo das Objekt ist. Fotografiere die Anordnung vor der ersten Runde und prüfe diese Fotografie vor jeder späteren.
3. Handover-Artefakte in Trainingsdaten lassen
Oben behandelt und auf der Liste, weil es unsichtbar ist. Das Symptom ist eine Policy, die um einen Bruchteil einer Sekunde genau dort steckenbleibt, wo der Operator der vorherigen Runde übernahm. Es sieht wie Zögern aus; es ist Imitation.
4. Einen Warm-Start einen Resume nennen
Wenn du glaubst, dass Optimizer-Zustand übertragen wurde, liest sich der anfängliche Loss-Spike als ein Bug und du jagst nach beschädigten Daten. Wenn du weißt, dass der Optimizer frisch gestartet wurde, ist der Spike erwartet und du schaust auf das, das danach kommt. Gleiche Zahlen, entgegengesetzte Schlussfolgerungen.
Messung der Runde
Die Metrik für eine menschlich-gated Schleife ist die intervention rate: Frames aufgezeichnet, während du in Kontrolle warst, geteilt durch Gesamtframes der Durchführung. Sie ist im Takeover-Status und sie ist die einzige Zahl, die die Frage beantwortet, die die Runde gestellt hat. Trainings-Loss fällt, ob die Policy sich verbessert hat oder nicht; Erfolgsrate ist binär und verrauscht in den Sample-Größen, die ein Schreibtisch-Arm produziert. Intervention Rate ist kontinuierlich, gemessen auf den Zuständen, die die Policy selbst verursacht hat, und sie fällt, während die Policy dich weniger braucht.
Vergleiche sie nur über Durchführungen hinweg, die unter identischen Bedingungen aufgezeichnet wurden. Das volle Argument und wie du einen Evaluations-Satz baust, der mehr als zwei Runden übersteht, ist in dem Artikel über Messung einer DAgger-Schleife. Runde eins ist realistisch ein Machbarkeits-Test: du prüfst, dass das Übernehmen auf deiner Hardware funktioniert, dass Korrektionen mit ihren Markierungen landen und dass der weitergegangene Lauf den Checkpoint geladen hat, den du benannt hast. Runden zwei und drei sind, wo die Rate anfangen sollte, sich zu bewegen. Wenn sie sich bis Runde vier nicht bewegt hat, ist das Problem flussaufwärts von DAgger.
| Pro Runde aufschreiben | Warum es später wichtig ist |
|---|---|
| Checkpoint, das gefahren wurde | Ohne es kannst du keine Verbesserung einer Mischung zuordnen |
| Input-Modus für das Übernehmen benutzt | Tastatur-Korrektionen sind grober als Leader-Korrektionen und es zeigt sich in den Daten |
| Anzahl von Durchführungen und wie jede triagiert wurde | Ob die Runde genug Korrektionen zu zählen hatte |
| Intervention Rate pro Durchführung und der Durchschnitt | Die Fortschritts-Metrik der Schleife |
| Exakte Episode-Auswahl pro Quelle | Der einzige Weg zum Reproduzieren oder Rückgängigmachen einer Runde |
| Warm-Start oder frisches Training | Erklärt die Loss-Kurve, die du nächste Woche anschauen wirst |
Wenn du noch keinen Checkpoint hast
Die Schleife hat keinen Einstiegspunkt ohne einen. Zeichne einen ersten Datensatz auf, trainiere eine erste Policy, fahre sie – Aufzeichnung, Training und Durchführung der Policy decken diesen Weg. Der Aufzeichnungs-Client ist auf der Download-Seite, GPU-Stufen und Stundensätze auf der Preisseite und wie eine verwendbare Episode in der SO-100 Datensammlungs-Anleitung aussieht. Bekomme die Demonstrationen richtig bevor die Korrektionen: DAgger ist ein Reparatur-Mechanismus und funktioniert weit besser auf etwas, das bereits fast richtig war.
Kann ich eine DAgger-Schleife ohne einen Leader-Arm durchlaufen?▾
Ja. Wähle Tastatur- oder Schieberegler-Input, wenn du Take over drückst: das Übernehmen ist sofort und manuell, ohne einen zweiten Arm zum Ausrichten. Tastatur sendet relative nudges, die der Server hart bei 2 Grad pro Gelenk und 4 für den Greifer begrenzt; Schieberegler senden ein absolutes Ziel und der Server bewegt sich höchstens 6 Grad pro Aufruf zur Zielposition, während die Schnittstelle weiter sendet. Aktions-Spalte und Interventions-Markierung sind das gleiche wie im Leader-Modus, so dass die Korrektionen im Datensatz nicht zu unterscheiden sind.
Wie viele Korrektionen braucht eine Runde?▾
Es gibt keine verteidigbare universelle Zahl und Frame-Anzahl ist wichtiger als Episode-Anzahl. Die Arbeit-Regel ist, dass die Korrektionen nicht in die Mischung verloren gehen: mit 200 Original-Episoden und drei Korrektur-Episoden wird sich nichts bewegen. Ziele auf Korrektionen, die das fehlgeschlagene Verhalten von mehreren Startpositionen abdecken, statt drei Wiederholungen der gleichen Rettung.
Warum ist Training nur auf Korrektionen so eine schlechte Idee?▾
Weil Korrektionen fast ganz die schwierige Mitte der Aufgabe sind. Anfahrt, Ausrichtung und Rückzug fehlen, so dass die Policy das verliert, das sie bereits gut gemacht hat, während es bei dem Teil verbessert, das du fixiert hast. Das Behalten der alten Daten und das Hinzufügen ist der Mechanismus selbst, nicht ein optionales Extra.
Ist Weitermachen von einem Checkpoint eine Fortsetzung des vorherigen Trainings-Laufs?▾
Nein. Ein Gewichte-Only-Checkpoint stellt Parameter wieder her und nichts anderes: Optimizer-Momente, Lernratenschedule-Position und Datenreihenfolge beginnen frisch. Es ist ein Warm-Start und ein anfänglicher Loss-Spike ist erwartet statt ein Symptom. Schreibe auf, welche der beiden du tatsächlich getan hast, so dass du die Kurve richtig nächste Woche liest.
Was wenn die intervention rate nicht fällt?▾
Höre auf, Runden hinzuzufügen. Eine flache Rate bedeutet, dass die Korrektionen nicht das lehren, das du denkst. Die üblichen Ursachen sind flussaufwärts: eine Kamera hat sich bewegt, die Korrektionen beginnen zu spät, um Vermeidungsdaten zu sein, Handover-Frames sind im Trainingssatz oder die Aufgabe ist aus den Beobachtungen, die die Policy tatsächlich bekommt, unterdeterminiert.
Keiner von diesen ist ein gelöstes Problem und keiner von diesen ist One-Click. Interaktives Imitationslernen ist ein aktives Forschungs-Gebiet genau deshalb, weil seine Fragen – wann intervenieren, wie das, das der Mensch tat, gewichten, wie viel alte Daten behalten – keine gesiedelten Antworten haben; die Umfrage von Celemin et al. kartiert, was noch offen ist. Das, das die Schleife hat, ist messbare Konvergenz, wenn sie sorgfältig gelaufen wird, auf Hardware, die einige hundert Euro kostet. Friere die Anordnung, interveniere früh, triagiere ehrlich, stelle deliberat zusammen und zeichne die intervention rate jedes Mal auf.
Quellen
- Ross, Gordon, Bagnell (AISTATS 2011): A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
- Kelly, Sidrane, Driggs-Campbell, Kochenderfer (2019): HG-DAgger - Interactive Imitation Learning with Human Experts
- Mandlekar et al. (2020): Human-in-the-Loop Imitation Learning using Remote Teleoperation
- Liu, Nasiriany, Zhang, Bao, Zhu (2022): Robot Learning on the Job - Human-in-the-Loop Autonomy and Learning During Deployment (Sirius)
- Hoque et al. (2021): ThriftyDAgger - Budget-Aware Novelty and Risk Gating for Interactive Imitation Learning
- Celemin et al. (2022): Interactive Imitation Learning in Robotics - A Survey
- Belkhale, Cui, Sadigh (2023): Data Quality in Imitation Learning
- Hsu et al. (2022): Vision-Based Manipulators Need to Also See from Their Hands
- Zhao et al. (2023): Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT / ALOHA)
- Black et al. (2024): Pi0 - A Vision-Language-Action Flow Model for General Robot Control
- Bjorck et al. (2025): GR00T N1 - An Open Foundation Model for Generalist Humanoid Robots
- Shukor et al. (2025): SmolVLA - A Vision-Language-Action Model for Affordable and Efficient Robotics
- LeRobot documentation (Hugging Face)
- NVIDIA Isaac-GR00T repository
Bereit für hochwertige Robotik-Daten?
AY-Robots verbindet Ihre Roboter mit qualifizierten Operatoren weltweit.
Jetzt starten