एक SO-100 कम लागत वाली रोबोटिक आर्म टेलीऑपरेशन और नीति प्रशिक्षण के लिए सेट अप की गई एक डेस्क पर
DAggerSO-100नकल सीखनाVLAटेलीऑपरेशन

SO-100 पर VLA नीति के साथ DAgger लूप चलाना

AY-Robots ResearchAugust 27, 202615 मिनट पढ़ना

SO-100 आर्म पर एक मानव-गेटेड DAgger राउंड का चरण-दर-चरण विवरण: नीति चलाएं और इसे रिकॉर्ड करें, जब यह गलत हो तो अधिग्रहण करें, रन को सुधार के रूप में फाइल करें, एक मिश्रित डेटासेट बनाएं, और एक चेकपॉइंट से प्रशिक्षण जारी रखें। जिन लोगों के पास लीडर आर्म नहीं है उनके लिए कीबोर्ड और स्लाइडर अधिग्रहण पथ शामिल है, और चार गलतियां जो एक राउंड को व्यर्थ बनाती हैं।

आपकी नीति चलती है। यह घन तक पहुंचती है, ग्रिपर को एक सेंटीमीटर बहुत जल्दी बंद कर देती है, और ऐसे चलती है मानो इसके पास यह हो। कोई त्रुटि नहीं होती है, और प्रशिक्षण हानि को देखने की कितनी भी कोशिश इसे समझा नहीं सकती। समाधान समान प्रदर्शनों पर 20,000 और gradient steps नहीं है। यह है आपके हाथ को आर्म पर ठीक उसी जगह वापस रखना जहां यह गलत हो जाता है, रिकॉर्ड करना कि आपने इसके बजाय क्या किया, और अगली चेकपॉइंट को पुराने डेटा के साथ प्लस उस सुधार पर प्रशिक्षित करना। यह एक DAgger राउंड है, और यह है कि एक SO-100 पर vision-language-action नीति के साथ कैसे चलता है।

सिद्धांत कहीं और है: डेटासेट एकत्रीकरण बिल्कुल क्यों काम करता है और मानव gating इसके बारे में क्या बदलता है। यह operating manual है, और यह एक प्रशिक्षित चेकपॉइंट, एक कार्यशील कैमरा सेट, और एक आर्म मानता है जो चलता है। नीचे दिए गए छह चरण लूप हैं जैसे कि implemented इस प्लेटफॉर्म के DAgger पृष्ठ पर, लेकिन अनुक्रम आपकी अपनी scripts से समान है।

एक राउंड संक्षेप में

  • प्रशिक्षित नीति चलाएं और इसे रिकॉर्ड करें, रन के task text के साथ instead a generic teleoperation label के बजाय।
  • व्यवहार गलत हो जाने के समय अधिग्रहण करें: एक लीडर आर्म के साथ mirror handover, कीबोर्ड के बिना एक के साथ तत्काल और manual या sliders के बिना।
  • हर रन को triage करें: इसे सुधार के रूप में फाइल करें, इसे evaluation episode के रूप में रखें, या इसे discard करें।
  • हाथ से mix compose करें - मूल प्रदर्शन प्लस सुधार, प्रति source चुने गए episodes। कभी corrections अकेले पर प्रशिक्षित न करें।
  • अंतिम चेकपॉइंट से प्रशिक्षण जारी रखें, और नोट करें कि किस चेकपॉइंट ने कौन सा mix produced किया।
  • वह संख्या जो कहती है कि क्या राउंड कुछ भी लायक था training loss नहीं है intervention rate है।

दूसरा राउंड सिर्फ अधिक डेटा क्यों नहीं है

Behavior cloning उन states पर प्रशिक्षित करता है जो एक मानव ने दौरा किया। परीक्षण time पर नीति वह states दौरा करती है जो यह causes करता है, और छोटी action errors compounds हो जाती हैं states में कि कोई demonstration covered नहीं किया। Ross, Gordon और Bagnell ने उस failure को AISTATS 2011 के लिए formalized किया और एक iterative algorithm के साथ इसका उत्तर दिया जो एक stationary deterministic policy को प्रशिक्षित करता है और, उनके reduction के तहत, state distribution के तहत अच्छी तरह perform करना है जो यह induces: current policy चलाएं, expert को states को label करने दें जो यह actually reached करता है, उन्हें dataset में add करें, retrain करें, repeat करें। Kelly et al. ने query को HG-DAgger के साथ practical बनाया, जहां मानव decide करता है कि कब control लें instead of states को बिना controls held किए label करने के; वे simulated और real autonomous driving task पर DAgger और behavior cloning दोनों पर improved performance रिपोर्ट करते हैं। Human gating वह है जो एक desk arm पर loop को tolerable बनाता है - आप अपने हाथों को केवल तब move करते हैं जब कुछ गलत हो रहा हो।

