
תיאור שלב אחר שלב של סיבוב DAgger אחד בהנחיית אדם על זרוע SO-100: הפעל את המדיניות והקלט אותה, השתלוט כאשר היא נכשלת, הכנס את ההרצה כתיקון, הרכב מערך נתונים מעורב, והמשך הדרכה מנקודת בדיקה. כולל נתיב השתלטות מקלדת וגלגלנים לאנשים ללא זרוע מנהיגה, וארבעת הטעויות שהופכות סיבוב לחסר ערך.
המדיניות שלך רצה. היא מגיעה לקוביה, סוגרת את הטוקן סנטימטר מוקדם מדי, וממשיכה כאילו הייתה לה. שום דבר לא שגוי, ולא כמות זמן של הסתכלות על הפסד ההדרכה מסביר את זה. התיקון אינו 20,000 צעדי gradients נוספים על אותן הדגמות. זה לשים את היד שלך בחזרה על הזרוע בדיוק היכן שהיא הולכת בצורה שגויה, להקליט את מה שעשית במקום זה, ולהדריך את נקודת הבדיקה הבאה על הנתונים הישנים בתוספת תיקון זה. זה סיבוב DAgger, וזה איך אחד רץ על SO-100 עם מדיניות vision-language-action.
התיאוריה קיימת במקום אחר: למה dataset aggregation עובד בכלל ומה human gating משנה לגביו. זה ההנחיה התפעולית, והוא מניח נקודת בדיקה מאומנת, סט מצלמה עובד, וזרוע שנעה. שישת השלבים למטה הם הלולאה כפי שהיא מיושמת על דף DAgger של פלטפורמה זו, אך הסדר זהה מהסקריפטים שלך.
סיבוב אחד בקצרה
- •הפעל את המדיניות המאומנת והקלט אותה, עם טקסט המשימה של ההרצה ולא תוית טלאופרציה גנרית.
- •השתלוט ברגע שההתנהגות הולכת בצורה שגויה: הסגרת מראה עם זרוע מנהיגה, מיידית וידנית על מקלדת או גלגלנים ללא אחת.
- •טריאז' כל הרצה: הכנסה כתיקון, שמירה כפסק הערכה, או הנדה.
- •הרכב את התערובת ביד - הדגמות מקוריות בתוספת תיקונים, פרקים שנבחרו לכל מקור. לעולם לא תדריך על תיקונים בלבד.
- •המשך הדרכה מנקודת הבדיקה האחרונה, וציין איזו נקודת בדיקה הפיקה איזה תערובת.
- •המספר שאומר אם הסיבוב היה שווה ערך למשהו הוא intervention rate, לא הפסד ההדרכה.
למה הסיבוב השני אינו רק נתונים נוספים
Behavior cloning מאומן על המצבים שאדם ביקר בהם. בזמן בדיקה המדיניות מבקרת במצבים שהיא גורמת, וטעויות פעולה קטנות מתחברות למצבים שלא כיסתה הדגמה. Ross, Gordon ו-Bagnell פורמליים את הכישלון ל-AISTATS 2011 וענו לזה עם אלגוריתם איטרטיבי שמאומן מדיניות דטרמיניסטית נייחת ותחת הצמצום שלהם, חייבת להתנהל היטב תחת התפלגות המצב שהיא גורמת: הפעל את המדיניות הנוכחית, בקש מהמומחה תווית את המצבים שהגיעה בפועל, הוסף אלה למערך הנתונים, הדרך מחדש, חזור על פעולה. Kelly וחב' עשו את השאילתה מעשית עם HG-DAgger, כאשר האדם מחליט מתי לקחת שליטה במקום לתווית מצבים ללא החזקת הפקדים; הם דיווחו על ביצועים משופרים על פני DAgger וגם behavior cloning על משימה אוטונומית של נסיעה בדימוי ובעולם האמיתי. Human gating הוא מה שהופך את הלולאה לסבילה על זרוע שולחן - אתה רק מזיז את הידיים כשמשהו הולך בצורה שגויה.
שתי השלכות חשובות יותר בפועל מאשר התיאוריה. תיקונים אינם הדגמות רגילות: הם מרוכזים באזורי הצוואר בקבוק שמנדלקר וחב' תארו, כאשר סטייה קטנה משליכה את המדיניות למצבים שהדגמות לא כיסו. ומערך נתונים העשוי רק מאותם חלקים קשים הוא מערך נתונים בצורה גרועה - Belkhale, Cui ו-Sadigh טוענים מצד הנתונים שגיוון המצב אינו תמיד מועיל, וכי divergence action ו-transition diversity יחד מחליטים על איכות מערך הנתונים. מערך הנתונים המעורב אינו פשרה, זה הנקודה.
הקפוא אלה לפני סיבוב אחד
סיבוב DAgger משווה מדיניות כנגד עצמה לאורך זמן. כל דבר שתשנה בין סיבובים שאינו מערך הנתונים הופך השוואה זו חסרת משמעות.
- מיקומי מצלמות ותקנים, מצלמת מפרק כלול. שחרר קנס אחד וחווית את התפלגות התצפית, לא את המדיניות.
- חשיפה ואיזון לבן, אם ערימת הלכידה שלך תוציא אותם. Auto-exposure נסחף בין סיבובים הוא סטה דומיין איטית, בלתי נראית.
- כיול זרוע ו-servo zero positions. אם אתה חייב לכייל מחדש, התייחס לכל דבר שהוקלט לפניו כמערך נתונים נפרד.
- טקסט המשימה. כל VLA כאן מותנה בו; הניסוח מחדש באמצע הלולאה היא משימה שונה.
- תאורה, משטח השולחן, מערכת אובייקט. אובייקט חדש הוא ניסוי חדש, לא הסיבוב הבא.
- קצב הפריים של ההקלטה. השוואת intervention rates על שני רסטרי דגימה מייצרת הבדלים שמגיעים מהרסטר.
Hsu וחב' השוו נוף ממוקד יד נגד הנוף מעל גבוה מהרגיל ומצאו את הפרספקטיבה eye-in-hand בעקביות שיפרה יעילות הדרכה והכללה out-of-distribution, למרות שראתה פחות מהסצנה. על זרוע חמש-מפרק, זמן הטוקן הוא בדרך כלל מה שהתיקונים שלך מתקנים, וזמן הטוקן הוא מה שהנוף מפרק מעביר.
הסיבוב, מקצה לקצה
- 1הפעל הסקה והקלט אותה
התחל את ההרצה כנגד נקודת הבדיקה שברצונך לשפר, ואז התחל את ההקלטה לתוך שורש ההסקה. הוקלט בדרך זו הוא יורש טקסט משימה משלו של ההרצה, שזה מה שהמדיניות הוכשרה, בחירה במקום התווית הטלאופרציה ברירת המחדל. ללא ההקלטה אתה יכול לצפות בכשל אך לא להדריך עליו.
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השתלוט כאשר היא הולכת בצורה שגויה
לחץ על Take over בחר את מצב הקלט: זרוע מנהיגה, מקלדת או גלגלנים. הרץ עצור, אתה מתקן, אתה מעביר בחזרה. פריימים שהוקלטו כשהנהגת מדורגים כהתערבויות באופן אוטומטי.
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 - 3טריאז' את הפרקים
החלט לכל פרק: הכנסה כתיקון, שמירה כהערכה, או הנדה. הרצה שהמדיניות השלימה ללא עזרה היא נתוני הערכה.
- 4סנכרן את מערך הנתונים של התיקון
תיקונים אספו במערך נתונים מקומי לכל מדיניות וללכו לאחסון ענן דרך הסנכרון האוטומטי. שום דבר לא מעורבב בזה שלא הכנסת שם.
- 5הרכב את מערך הנתונים המעורב
שלב את מערך הנתונים המקורי עם מערך הנתונים של תיקונים, בחירת פרקים באופן מפורש לכל מקור. התוצאה היא מערך נתונים רגיל מנקודה זו והלאה.
bashPOST /training/datasets/compose sources = [ original_dataset, korrekturen_<policy> ] episodes = explicit selection per source - 6המשך הדרכה מנקודת הבדיקה
הדרך את התערובת מנקודת הבדיקה הקודמת ולא מודל הבסיס. ציין איזו נקודת בדיקה ואיזו תערובת; ללא הצמד הזה הסיבוב אינו ניתן לשחזור.
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
שלב 2 בפירוט: שתי הדרכים להשתלוט
עם זרוע מנהיגה
ב-leader-follower מצב ההשתלטות היא הסגרת בין שתי זרועות שאינן באותה תנוחה. לחיצה על Take over עוצרת את הרץ ונוהגת את המנהיג על התנוחה הנוכחית של הבא, כך שום דבר לא קופץ כאשר טורק מעביר. אם כונן יישור זה מתקبל, אתה יישר את המנהיג ביד ומשחרר רק ברגע שהשנים בתוך חמש מעלות. מכאן ואילך אתה teleoperate בדרך כלל ועמודת הפעולה מתעדת מה שהנהגת.
היה כן על נתיב זה: כונן היישור וטורק ההשתלטות הם החלק הפחות בדוק של הלולאה על חומרה אמיתית. בדוק את ההשתלטות על תנוחה איטית, לא מזיקה לפני שתסתמך על זה בהרצה שאתה מודאג לגביה. זרוע מנהיגה מייצרת את התיקונים החלקים ביותר של שלוש המצבים, וגם הרבה ביותר שיכול להשתבש מבחינה מכנית.
ללא זרוע מנהיגה: מקלדת וגלגלנים
רוב האנשים קוראים זה בעלים זרוע אחת. זה מספיק. בחר קלט מקלדת או slider ברגע שלחצת על Take over, וההשתלטות מיידית וידנית - אין זרוע שנייה ליישור, כך שאין שלב יישור. העוקב מחזיק את התנוחה שלו וממתין לקלט.
| מצב קלט | איך הזרוע נעה | מגבלה לכל קריאה שנאכפה על ידי השרת | נעול כאשר |
|---|---|---|---|
| זרוע מנהיגה | המראה נוהגת את העוקב מזוויות המפרק של המנהיג | אין nudge או set calls במצב זה; המראה כותבת יעדי עוקב בעקביות | לעולם לא נעול, וברירת המחדל אם לא צוין מצב קלט - אך זה צריך זרוע שנייה; ללא מזהה מנהיג ההשתלטות מסורבת |
| מקלדת | Nudge יחסי לכל הקשה, שנשלח לנקודת הקצה של nudge takeover | קנס קשה ב-2 מעלות לכל מפרק, 4 מעלות לטוקן | נדחה עם 409 אם ההשתלטות התחילה במצב מנהיג |
| גלגלנים | תנוחה יעד מוחלטת, שנשלחה לנקודת הקצה של set takeover | לכל היותר 6 מעלות של נסיעה לעבר היעד לכל קריאה; הממשק ממשיך לשלוח בערך עשר פעמים לשנייה | נדחה עם 409 אם ההשתלטות התחילה במצב מנהיג |
הקנסות נאכפים בצד השרת, לא בממשק, כי דלתא שגויה על זרוע bus-servo היא התנגשות. תיקוני מקלדת יוצאים בשלבים ובמעט גס; תיקוני slider חלקים יותר, כי השרת הולך לעבר היעד בזמן שהממשק ממשיך לזרום. כך או כך עמודת הפעולה מקבלת וקטור התנוחה המלא שהנהגת וסימון ההתערבות זהה לנתיב המנהיג, כך תיקוני מקלדת נחתים באותו מערך נתונים ללא הבדל פורמט.
Q / A joint 1 R / F joint 4
W / S joint 2 T / G joint 5
E / D joint 3 Z / X gripper
מתי ללחוץ על הכפתור
מוקדם ולא מאוחר. תיקון שמתחיל לאחר שהטוקן סגר על שום דבר מלמד התחזוקה מכישלון שהמדיניות לא צריכה להיכנס, ונתוני התחזוקה שווים הרבה פחות מנתוני הימנעות. הפסיק ברגע הראשון שבו אתה בטוח שהמסלול בצורה שגויה, תקן דרך החלק הקשה, מעביר בחזרה ברגע שהמצב הוא אחד שהמדיניות טיפלה לפני. ThriftyDAgger אוטומציה החלטה זו על ידי שערים התערבויות על חדשות והערכה סיכון תחת תקציב אדם קבוע, אך על זרוע יחידה עם אדם כבר צפייה, שער האדם זול ויותר כיול טוב מאשר כל דבר אתה מכוונן.
בר עשייה עם ערימה פתוחה-מקור וכמה סקריפטים. מה שזה עולה הוא ניהול ספרים, וניהול ספרים הוא כאן DAgger סיבובים מתים.
- כתוב פריימים מסקריפט ההסקה שלך לתוך מערך נתונים LeRobot, עם מחרוזת המשימה שהמדיניות הוכשרה.
- עצור את לולאת המדיניות, החלף את מקור הפקודה, וסמן כל פריים שנהגת כהתערבות. ללא הדגל, תיקונים נראים כמו הדגמות רגילות.
- החלט בכוונה מה קורה לפריימי הרצף בין המדיניות שחוררה שליטה לקלט הראשון שלך.
- שמור תיקונים במערך הנתונים שלהם לכל מדיניות, ועקוב אחר מדדי הפרק ביד כך שתערובת ניתן לשחזור.
- הצבע את נקודת הכניסה של fine-tuning בנקודת הבדיקה הקודמת, ובדוק בתיעוד שזה טעון משקולות אלה.
אותם שישה שלבים קיימים כפתורים. מה שאוטומציה היא מה שקל להשתבש ביד: הדגל התערבות לכל פריים, הפיצול בין תיקונים והערכות, והרשומה של איזו נקודת בדיקה הפיקה איזו תערובת. כל דבר נכנס לתערובת מהודרת שלא בחרת.
זה לא מחליט בשבילך. איזו הרצה נחשבת לתיקון, אילו פרקים הולכים למערובת, ומתי להפסיק נשארים שיקול דעות. השדות תועדו תחת הדרכה, מצבי הקלט תחת טלאופרציה.
שלב 3 בפירוט: טריאז' מחליט את האיכות
לאחר ההרצה יש לך הקלטה עם כמה פריימים מסומנים כהתערבויות. שלוש יעדים קיימים, והאדם הלא נכון בשקט מעייס את הסיבוב הבא.
- הכנסה כתיקון כאשר ההתערבות הייתה תיקון אמיתי: המדיניות הייתה הלך למקום שגוי והקלט שלך הראה את הדבר הנכון ממצב שהמדיניות עצמה הפיקה.
- שמור כהערכה לריצות אוטונומיות נקיות ולהרצות שהשתלטת עליהן מתוך זהירות. פרקי הערכה היא איך למדוד את נקודת הבדיקה הבאה, והם חייבים לעולם שלא להדריך.
- הנדה רצים שנחרבו על ידי משהו לא קשור - פריים מצלמה שנפל, servo שקעקע, עצם שנדיפה. תיקון מלוכלך גרוע יותר מאשר אין תיקון.
בין המדיניות שחוררה שליטה לקלט הראשון שלך, הזרוע מחזיקה עדיין בזמן שהמקליט ממשיך לכתוב - ריצה של תנוחות זהות בצימוד עם תמונות מעט שונות. כאן פריימי ההנדה הם נשארים בהקלטה הגולמית ובחוץ מערך נתוני התיקון. אם אתה בנה את הלולאה עצמך, חותך אותם בכוונה: מדיניות מאומנת עליהם לומדת להשהות איפה זה צריך לפעול.
שלב 5 בפירוט: הרכבת התערובת
הרכבה לוקחת את מערך הנתונים המקורי בתוספת מערך נתונים של תיקונים ומייצרת חדש, רגיל LeRobot dataset שמאומן כמו כל אחר. המאפיין החשוב הוא בחירת הפרק היא מפורשת לכל מקור - שום דבר לא מעורבב באופן אוטומטי. שזה נשמע קטן עד הפעם הראשונה מדיניות מתנהגת בצורה מוזרה ואתה צריך לשחזור מה הוא הוכשר.
השאלה הפתוחה היא היחס, ולא למישהו יש מספר שמעביר. מה הספרות רק מסכימה על זה תיקונים צריכים לחשוב יותר מאשר ספיקת פריים. Mandlekar וחב' retrain iteratively על הנתונים מערכת ההתערבות שלהם אוסף, כך המדיניות לומדת לעבור את הצוואר בקבוק, וד דיווח סוכנים מאומנים בדרך זו outperform סוכנים מאומנים על מספר שווה של דגימות מ non-interventional demonstrators. Sirius הולך הלאה ו-reweights דגימות הדרכה על ידי משוער אמון אדם, דיווח 8 אחוז רווח בסימולציה ו-27 אחוז על חומרה אמיתית בשיעור הצלחה מדיניות נגד השיטות הוא משווה עם, בשיעור התכנסות כפול. אף אחד מנקודות הכניסה ההדרכה כאן לא לחשוף דחיפה דגימה-weighting, כך החלופה הגסה היא שמור כל תיקון פרק בזמן subsampling הדגמות המקוריות - ולכתוב תחתון מה עשית.

