זרוע רובוט SO-100 בעלת עלות נמוכה על שולחן, מוגדרת לטלאופרציה והדרכת מדיניות
DAggerSO-100Imitation LearningVLATeleoperation

הפעלת לולאת DAgger על SO-100 עם מדיניות VLA

AY-Robots ResearchAugust 27, 202615 דקות קריאה

תיאור שלב אחר שלב של סיבוב 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. 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. 2
    השתלוט כאשר היא הולכת בצורה שגויה

    לחץ על Take over בחר את מצב הקלט: זרוע מנהיגה, מקלדת או גלגלנים. הרץ עצור, אתה מתקן, אתה מעביר בחזרה. פריימים שהוקלטו כשהנהגת מדורגים כהתערבויות באופן אוטומטי.

    bash
    POST /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. 3
    טריאז' את הפרקים

    החלט לכל פרק: הכנסה כתיקון, שמירה כהערכה, או הנדה. הרצה שהמדיניות השלימה ללא עזרה היא נתוני הערכה.

  4. 4
    סנכרן את מערך הנתונים של התיקון

    תיקונים אספו במערך נתונים מקומי לכל מדיניות וללכו לאחסון ענן דרך הסנכרון האוטומטי. שום דבר לא מעורבב בזה שלא הכנסת שם.

  5. 5
    הרכב את מערך הנתונים המעורב

    שלב את מערך הנתונים המקורי עם מערך הנתונים של תיקונים, בחירת פרקים באופן מפורש לכל מקור. התוצאה היא מערך נתונים רגיל מנקודה זו והלאה.

    bash
    POST /training/datasets/compose
      sources  = [ original_dataset, korrekturen_<policy> ]
      episodes = explicit selection per source
  6. 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 חלקים יותר, כי השרת הולך לעבר היעד בזמן שהממשק ממשיך לזרום. כך או כך עמודת הפעולה מקבלת וקטור התנוחה המלא שהנהגת וסימון ההתערבות זהה לנתיב המנהיג, כך תיקוני מקלדת נחתים באותו מערך נתונים ללא הבדל פורמט.

text
Q / A   joint 1      R / F   joint 4
W / S   joint 2      T / G   joint 5
E / D   joint 3      Z / X   gripper
אותו פריסת מפתח כמו בכל מקום אחר בערימה, כך זיכרון שרירים מהקלטה מעביר.
הנחיית הדרכה המציגה השלבים המסודרים של ריצת GR00T fine-tuning על מערך נתונים SO-100
הצד ההדרכה של סיבוב הוא אותו סדר מודרך כמו ריצה ראשונה; רק שדה נקודת הבדיקה שונה.

מתי ללחוץ על הכפתור

מוקדם ולא מאוחר. תיקון שמתחיל לאחר שהטוקן סגר על שום דבר מלמד התחזוקה מכישלון שהמדיניות לא צריכה להיכנס, ונתוני התחזוקה שווים הרבה פחות מנתוני הימנעות. הפסיק ברגע הראשון שבו אתה בטוח שהמסלול בצורה שגויה, תקן דרך החלק הקשה, מעביר בחזרה ברגע שהמצב הוא אחד שהמדיניות טיפלה לפני. ThriftyDAgger אוטומציה החלטה זו על ידי שערים התערבויות על חדשות והערכה סיכון תחת תקציב אדם קבוע, אך על זרוע יחידה עם אדם כבר צפייה, שער האדם זול ויותר כיול טוב מאשר כל דבר אתה מכוונן.

בר עשייה עם ערימה פתוחה-מקור וכמה סקריפטים. מה שזה עולה הוא ניהול ספרים, וניהול ספרים הוא כאן DAgger סיבובים מתים.

  1. כתוב פריימים מסקריפט ההסקה שלך לתוך מערך נתונים LeRobot, עם מחרוזת המשימה שהמדיניות הוכשרה.
  2. עצור את לולאת המדיניות, החלף את מקור הפקודה, וסמן כל פריים שנהגת כהתערבות. ללא הדגל, תיקונים נראים כמו הדגמות רגילות.
  3. החלט בכוונה מה קורה לפריימי הרצף בין המדיניות שחוררה שליטה לקלט הראשון שלך.
  4. שמור תיקונים במערך הנתונים שלהם לכל מדיניות, ועקוב אחר מדדי הפרק ביד כך שתערובת ניתן לשחזור.
  5. הצבע את נקודת הכניסה של fine-tuning בנקודת הבדיקה הקודמת, ובדוק בתיעוד שזה טעון משקולות אלה.

שלב 3 בפירוט: טריאז' מחליט את האיכות