दो परिणाम सिद्धांत की तुलना में व्यावहारिक में अधिक matter करते हैं। Corrections ordinary demonstrations नहीं हैं: वे Mandlekar et al. द्वारा describe किए गए bottleneck regions पर concentrate होते हैं, जहां एक छोटा deviation policy को states में drop कर देता है कि demonstrations कभी covered नहीं किए। और एक dataset जो केवल उन hard parts से बना हो एक badly shaped dataset है - Belkhale, Cui और Sadigh argue करते हैं data side से कि state diversity हमेशा beneficial नहीं है, और कि action divergence और transition diversity together dataset quality decide करते हैं। Mixed dataset एक compromise नहीं है, यह वह point है।

Round one से पहले ये freeze करें

एक DAgger राउंड एक नीति की एक दूसरे के साथ समय के साथ तुलना करता है। कुछ भी जो आप rounds के बीच change करते हैं जो dataset नहीं है वह तुलना को meaningless बनाता है।

  • कैमरा positions और mounts, wrist camera included। एक clamp loosen करें और आपने observation distribution change किया है, नीति नहीं।
  • Exposure और white balance, यदि आपका capture stack उन्हें pin करने देता है। Auto-exposure drifting rounds के बीच एक slow, invisible domain shift है।
  • Arm calibration और servo zero positions। यदि आपको recalibrate करना चाहिए, तो इसे recorded करने से पहले सब कुछ एक separate dataset के रूप में treat करें।
  • Task text। हर VLA यहां इसे condition करता है; rewording करना mid-loop एक different task है।
  • Lighting, table surface, object set। एक new object एक new experiment है, अगली round नहीं।
  • Recording frame rate। Comparing करना intervention rates को दो sampling rasters के अंतर्गत उन differences को produce करता है जो raster से आते हैं।
Wrist camera optional furniture नहीं है

Hsu et al. ने एक hand-centric view की तुलना usual third-person view से की और eye-in-hand perspective को consistently improved training efficiency और out-of-distribution generalisation में पाया, despite seeing less of the scene। एक five-joint arm पर, gripper timing usually वह है जो आपके corrections fixing कर रहे हैं, और gripper timing वह है जो wrist view carry करता है।

Round, end to end

  1. 1
    Inference चलाएं और इसे record करें

    Checkpoint के विरुद्ध run शुरू करें जिसे आप improve करना चाहते हैं, फिर recording को inference root में शुरू करें। इस तरीके से Recorded इसे run का अपना task text inherit करते हैं, जो कि नीति को trained किया गया था, instead default teleoperation label के बजाय। Recording के बिना आप failure को watch कर सकते हैं लेकिन इसे train नहीं कर सकते।

    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 दबाएं और input mode choose करें: leader arm, keyboard या sliders। Runner pause करता है, आप correct करते हैं, आप hand back करते हैं। Frames जो recorded होती हैं जब आप driving कर रहे थे automatic रूप से interventions के रूप में flagged होती हैं।

    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
    Episodes को triage करें

    Decide करें प्रति episode: file करें correction के रूप में, evaluation के रूप में रखें, या discard करें। एक run जो policy ने बिना help के complete किया evaluation data है।

  4. 4
    Correction dataset को sync करें

    Corrections collect होते हैं एक local dataset में प्रति policy और automatic sync के through cloud storage को। कुछ भी mixed नहीं है जो आपने वहां नहीं रखा।

  5. 5
    Mixed dataset को compose करें

    Original dataset को corrections के साथ combine करें, explicitly choosing episodes प्रति source। Result एक ordinary dataset है उस point से आगे।

    bash
    POST /training/datasets/compose
      sources  = [ original_dataset, korrekturen_<policy> ]
      episodes = explicit selection per source
  6. 6
    Checkpoint से प्रशिक्षण जारी रखें

    Mix को previous checkpoint से rather base model के बजाय train करें। Note करें कि कौन सी checkpoint और कौन सा mix; उस pair के बिना round reproducible नहीं है।

    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