שלב 6 בפירוט: מה זה המשך מנקודת בדיקה באמת אומר
הדרכה התערובת מודל הבסיס עובד אך זורק בצורה חוצה את סיבוב קודם וטביעות מלא ריצה. המשך מהקודמת checkpoint מהיר יותר וכלל טוב יותר. זה גם יותר מוגבל מאשר הביטוי מציע.
משקולות-בלבד נקודת בדיקה מכיל את הפרמטרים ושום דבר אחר. טעינה זה נותן את הריצה הבאה נקודת התחלה טוב יותר מאשר מודל הבסיס, אך אופטימיזר רגעים, לומד-שיעור לוח עמדה והזמנה נתונים כל התחיל מאפס. צפה הפסד קטנות בתחילת ריצה נמשכת, אל תקרא כשל, ואל תקרא הסיבוב לתרבות. זה חם התחלה.
| מדיניות | גדל | טיר GPU | הסקה לכל שלב פעולה | פורמט מערך נתונים | פרקים לפני זה שווה ערך ניסיון |
|---|---|---|---|---|---|
| GR00T N1.7 | בערך 3 B, בערך 40 מ' מאומן במהלך fine-tuning | A100 80 GB או H100 80 GB | בערך 152 ms | LeRobot v2.0 או v2.1 | 50 |
| GR00T N1.5 | בערך 3 B | A100 80 GB או H100 80 GB | בערך 165 ms | LeRobot v2.0 או v2.1 | 50 |
| Pi0.5 | בערך 3 B על גבי גב PaliGemma | A100 80 GB או H100 80 GB | בערך 485 ms | LeRobot v3.0 | 50 |
| SmolVLA | בערך 450 M | RTX 4090 או כל כרטיס 24 GB | בערך 245 ms | LeRobot v3.0 | 30 |
| ACT | בערך 80 M, מאומן מאפס | RTX 4090 או כל כרטיס 24 GB | בערך 20 ms | LeRobot v3.0 | 50 |
Latency מתחברים בתוך לולאת DAgger בדרך שהוא לא במהלך demo: בערך 485 ms לכל שלב פעולה אתה השתלוט כי הזרוע התנדנדה, לא כי זה היה שגוי, והדנדנדת תיקונים אינם שימוש הדרכה נתונים. אם אתה iterating על נתונים בדלא של רדיפה שיעור הצלחה סופי, iterate על דגם מהיר. Shukor וחב' תאר SmolVLA כמעוצב לתרגול על יחיד GPU ופרוש על צרכני GPUs או CPUs, עם אסינכרוני הסקה ערימה שmultiplexes חיזוי פעולה מביצוע לתוך אפשר גבוה שיעורי בקרה - המאפיין שמעצור לולאת takeover רגיש.
פורמטי מערך הנתונים אינם ניתנים להחלפה. GR00T לוקח LeRobot v2.0 או v2.1, וMachine Isaac-GR00T תיעוד קלט שלה כנטיעה של LeRobot v2 פורמט עם קובץ תיאור modality הוסיף; החדשים מאומנים כאן צפויים v3.0. תערובת מהודרת בגרסה השגויה נכשל בטעינה זמן בדלא של ייצור מדיניות גרועה - הכשל הטוב יותר מצב, עדיין מקום תור מבוזבז. ה תיעוד מערך נתונים רשימות איזה פורמט כל מאמן לוקח.
הלולאה, עם הניהול כבר עשוי
השתלטות עם זרוע מנהיגה, מקלדת או גלגלנים; סימון התערבות לכל פריים; תיקול ריצות כתיקונים או הערכות; הרכבת מערך נתונים מעורב עם בחירת פרק מפורשת לכל מקור; והמשך הדרכה מנקודת בדיקה במקום מודל הבסיס. מה נשאר ההחלטה שלך היא איזו הרצה נחשבת לתיקון, מה הולך לתערובת, ומתי intervention rate הפסיק נפול.
ראה איך לולאת DAgger חוטתהארבע דרכים לבזבז סיבוב
1. הדרכה על תיקונים לבדם
הכישלון הנפוץ ביותר וקיצור הדרך המושך ביותר. מערך נתונים תיקונים-בלבד הוא כמעט כל הקשה אמצע המשימה, עם גישה ו retreat חסר; המדיניות מקבלת טוב יותר בחלק קשה וכן שוכח איך להגיע שם. Aggregation אינו פרטי יישום של השיטה, זה המנגנון: הנתונים הישנים הוא מה שמחזיק השאר של ההתנהגות במקום בזמן תיקונים להעביר חלק אחד.
2. הנעת מצלמה בין סיבובים
מצלמה שמשתנה שתי ס"מ בין סיבובים מייצרת מדיניות גרוע יותר מאשר אחד התחלת עם, וללא אבחון כי עלויות יום. כל VLA כאן תנאי על תמונות; מצב מפרק בלבד לא disambiguate איפה העצם הוא. צלם את הסטים לפני הסיבוב הראשון ובדוק צילום זה לפני כל אחד מאוחר יותר.
3. לתן handover artifacts לתוך הדרכה
מכוסה לעיל, ועל הרשימה כי זה בלתי נראה. הסימפטום היא מדיניות שצומק לשנייה חלקי בדיוק היכן הקודמת הסיבוב של מפעיל השתלט. זה נראה כמו הסנקה; זה חיקוי.
4. קראתי ממתין התחל הסכמה
אם האמנת אופטימיזר מדינות נושא על, ההסכמה הפסד קטנות קורא כבאג ואתה לך ציד רוטטים נתונים. אם אתה יודע המשימות המתחילות טרייה, קטנות צפויה ואתה מבט בו מה בא אחריו. אותו מספר, מנוגד המסקנות.
מדידת הסיבוב
המדד לתוך אדם-שערים לולאה הוא intervention rate: פריימים הוקלטו בזמן הנהגת, חלקי סך הכל פריימים של הריצה. זה בתוך takeover סטטוס, וזה היחיד מספר שענה השאלה הסיבוב שאל. הדרכה הפסד טיפול אם או לא המדיניות שופרה; שיעור הצלחה בינארי וחומי ב דגימה גדלים שולחן זרוע מייצרת. Intervention rate הוא רציף, מדוד על המדינות הפיק הזרוע עצמה, וזה טיפול כמו המדיניות צרכים אתה פחות.
השווה אותו רק על פני ריצות הוקלטו תחת זהה תנאים. הטיעון המלא, ו איך לבנות הערכה קבוצה שסורבה יותר מאשר שתיים סיבובים, בתוך המאמר על מדידת לולאת DAgger. עגול אחד היא בעצם בדיקה יכולות: אתה בדיקה כי השתלטות עובד על החומרה שלך, כי תיקונים נחתים שלהם דגלים, וכי המשך ריצה טעון נקודת בדיקה שם. סיבובים שתיים והשלוש הם היכן השיעור צריך להתחיל הנעה. אם זה לא הנעות על ידי סיבוב ארבע, הבעיה הוא upstream של DAgger.
| כתוב למטה לכל סיבוב | למה זה חשוב מאוחר יותר |
|---|---|
| Checkpoint כי היה נוהג | ללא זה אתה לא יכול לייחס שיפור לתערובת |
| מצב קלט משמש בשביל ה- takeover | קלדת תיקונים הם יותר גס מאשר מנהיג תיקונים, וזה מראה בנתונים |
| מספר של ריצות וכיצד כל אחד היה triaged | האם סיבוב הייתה תיקונים מספיק חשוב |
| Intervention rate לכל הריצה, וה- ממוצע | מדד ההתקדמות של הלולאה |
| פרק בחירה מדויקת לכל מקור | היחיד דרך לשחזור או לבטל סיבוב |
| חם התחלה או טרייה הדרכה | מסביר את עקומת ההפסד אתה כיון לפנות בתוך שבוע |
אם אתה עדיין לא יש נקודת בדיקה
הלולאה יש אין כניסה ללא אחד. רשומה ראשון מערך נתונים, תרגול ראשון מדיניות, הריצה זה - הקלטה, הדרכה ו הריצה את המדיניות כיסוי כי נתיב. הלקוח הקלטה הוא על דף ההורדה, טירי GPU ותעריפי שעה על דף התמחור, וזה שמה פסולה פרק נראה בתוך מדריך אוסף נתונים SO-100. קבל הדגמות נכון לפני התיקונים: DAgger היא מנגנון תיקון, וזה עובד הרבה יותר טוב על משהו זה היה כמעט בסדר כבר.
Can I run a DAgger loop without a leader arm?▾
Yes. Choose keyboard or slider input when you press Take over: the takeover is immediate and manual, with no second arm to align. Keyboard sends relative nudges that the server clamps hard at 2 degrees per joint and 4 for the gripper; sliders send an absolute target and the server moves at most 6 degrees toward it per call, while the interface keeps streaming. Action column and intervention marking are the same as in leader mode, so the corrections are indistinguishable in the dataset.
How many corrections does one round need?▾
There is no defensible universal number, and frame count matters more than episode count. The working rule is that the corrections must not be lost in the mix: with 200 original episodes and three correction episodes, nothing will move. Aim for corrections that cover the failing behaviour from several starting configurations rather than three repetitions of the same rescue.
Why is training on corrections only such a bad idea?▾
Because corrections are almost entirely the hard middle of the task. Approach, alignment and retreat are missing, so the policy loses what it already did well while improving at the part you fixed. Keeping the old data and adding to it is the mechanism itself, not an optional extra.
Does continuing from a checkpoint resume the previous training run?▾
No. A weights-only checkpoint restores parameters and nothing else: optimizer moments, learning-rate schedule position and data order start fresh. It is a warm start, and an initial loss spike is expected rather than a symptom. Write down which of the two you actually did, so you read the curve correctly a week later.
What if the intervention rate does not fall?▾
Stop adding rounds. A flat rate means the corrections are not teaching what you think. The usual causes are upstream: a camera moved, the corrections start too late to be avoidance data, handover frames are in the training set, or the task is underdetermined from the observations the policy actually gets.
None of this is a solved problem and none of it is one click. Interactive imitation learning is an active research area precisely because its questions - when to intervene, how to weight what the human did, how much old data to keep - have no settled answers; the survey by Celemin et al. maps what is still open. What the loop does have is measurable convergence when it is run carefully, on hardware that costs a few hundred euros. Freeze the setup, intervene early, triage honestly, mix deliberately, and record the intervention rate every time.
Sources
- 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
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started