לאחר ההרצה יש לך הקלטה עם כמה פריימים מסומנים כהתערבויות. שלוש יעדים קיימים, והאדם הלא נכון בשקט מעייס את הסיבוב הבא.

  • הכנסה כתיקון כאשר ההתערבות הייתה תיקון אמיתי: המדיניות הייתה הלך למקום שגוי והקלט שלך הראה את הדבר הנכון ממצב שהמדיניות עצמה הפיקה.
  • שמור כהערכה לריצות אוטונומיות נקיות ולהרצות שהשתלטת עליהן מתוך זהירות. פרקי הערכה היא איך למדוד את נקודת הבדיקה הבאה, והם חייבים לעולם שלא להדריך.
  • הנדה רצים שנחרבו על ידי משהו לא קשור - פריים מצלמה שנפל, servo שקעקע, עצם שנדיפה. תיקון מלוכלך גרוע יותר מאשר אין תיקון.
פריימים קפואים שייכים בהקלטה הגולמית, לא בנתוני ההדרכה

בין המדיניות שחוררה שליטה לקלט הראשון שלך, הזרוע מחזיקה עדיין בזמן שהמקליט ממשיך לכתוב - ריצה של תנוחות זהות בצימוד עם תמונות מעט שונות. כאן פריימי ההנדה הם נשארים בהקלטה הגולמית ובחוץ מערך נתוני התיקון. אם אתה בנה את הלולאה עצמך, חותך אותם בכוונה: מדיניות מאומנת עליהם לומדת להשהות איפה זה צריך לפעול.

שלב 5 בפירוט: הרכבת התערובת

הרכבה לוקחת את מערך הנתונים המקורי בתוספת מערך נתונים של תיקונים ומייצרת חדש, רגיל LeRobot dataset שמאומן כמו כל אחר. המאפיין החשוב הוא בחירת הפרק היא מפורשת לכל מקור - שום דבר לא מעורבב באופן אוטומטי. שזה נשמע קטן עד הפעם הראשונה מדיניות מתנהגת בצורה מוזרה ואתה צריך לשחזור מה הוא הוכשר.

השאלה הפתוחה היא היחס, ולא למישהו יש מספר שמעביר. מה הספרות רק מסכימה על זה תיקונים צריכים לחשוב יותר מאשר ספיקת פריים. Mandlekar וחב' retrain iteratively על הנתונים מערכת ההתערבות שלהם אוסף, כך המדיניות לומדת לעבור את הצוואר בקבוק, וד דיווח סוכנים מאומנים בדרך זו outperform סוכנים מאומנים על מספר שווה של דגימות מ non-interventional demonstrators. Sirius הולך הלאה ו-reweights דגימות הדרכה על ידי משוער אמון אדם, דיווח 8 אחוז רווח בסימולציה ו-27 אחוז על חומרה אמיתית בשיעור הצלחה מדיניות נגד השיטות הוא משווה עם, בשיעור התכנסות כפול. אף אחד מנקודות הכניסה ההדרכה כאן לא לחשוף דחיפה דגימה-weighting, כך החלופה הגסה היא שמור כל תיקון פרק בזמן subsampling הדגמות המקוריות - ולכתוב תחתון מה עשית.

נוף הקלטת מערך נתונים המציג פרקים של מערך נתונים SO-100 עם זרמי מצלמה
פרקי תיקון הם פרקים רגילים עם דגל התערבות לכל פריים, כך הם הרכבה עם מערך הנתונים המקורי ללא המרה.

שלב 6 בפירוט: מה זה המשך מנקודת בדיקה באמת אומר

הדרכה התערובת מודל הבסיס עובד אך זורק בצורה חוצה את סיבוב קודם וטביעות מלא ריצה. המשך מהקודמת checkpoint מהיר יותר וכלל טוב יותר. זה גם יותר מוגבל מאשר הביטוי מציע.

Weight initialisation is not an optimizer resume

משקולות-בלבד נקודת בדיקה מכיל את הפרמטרים ושום דבר אחר. טעינה זה נותן את הריצה הבאה נקודת התחלה טוב יותר מאשר מודל הבסיס, אך אופטימיזר רגעים, לומד-שיעור לוח עמדה והזמנה נתונים כל התחיל מאפס. צפה הפסד קטנות בתחילת ריצה נמשכת, אל תקרא כשל, ואל תקרא הסיבוב לתרבות. זה חם התחלה.

מדיניותגדלטיר GPUהסקה לכל שלב פעולהפורמט מערך נתוניםפרקים לפני זה שווה ערך ניסיון
GR00T N1.7בערך 3 B, בערך 40 מ' מאומן במהלך fine-tuningA100 80 GB או H100 80 GBבערך 152 msLeRobot v2.0 או v2.150
GR00T N1.5בערך 3 BA100 80 GB או H100 80 GBבערך 165 msLeRobot v2.0 או v2.150
Pi0.5בערך 3 B על גבי גב PaliGemmaA100 80 GB או H100 80 GBבערך 485 msLeRobot v3.050
SmolVLAבערך 450 MRTX 4090 או כל כרטיס 24 GBבערך 245 msLeRobot v3.030
ACTבערך 80 M, מאומן מאפסRTX 4090 או כל כרטיס 24 GBבערך 20 msLeRobot v3.050

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.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started