Step 2 विस्तार में: अधिग्रहण के दो तरीके

एक लीडर आर्म के साथ

में leader-follower mode takeover एक handover है दो arms के बीच जो एक ही pose में नहीं हैं। Take over को press करना runner को pause करता है और leader को follower के current pose पर drive करता है, तो कुछ नहीं jump होता जब torque transfer करता है। यदि वह alignment drive timeout करता है, तो आप leader को hand से align करते हैं और केवल release करते हैं एक बार दोनों five degrees के within होते हैं। उस point से आप normally teleoperate करते हैं और action column जो आपने command किया record करता है।

इस path के बारे में honest रहें: alignment drive और torque handover loop का least tested part हैं real hardware पर। Handover को test करें एक slow, harmless pose पर before आप इस पर rely करते हैं run में जो आप care करते हैं। एक leader arm तीनों modes में smoothest corrections produce करता है, और भी सबसे अधिक है जो mechanically गलत हो सकता है।

एक लीडर आर्म के बिना: कीबोर्ड और स्लाइडर

अधिकतर लोग जो यह पढ़ते हैं एक arm own करते हैं। यह enough है। Keyboard या slider input choose करें जब आप Take over को press करते हैं, और takeover immediate और manual है - दूसरा arm align करने के लिए नहीं है, तो कोई alignment step नहीं है। Follower अपने pose को hold करता है और input के लिए wait करता है।

Input modeआर्म कैसे चलता हैPer-call limit enforced server द्वाराजब locked होता है
लीडर आर्मMirror leader के joint angles से follower को drive करता हैइस mode में कोई nudge या set calls नहीं; mirror continuously follower goals को write करता हैकभी नहीं locked, और default है यदि कोई input mode नहीं दिया गया है - लेकिन इसे दूसरा arm चाहिए; leader id के बिना takeover refuse किया जाता है
कीबोर्डप्रति key press relative nudge, takeover nudge endpoint को भेजा गयाHard clamp 2 degrees प्रति joint पर, gripper के लिए 4 degrees409 के साथ Rejected यदि takeover leader mode में शुरू किया गया था
स्लाइडरAbsolute target pose, takeover set endpoint को भेजा गयासबसे अधिक 6 degrees के travel target की ओर प्रति call; interface लगभग दस बार एक सेकंड में send करता रहता है409 के साथ Rejected यदि takeover leader mode में शुरू किया गया था

Clamps को server-side से enforce किया जाता है, interface में नहीं, क्योंकि एक mistyped delta एक bus-servo arm पर एक collision है। Keyboard corrections stepwise और slightly coarse आते हैं; slider corrections smoother हैं, क्योंकि server target की ओर walk करता है जबकि interface stream करता रहता है। Either way action column complete commanded pose vector को receive करता है और intervention marking leader path के identical है, तो keyboard corrections dataset में land करते हैं बिना एक format difference के।

text
Q / A   joint 1      R / F   joint 4
W / S   joint 2      T / G   joint 5
E / D   joint 3      Z / X   gripper
Same key layout जो stack में हर जगह है, तो recording से muscle memory carry over करता है।
Training guide एक SO-100 dataset पर एक GR00T fine-tuning run के ordered steps को दिखा रहा है
Round का training side एक ही guided sequence है जो एक first run है; केवल checkpoint field differs।

जब button को press करें

जल्दी rather late। एक correction जो शुरू होता है gripper के बाद बंद हो जाता है nothing पर failure से recover सिखाता है कि नीति को नहीं enter करना चाहिए था, और recovery data उस avoidance data से far less worth है। Interrupt करें पहले moment पर जब आप confident होते हैं trajectory गलत है, correct करें difficult part के through, hand back करें जैसे ही state एक है कि नीति ने before handle किया। ThriftyDAgger उस decision को automate करता है novelty गेटिंग interventions को और estimated risk को fixed human budget के तहत, लेकिन एक single arm पर एक human already watching के साथ, human gate cheaper है और better calibrated है कि कुछ भी आप tune करेंगे।

