Zurück zu DK1 Path

Eine Bimanuale Politik mit ACT ausbilden

Einheit 5 des DK1-Bimanual-Lernweg. Ausbilden Sie eine ACT-Politik auf Ihrem bimanualen Datensatz. Warum ACT bei bimanual, Training-Kommando, Lesung von Trainingskurven, Hyperparametern hervorragend ist. ~4 Stunden.

Einheit 5 von 6 · Politikbildung · ~4 Stunden

Starten Sie ACT-Training auf Ihrem synchronisierten, zweimanütigen Datensatz, verstehen Sie die zweimanütigen Trainingskurven und wissen Sie, wann Sie einen Kontrollpunkt haben, der sich in der Einheit 6 einsetzen lohnt.

Warum ACT bei zwei Aufgaben hervorragend ist

ACT (Action Chunked Transformers) wurde ursprünglich speziell für die bimanuelle Manipulationsforschung entwickelt. Sein Kernbewusstsein , dass die Vorhersage von Sequenzen zukünftiger Aktionen (Teilen) anstatt einzelner Aktionen den Zusammenschlussfehler reduziert ist besonders wertvoll für bimanuelle Aufgaben, bei denen ein kleiner Fehler in der Bahn eines Arms zu einem Kaskadenversagen im Ausführen des anderen Arms führen kann.

Der Aktions-Chunking-Mechanismus gibt der Politik einen Planungshorizont. Anstatt sich bei jedem 50Hz-Zeitschritt auf einen einzigen gemeinsamen Befehl zu verpflichten, plant ACT 100 Schritte voraus und vereinfacht die Ausführung. Für eine Übergabe-Aufgabe bedeutet dies, dass die Politik den Ansatz beider Arme zum Übergabe-Punkt als Teil einer geplanten Sequenz "sehen" kann, anstatt auf jeden Rahmen unabhängig zu reagieren. Das reduziert empirisch die Rate der mittleren Übertragungsfehler im Vergleich zu nicht-gefragten Ansätzen auf bi-manuellen Datensätzen um die Hälfte.

Eine Vorsicht: ACT geht davon aus, dass die Demonstrationen in Ihrem Datensatz eine konsistente Strategie darstellen. Wenn verschiedene Demos grundsätzlich verschiedene Arten der Ausführung der Handlung zeigen verschiedene Arm, die initiiert, verschiedene Handlungshöhe die CVAE-Komponente wird Schwierigkeiten haben, einen einzigen Stil zu kodieren. Ihre 100 Demos sollten alle die gleiche Bewegungstrategie ausführen.

Ausbildungskommando

Quelle ~/dk1-env/bin/activate python -m lerobot.scripts.train \ --policy-type act \ --dataset-repo-id cube-handoff-v1 \ --root ~/dk1-datasets \ --output-dir ~/dk1-policy/cube-handoff-v1 \ --config-overrides \ policy.action_dim=14 \ policy.chunk_size=100 \ policy.n\action_steps_steps=100 \ policy.dim_feedforward=3200 \ policy.n_heads=8 \ policy.n_encoder_s=4 \ save.n_decoder_s=7 training.number\steps=80000\dimensional training.\frequency training.\\quarter-action training.\quarter-action \quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.\quarter-action.

GPU für praktische Trainingszeit benötigt: Auf einem RTX 3080 (10GB) dauert 80.000 Schritte ungefähr 90 Minuten. Auf einem RTX 4090, ungefähr 50 Minuten. Auf einer CPU, erwarten Sie 1014 Stunden. Verwenden Sie die T0 Flagge, wenn Sie eine GPU haben. Cloud GPU Optionen (Lambda Labs, Vast.ai) laufen etwa $0.501.50/h für die benötigte Hardware.

Lesen von Bimanuale-Schulkurven

Die Bimanuale Trainingskurven unterscheiden sich von den Einarmskurven in einer wichtigen Hinsicht: Sie haben zwei Aktionsräume, und die Politik muss lernen, sie zu koordinieren.

L_Reconstruction (Gesamtverlust der Aktion)

Eine Plateau über 0,7 nach 40.000 Schritten zeigt Datenbestandsqualitätsprobleme wahrscheinlich zu viel Abweichung im Handoff-Zeit oder Position.

L_kl (CVAE-Regulierung)

Wenn es über 30 steigt, kämpft das CVAE um eine kompakte Stil-Einbetung. Dies bedeutet oft, dass Ihre Demonstrationen zu viel Verhaltensvielfalt haben.

Aktionsfehler: Links gegen Recht

Wenn Sie die Fehlerprotokolle pro Arm aktivieren (über die Überschrift T2), werden Sie separate Verlustkurven für die linken und rechten Aktionsdimensionen sehen. Ein großer, beständiger Abstand zwischen den beiden zeigt an, dass die Demonstrationen eines Arms konsistenter sind als die der anderen Überprüfung Ihrer Qualitätsliste für den zurückliegenden Arm.

Bimanuale spezifische Hyperparameter

Parameter Default (single-arm) DK1 Bimanual Recommended Why
action_dim 7 14 Two 6-DOF arms + 2 grippers = 14 action dimensions
chunk_size 100 100 Same — action chunking is already well-suited to bimanual coordination timescales
dim_feedforward 3200 3200 No change needed — the larger action space is handled by the action head, not the transformer width
num_steps 50000 80000 Bimanual coordination requires more training steps to converge reliably; 80k is the practical minimum for 100 demos
batch_size 32 16 Reduced to fit the larger bimanual dataset samples (dual camera feeds) in GPU memory
kl_weight 10 10 Default works well; increase to 20 only if L_kl stays near zero after 30k steps (CVAE not learning)

Auswahl der Kontrollstelle

Die Beobachtungsstellen werden alle 5.000 Schritte (T9) aufbewahrt. Man darf nicht davon ausgehen, dass der letzte Checkpoint der beste ist.

Wählen Sie den Kontrollpunkt in dem Schritt aus, in dem T10 sein Minimum erreicht hat, bevor er auf Plateau oder leicht erhöht wird. Normalerweise liegt dies im Schrittbereich von 60.00080.000 für 100-Demo-Bimanual-Datensätze. Bereiten Sie zwei Kontrollpunkte (der Mindestverlust- Kontrollpunkt und der letzte) ein und vergleichen Sie ihre reale Leistung in der Einheit 6.

Einheit 5 ist fertig, wenn...

Das Training hat 80.000 Schritte abgeschlossen und die Checkpoints werden bei T11 gespeichert. Der endgültige T12 Wert ist unter 0,5. Sie haben Ihren besten Checkpoint basierend auf den Verlustkurven identifiziert. Sie verstehen, warum sich die L_kl-Kurve wie bei Ihrem Laufen verhält. Sie sind bereit, in der Einheit 6 auf echte Hardware zu setzen die Ziel-Erfolgsrate beim Kubenübergabe ist >60% (Bimanual ist schwieriger als einarmig, und dies ist ein starkes Erstlauf-Ergebnis).

[← Zurück zum Wegüberblick]