Open-source stack के साथ doable है और कुछ scripts। यह क्या cost करता है bookkeeping है, और bookkeeping जहां DAgger rounds die करते हैं।

  1. Write frames अपनी अपनी inference script से एक LeRobot dataset में, task string के साथ नीति को trained किया गया था।
  2. Pause करें policy loop को, command source को switch करें, और हर frame को flag करें जो आप drive करते हैं को intervention के रूप में। Flag के बिना, corrections ordinary demonstrations की तरह look करते हैं।
  3. Deliberately decide करें कि क्या happen करता है transition frames के बीच जो policy release control करता है और आपकी पहली input।
  4. Corrections को अपने अपने dataset में रखें प्रति policy, और track करें episode indices hand से तो mix को reconstruct किया जा सकता है।
  5. Point करें fine-tuning entry point को previous checkpoint की ओर, और check करें log में कि यह उन weights को load किया।

Step 3 विस्तार में: triage quality decide करता है

Run के बाद आपके पास एक recording है कुछ frames marked के साथ interventions के रूप में। तीन destinations exist करते हैं, और गलत एक quietly अगली round को poison करता है।

  • File करें correction के रूप में जब intervention एक genuine fix था: policy कहीं गलत था जा रहा था और आपकी input दिखाया सही चीज़ को एक state से कि policy itself produce किया।
  • Keep करें evaluation के लिए clean autonomous runs के लिए और runs के लिए जो आप caution से out take करते हैं। Evaluation episodes कैसे आप measure करते हैं next checkpoint, और वे कभी नहीं trained होने चाहिए।
  • Discard करें runs ruined कुछ unrelated से - एक dropped camera frame, एक stalled servo, एक object जो आपने knocked over किया। एक messy correction कोई correction से worse है।
Freeze frames raw recording में belong करते हैं, training data में नहीं

Policy releasing control के बीच और आपकी पहली input, arm still hold करता है जब recorder लिखता रहता है - identical poses की एक run paired हल्के से different images के साथ। यहां वह handover frames raw recording में stay करते हैं और correction dataset के out में। यदि आप loop को build करते हैं yourself, cut करें deliberately: एक policy trained करें उन पर learn करता है pause करने को जहां यह act करना चाहिए।

Step 5 विस्तार में: mix को compose करना

Composition original dataset लेता है plus correction dataset और produce करता है एक new, ordinary LeRobot dataset जो किसी अन्य की तरह train करता है। Important property यह है कि episode selection explicit है per source - कुछ नहीं blended automatically है। यह minor सुनता है जब तक first time एक policy strangely behave नहीं करता और आपको reconstruct करना होता क्या यह trained था।

Open question ratio है, और कोई भी संख्या नहीं है जो transfer करता है। साहित्य जो agree करता है वह यह है कि corrections करना चाहिए count के लिए more than their frame share। Mandlekar et al. iteratively retrain करते हैं data पर कि उनका intervention system collect करता है, तो policy learns traverse bottlenecks को, और report करते हैं कि agents trained उस तरीके outperform agents trained non-interventional demonstrators से equivalent number of samples पर। Sirius further जाता है और re-weights करता है training samples approximated human trust द्वारा, reporting एक 8 percent gain simulation में और 27 percent real hardware पर policy success rate में methods के विरुद्ध यह compare करता है, converged speed के दो गुना पर। कोई भी training entry points यहां expose नहीं करते एक sample-weighting knob को, तो crude substitute है हर correction episode को keep करना जबकि subsample करना original demonstrations - और write करना down क्या आपने किया।

Dataset recording view SO-100 dataset के episodes को दिखा रहा है camera streams के साथ
Correction episodes ordinary episodes हैं एक per-frame intervention flag के साथ, तो वे compose करते हैं original dataset के साथ बिना conversion के।

Step 6 विस्तार में: क्या continuing from a checkpoint really means करता है

Training mix base model से करना काम करता है लेकिन throws away previous round और cost करता है एक full run। Continuing previous से checkpoint faster है और usually better। यह भी अधिक है limited than phrase suggest करता है।

Weight initialisation एक optimizer resume नहीं है

एक weights-only checkpoint parameters contain करता है और कुछ और नहीं। Loading यह अगली run को एक better starting point देता है base model से, लेकिन optimizer moments, learning-rate schedule position और data order सभी zero से शुरू होते हैं। Expect एक loss spike beginning में continued run के, पढ़ें यह एक failure के रूप में नहीं, और call न करें round को एक resume के रूप में। यह एक warm start है।

नीतिआकारGPU tierInference प्रति action stepDataset formatEpisodes इससे पहले यह worth trying है
GR00T N1.7लगभग 3 B, roughly 40 M trained fine-tuning के दौरानA100 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 एक PaliGemma backbone परA100 80 GB या H100 80 GBलगभग 485 msLeRobot v3.050
SmolVLAलगभग 450 MRTX 4090 या कोई भी 24 GB cardलगभग 245 msLeRobot v3.030
ACTलगभग 80 M, trained from scratchRTX 4090 या कोई भी 24 GB cardलगभग 20 msLeRobot v3.050

Latency compounds अंदर एक DAgger loop में तरीके यह does नहीं during एक demo: roughly 485 ms प्रति action step पर आप take over करते हैं क्योंकि arm hesitated, नहीं क्योंकि यह गलत था, और hesitation corrections useful नहीं हैं training data। यदि आप iterating हैं data पर rather chasing एक final success rate, iterate करें एक fast model पर। Shukor et al. describe करते हैं SmolVLA को designed करते हुए train करने के लिए एक single GPU पर और deploy करने के लिए consumer GPUs या CPUs पर, एक asynchronous inference stack के साथ जो action prediction को execution से decouple करता है allow करने के लिए higher control rates - property जो एक takeover loop को responsive रखता है।

Dataset formats interchangeable नहीं हैं either। GR00T लेता है LeRobot v2.0 या v2.1, और Isaac-GR00T repository describe करता है इसकी input को एक flavour के रूप में LeRobot v2 format की एक added modality description file के साथ; newer trainers expect करते हैं v3.0। एक mix composed wrong version में fail करता है load time rather producing एक bad policy पर - better failure mode, still एक wasted queue slot। dataset documentation lists करता है कौन सा format each trainer लेता है।

Loop, bookkeeping के साथ already done

Takeover एक leader arm, keyboard या sliders के साथ; per-frame intervention marking; filing runs corrections या evaluations के रूप में; composing एक mixed dataset एक explicit episode selection के साथ per source; और continuing training एक checkpoint से base model के बजाय। क्या stay करता है आपका decision कौन सा run एक correction के रूप में count करता है, क्या mix में जाता है, और कब intervention rate fall करना बंद हो गया है।

देखें कैसे DAgger loop को wire किया जाता है

Round को waste करने के चार तरीके

1. Corrections अकेले पर प्रशिक्षण

सबसे common failure और सबसे tempting shortcut। एक correction-only dataset लगभग पूरी तरह से task का difficult middle है, approach और retreat missing के साथ; policy better हो जाती है hard part पर और forget करती है कैसे वहां arrive करें। Aggregation एक implementation detail नहीं है method का, यह mechanism है: old data जो है hold करता है बाकी behavior को जगह पर जबकि corrections move करते हैं एक हिस्सा।

2. राउंड के बीच कैमरा को moving

एक कैमरा जो shift करता है दो centimetres rounds के बीच produce करता है एक policy worse करता है जो आपने शुरू किया, और एक diagnosis जो cost करता है एक day। हर VLA यहां condition करता है images पर; joint state अकेले disambiguate नहीं करता है object कहां है। Photograph करें setup को first round से पहले और check करें वह photograph को हर बाद वाले से।

3. Handover artefacts को training में letting

ऊपर से covered, और list पर क्योंकि यह invisible है। Symptom एक policy है जो stall करती है एक fraction second के previous round के जहां operator take over किया। यह hesitation जैसा दिखता है; यह imitation है।

4. Warm start को एक resume कह रहा है

यदि आप believe करते हैं optimizer state carried over, initial loss spike read होता है एक bug के रूप में और आप hunt करते हैं corrupted data के लिए। यदि आप जानते हैं optimizer fresh started, spike expected है और आप look करते हैं यह क्या आता है after। Same numbers, opposite conclusions।

Round को measure करना

Metric एक human-gated loop के लिए intervention rate है: frames recorded जब आप control में थे, divided total frames के द्वारा run का। यह है takeover status में, और यह केवल संख्या है जो answer करती है question कि round ने पूछा। Training loss fall करती है whether या नहीं नीति improved; success rate binary है और noisy sample sizes पर एक desk arm produce करता है। Intervention rate continuous है, measured on states जो policy itself caused करता है, और drop करता है नीति जैसे जैसे आपको कम need करती है।

Compare करें यह केवल across runs recorded identical conditions के तहत। Full argument, और कैसे build करें एक evaluation set जो survive करता है दो से अधिक rounds, है article on measuring a DAgger loop में। Round one realistically एक feasibility test है: आप checking हैं कि takeover काम करता है आपके hardware पर, कि corrections land करते हैं उनके flags के साथ, और कि continued run load किया checkpoint जो आपने named किया। Rounds दो और तीन जहां rate should शुरू move करना है। यदि यह नहीं move किया है round चार तक, problem upstream है DAgger का।

Per round down लिखेंक्यों यह matter करता है later
Checkpoint जो driven थाबिना इसके आप नहीं कर सकते attribute करें एक improvement एक mix के लिए
Input mode used takeover के लिएKeyboard corrections coarser हैं leader corrections से, और यह show करता है data में
Runs की संख्या और कैसे हर एक को triage किया गयाचाहे round के पास enough corrections matter करने के लिए
Intervention rate प्रति run, और meanLoop का progress metric
Exact episode selection प्रति sourceएकमात्र तरीका reproduce या undo एक round के लिए
Warm start या fresh trainingExplain करता है loss curve जो आप look करेंगे week में

यदि आपके पास अभी तक एक checkpoint नहीं है

Loop के पास कोई entry point नहीं है बिना एक के। Record करें एक first dataset, train एक first policy, run करें - recording, training और policy चलाना उस path को cover करते हैं। Recording client है on download page, GPU tiers और hourly rates पर pricing page, और एक usable episode क्या दिखता है SO-100 data collection guide में। Get करें demonstrations को right करें corrections से पहले: DAgger एक repair mechanism है, और यह काम करता है far better एक ऐसा कुछ जो nearly right पहले से था।

क्या मैं DAgger loop को बिना एक leader arm के चला सकता हूं?

हां। Choose करें keyboard या slider input जब आप Take over को press करते हैं: takeover immediate है और manual, दूसरा arm के बिना align करने के लिए। Keyboard relative nudges भेजता है कि server clamp करता है hard 2 degrees प्रति joint पर और 4 gripper के लिए; sliders एक absolute target भेजते हैं और server move करता है सबसे अधिक 6 degrees इसकी ओर प्रति call, जब interface करता रहता है stream करना। Action column और intervention marking same हैं leader mode के रूप में, तो corrections indistinguishable हैं dataset में।

एक round को कितने corrections की need है?

कोई defensible universal number नहीं है, और frame count matter करता है अधिक than episode count। Working rule यह है कि corrections को नहीं होना चाहिए lost करना mix में: 200 original episodes और तीन correction episodes के साथ, कुछ नहीं move करेगा। Aim करें corrections के लिए जो cover करते हैं failing behavior को several starting configurations से rather same rescue के तीन repetitions।

क्यों corrections अकेले पर प्रशिक्षण ऐसी बुरी idea है?

क्योंकि corrections लगभग पूरी तरह से task का hard middle हैं। Approach, alignment और retreat missing हैं, तो policy lose करती है जो यह पहले से well कर रही थी जबकि improving उस part पर जो आपने fix किया। Keeping old data और adding करना इसमें mechanism itself है, not एक optional extra।

क्या एक checkpoint से continuing previous training run को resume करता है?

नहीं। एक weights-only checkpoint restore करता है parameters और कुछ और नहीं: optimizer moments, learning-rate schedule position और data order fresh शुरू करते हैं। यह एक warm start है, और एक initial loss spike expected है rather एक symptom के रूप में। Write down करें कौन सा दोनों में से आपने actually किया, तो आप read करते हैं curve को correctly एक week बाद।

यदि intervention rate fall नहीं करता है?

Stop करें adding करना rounds को। एक flat rate मतलब corrections teach नहीं कर रहे हैं क्या आप सोचते हैं। Usual causes upstream हैं: एक camera move किया, corrections शुरू करते हैं बहुत late avoidance data होने के लिए, handover frames training set में हैं, या task underdetermined है जो observations से policy actually gets।

कोई भी यह solved problem नहीं है और कोई भी एक click नहीं है। Interactive imitation learning एक active research area है precisely क्योंकि इसके questions - कब intervene करें, कैसे weight करें जो मानव ने किया, कितना old data रखें - कोई settled answers नहीं हैं; survey Celemin et al. द्वारा maps करता है क्या still open है। जो loop करता है उसके पास measurable convergence है जब यह run किया जाता है carefully, hardware पर जो cost करता है कुछ सौ euros। Freeze करें setup को, intervene करें early, triage करें honestly, mix करें deliberately, और record करें intervention rate हर बार।

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started