Chapter 5: 가장 단순한 학습 정책 — Behavior Cloning에서 ACT까지
개요
Chapter 4는 사람의 의도, mapper의 변환, safety projection, controller에 실제로 보낸 action을 하나의 episode timeline에 보존했습니다. 이제 그 기록으로 가장 단순한 learned policy를 만듭니다. 첫 후보는 behavior cloning(BC)입니다. observation을 넣고 expert action을 맞히는 지도학습 문제로 바꾸면, 복잡한 reward나 online exploration 없이도 classical baseline이 다루기 어려운 시각적 variation을 흡수할 수 있습니다.
그러나 낮은 validation loss는 robot이 스스로 만든 상태에서 회복할 수 있다는 뜻이 아닙니다. 배포된 policy의 작은 오차는 다음 observation을 바꾸고, 그 observation은 시범 분포에서 더 멀어질 수 있습니다. action chunking은 여러 미래 action을 한 번에 예측해 짧은 시간의 일관성을 만들지만, chunk가 길어질수록 새 observation을 늦게 반영할 위험도 생깁니다. 이 장은 ACT를 “더 큰 model”로 소개하지 않습니다. plain BC → deterministic chunked BC → ACT를 같은 dataset, action semantics, controller, evaluation protocol에서 비교하며 복잡성을 한 단계씩 승인합니다.
근거 상태 주의: DAgger의 learner-visited state labeling은 원 논문에서 검증된 mechanism입니다 [2]. ACT의 conditional-VAE Transformer, action chunk, overlapping prediction aggregation은 원 ACT/ALOHA 논문을 기준으로 설명합니다 [7]. Capuano tutorial은 학습 순서와 LeRobot 구현 지도를 제공하지만, ACT 결과나 현재 API의 단독 근거로 쓰지 않습니다 [13]. 이 장의 timing budget, stale-action rejection, promotion gate는 여러 출처를 연결한 S12 공학 규칙이며 universal safe setting이 아닙니다.
이 장을 읽고 나면... - plain BC의 지도학습 objective와 closed-loop covariate shift를 구분할 수 있습니다. - DAgger, perturbation, human intervention이 각각 어떤 state와 target을 추가하는지 설명할 수 있습니다. - chunk length, observation horizon, execution horizon, temporal aggregation을 별도 knob로 설정할 수 있습니다. - conditional VAE가 multimodality를 자동으로 해결한다고 가정하지 않고 deterministic baseline과 비교할 수 있습니다. - controller rate, inference latency, action age, queue 상태를 측정해 stale chunk를 거부할 수 있습니다. - checkpoint를 offline, simulation, shadow, bounded hardware gate 순으로 승격할 수 있습니다.
실험 질문은 다음과 같습니다. Chapter 4의 single-arm tabletop assembly dataset으로 plain BC와 ACT를 학습했을 때, insertion 직전의 작은 perception·timing 오차를 줄이는 이득이 model architecture 때문인지, chunking 때문인지, temporal aggregation 때문인지, 또는 intervention data 때문인지 어떻게 분리해 검증할 것인가?
1. 첫 learned baseline은 plain behavior cloning이다
BC는 expert dataset D=\{(o_t,a_t)\}에서 observation o_t를 action a_t로 매핑하는 policy \pi_\theta를 지도학습합니다. continuous action의 단순 baseline은 mask m_t와 dimension별 scale w를 포함한 회귀 손실로 쓸 수 있습니다.
$$
\mathcal{L}_{BC}(\theta)=
\frac{1}{\sum_t m_t}
\sum_t m_t\left\|w\odot\left(a_t-\pi_\theta(o_t)\right)\right\|_1
$$
o_t에는 wrist/scene image, joint state, gripper state, task ID가 들어갈 수 있습니다. a_t는 Chapter 4의 raw, mapped, sent 중 하나를 무심코 고르는 field가 아닙니다. policy가 어떤 interface를 소유하는지 먼저 정하고 target semantics를 고정해야 합니다. 예를 들어 safety projection 앞의 bounded Cartesian proposal을 학습한다면, policy output과 실제 sent action 사이의 projection delta도 평가합니다. sent action을 직접 target으로 쓰면 supervisor의 수정까지 expert intent로 학습할 수 있으므로 reject·clamp 구간을 mask하거나 별도 label로 보존해야 합니다.
Learning from Demonstration 연구는 demonstration source, representation, policy learning, execution을 한 덩어리로 취급하지 말아야 함을 오래전부터 강조했습니다 [1]. RoboMimic도 dataset, observation modality, architecture, training choice가 offline imitation 결과에 함께 작용함을 비교하는 benchmark를 제공합니다 [5]. 따라서 첫 실험의 목적은 최고 성공률을 얻는 것이 아니라 data와 controller interface가 맞는지 드러내는 가장 작은 executable baseline을 만드는 것입니다.
1.1 baseline을 일부러 작게 유지하는 이유
encoder, temporal model, generative head, augmentation, intervention data를 동시에 넣으면 failure attribution이 사라집니다. 먼저 한 시점 또는 짧은 observation window를 받는 deterministic policy를 학습합니다. image encoder와 proprioception encoder를 결합하고, 고정된 action representation을 회귀하며, train-only normalization을 사용합니다. seed, optimizer, augmentation, frame selection, transform version을 config에 고정합니다.
Implicit Behavioral Cloning처럼 energy-based objective는 action multimodality를 다루는 다른 설계점을 제시하지만 [6], 이 장의 첫 baseline으로 즉시 승격하지 않습니다. energy sampling, candidate generation, inference budget이 추가되면 plain regression에서 발견할 unit, sign, frame, split 결함을 가릴 수 있기 때문입니다. generative policy는 Chapter 6에서 같은 task와 timing contract로 비교합니다.
| 후보 | 출력 | 추가하는 가정 | 먼저 확인할 실패 | 승격 조건 |
|---|---|---|---|---|
| plain BC | 현재 action 하나 | 한 observation에서 적절한 target이 거의 단일값 | 평균 action, jitter, drift, OOD state | data/interface sanity와 closed-loop baseline 확보 |
| deterministic chunked BC | 미래 K action | 짧은 구간의 motion pattern이 반복 가능 | open-loop drift, chunk boundary jump | plain BC보다 matched rollout 개선, timing gate 통과 |
| ACT | latent-conditioned action chunk | latent와 sequence model이 demonstration variation을 유용하게 표현 | posterior collapse, style mismatch, stale chunk | chunked BC 대비 독립 이득과 재현성 |
| DAgger/HIL overlay | learner state의 expert correction | expert가 안전하게 label 또는 takeover 가능 | authority delay, biased recovery set | 별도 intervention split과 human-cost budget |
| diffusion/flow | conditional action distribution | multimodal density와 sampling cost가 필요 | sampling deadline, feasibility, recovery | Chapter 6의 matched comparison에서 판단 |
1.2 offline loss는 필요하지만 promotion metric이 아니다
train/validation loss는 pipeline이 학습 가능한지 확인하고 overfit·underfit을 비교하는 데 필요합니다. 하지만 action error를 평균하면 contact 직전의 작은 Cartesian 오차와 free-space의 작은 오차가 같은 값으로 합쳐질 수 있습니다. dataset action 자체가 noisy하거나 같은 observation에서 두 합리적 motion이 갈라지면, 평균 prediction은 두 mode 사이의 나쁜 action이 될 수 있습니다.
그래서 offline report는 최소한 task phase, object/scene/operator split, intervention 여부, projection 여부, action dimension별로 나눕니다. one-step error 외에 chunk rollout error, endpoint error, velocity·acceleration discontinuity, gripper transition timing, prediction disagreement를 기록합니다. 이 지표도 hardware success의 대체물이 아니라 diagnosis artifact입니다.
2. covariate shift는 closed loop에서 발생한다
expert-only dataset은 expert가 만든 state distribution d_{\pi_E}를 주로 담습니다. policy \pi_\theta를 실행하면 작은 action error가 다음 state를 바꾸고, policy는 자신의 분포 d_{\pi_\theta}에서 행동해야 합니다. learner가 만든 state가 expert dataset에 없다면 one-step loss가 작아도 recovery target이 없습니다. 즉 training input distribution과 deployment input distribution이 policy 자체 때문에 달라집니다. BC가 learner-induced state에서 error를 누적할 수 있다는 경계는 task와 platform에 따라 크기가 달라지며, DAgger의 이론적 reduction을 특정 assembly cell의 실패율로 직접 바꾸면 안 됩니다 [2] [1] [3].
이 문제를 단순히 “더 많은 episode”로 해결할 수는 없습니다. 성공 trajectory를 같은 initial state에서 반복하면 expert tube의 밀도만 높아질 수 있습니다. 필요한 것은 object pose, lighting, fixture tolerance 같은 exogenous variation뿐 아니라 grasp가 조금 비틀렸거나 approach가 늦어진 policy-induced deviation 근처의 recovery coverage입니다.
2.1 DAgger가 추가하는 것은 online reward가 아니라 label distribution이다
DAgger는 현재 learner를 rollout하고, learner가 방문한 state에서 expert action을 query해 dataset에 합친 뒤 다시 학습하는 반복 구조입니다 [2]. 핵심은 expert trajectory만 따라가는 대신 learner state distribution 위에 supervised label을 얻는 것입니다.
$$
D_{i+1}=D_i\cup\{(o,\pi_E(o)):o\sim d_{\pi_i}\},
\qquad
\pi_{i+1}=\operatorname{Train}(D_{i+1})
$$
이 식은 hardware에서 learner에게 무제한 motion authority를 주라는 뜻이 아닙니다. unsafe state를 일부러 만들 필요도 없습니다. simulation, recorded perturbation, shadow proposal, reduced-speed bounded rollout처럼 expert가 관찰하고 label할 수 있는 범위부터 시작합니다. DART는 supervisor action에 perturbation을 주어 recovery-like state를 수집하는 방향을 제안하고 [3], HG-DAgger는 human expert가 intervention timing을 선택하는 interactive variant를 다룹니다 [4]. 어느 방식도 local risk assessment, takeover latency, stop path를 대신하지 않습니다.
2.2 intervention은 DAgger label과 같지 않을 수 있다
Chapter 4의 INTERVENTION_REQUESTED → HUMAN_RECOVERY → HUMAN_CORRECTION timeline을 그대로 사용합니다. 사람이 위험을 보고 controller authority를 가져오는 데 시간이 걸리면, takeover 후 첫 action은 “요청 시점 state의 expert action”이 아닐 수 있습니다. 그 사이 robot state와 camera frame이 바뀌었기 때문입니다. LeRobot의 current HIL workflow는 autonomous와 human correction segment를 구분해 기록하는 구현 지도를 제공하지만 [17], authority 전환의 안전성과 label 의미는 cell이 검증해야 합니다.
intervention data를 세 종류로 나눕니다.
- query label: robot을 움직이지 않고 frozen 또는 recorded state에 expert가 준 target.
- takeover action: human authority가 controller에 실제 accepted된 뒤 실행된 sent action.
- recovery trajectory: 안전한 state나 task manifold로 돌아가기 위한 여러 action; 원래 subtask의 nominal target과 다를 수 있습니다.
이 셋을 하나의 “expert action”으로 합치지 않습니다. policy proposal, intervention request, accepted takeover, recovery completion에 각각 timestamp와 state snapshot을 둡니다. TRANSIC처럼 online correction을 sim-to-real recovery에 사용하는 연구는 correction이 유용한 training signal이 될 수 있음을 보여주는 후보지만 [11], 해당 apparatus의 결과를 S12 cell로 옮기지 않습니다. intervention distribution은 사람이 알아챈 실패에 치우치며, 보지 못한 hazard를 포괄하지 않습니다.
2.3 correction loop의 승격 경계
첫 correction round는 simulation 또는 replay에서 수행합니다. 둘째는 policy가 action을 제안하지만 controller는 classical baseline을 실행하는 shadow mode입니다. 셋째는 reduced workspace·speed·force limit 아래에서 expert와 independent stop authority가 있는 bounded rollout입니다. 매 round마다 새 data가 실제로 learner-state coverage를 늘렸는지, 단순히 쉬운 recovery를 반복했는지 확인합니다.
다음 조건이면 correction round를 중단합니다.
- takeover p95가 task의 허용 반응 시간보다 길다.
- authority transition 사이에 stale policy action이 계속 전송된다.
- intervention episode가 validation/test object나 scene을 train으로 누출한다.
- recovery action이 nominal action target과 섞여 oscillation을 만든다.
- human fatigue로 correction consistency가 떨어진다.
- safety event가 증가하는데 success만 개선된다.
3. action chunking은 시간을 하나의 prediction target으로 만든다
plain BC가 매 step action 하나를 예측하면 observation noise와 small regression error가 command jitter로 나타날 수 있습니다. action chunking은 시점 t에서 미래 K개의 action을 함께 예측합니다.
$$
\hat A_t=\pi_\theta(O_{t-H_o+1:t})
=\left[\hat a_{t|t},\hat a_{t+1|t},\ldots,\hat a_{t+K-1|t}\right]
$$
H_o는 observation horizon, K는 prediction chunk length입니다. 그러나 K개를 모두 실행해야 하는 것은 아닙니다. 실제 execution horizon H_e\le K를 두고, 앞부분만 실행한 뒤 새 observation으로 다시 예측할 수 있습니다. 이 구분이 없으면 “chunk size 20”이 prediction인지 open-loop execution인지 알 수 없습니다.
ACT 원 논문의 양팔 시스템에서는 conditional-VAE Transformer로 action chunk를 예측하고, 서로 다른 시점에서 나온 overlapping predictions를 모아 현재 action을 구성합니다 [7]. 이 mechanism을 single-arm assembly에 쓸 수는 있지만, 원 장치의 camera layout, action semantics, task horizon, controller와 같은 조건이라고 가정할 수 없습니다.
3.1 ACT의 objective를 component별로 본다
ACT training을 단순화하면 action sequence reconstruction과 latent regularization을 결합한 형태로 볼 수 있습니다.
$$
\mathcal{L}_{ACT}
=\sum_{j=0}^{K-1}m_{t+j}
\left\|a_{t+j}-\hat a_{t+j|t}\right\|_1
+\beta D_{KL}\!\left(q_\phi(z\mid o_t,A_t)\,\|\,\mathcal{N}(0,I)\right)
$$
첫 항은 chunk를 expert sequence에 맞추고, 둘째 항은 training-time latent posterior를 prior에 regularize합니다. padding mask m이 없으면 episode 끝을 반복하거나 zero-padding한 값이 실제 action처럼 학습될 수 있습니다. \beta가 너무 크면 latent가 무시되고, 너무 작으면 sampled latent가 불안정하거나 training sequence를 암기할 수 있습니다. 이 diagnosis는 KL, reconstruction, latent sensitivity, rollout variation을 함께 봐야 합니다.
conditional VAE는 “사람 시범이 다양하면 자동으로 모든 mode를 보존한다”는 보증이 아닙니다. action label이 camera ambiguity, operator style, 다른 task phase 때문에 갈라지는지 먼저 구분해야 합니다. ACT original evaluation의 deterministic inference convention과 training latent 사용을 local implementation에서 재현했는지 기록합니다. latent sample을 hardware action diversity로 곧바로 노출하지 않습니다. 여러 sample은 offline 또는 simulation에서 feasibility와 task phase consistency를 먼저 평가합니다.
ACT 원문이 선택된 fine-grained bimanual task와 자체 장치에서 제시한 80–90% success 및 대략 10분의 demonstration이라는 결과는 그 조건 안에서만 읽어야 합니다 [7]. 이 숫자를 single-arm assembly의 기대치로 옮기거나 unmatched study와 순위표로 비교하지 않습니다. 이후 ALOHA Unleashed도 더 넓은 dexterous recipe를 연구하지만, 이 장에서는 exact matched result를 주장하지 않고 data와 chunk-policy lineage만 참고합니다 [10].
3.2 temporal aggregation은 ensemble이면서 지연 선택이다
policy를 매 시점 실행하면 같은 실제 action 시각 u에 대해 여러 chunk가 prediction을 냅니다. s\le u에서 시작한 prediction을 \hat a_{u|s}라 할 때 다음처럼 가중 평균할 수 있습니다.
$$
\bar a_u=
\frac{\sum_{s\in\mathcal{S}_u}w(u-s)\hat a_{u|s}}
{\sum_{s\in\mathcal{S}_u}w(u-s)},
\qquad w(\Delta)=\exp(-\lambda\Delta)
$$
\lambda가 크면 새 observation에 조건화된 prediction을 더 믿고, 작으면 오래된 chunk와 더 강하게 smoothing합니다. 오래된 prediction은 noise를 줄일 수 있지만 현재 contact state가 바뀌었을 때 stale command가 됩니다. 따라서 aggregation weight는 visual smoothness만 보고 정하지 않습니다. action age, phase transition, force/collision gate, observation divergence와 함께 검증합니다.
BAKU는 multimodal encoder, Transformer trunk, detachable action head, action chunking·temporal smoothing을 함께 연구해 generative head와 temporal design을 분리해 볼 counterpoint를 제공합니다 [9]. 그러나 그 aggregate 결과를 이 cell로 옮기지 않습니다. local experiment는 plain BC, deterministic chunked head, ACT를 같은 encoder·dataset·compute budget으로 가능한 한 맞춰야 합니다. strong plain 또는 chunked BC가 generative policy나 RL보다 먼저 와야 한다는 것은 이 책의 method-selection rule이지 어느 한 benchmark가 보편적으로 증명한 순위가 아닙니다 [9] [7] [8].
4. chunk length는 controller와 함께 결정한다
chunk를 model hyperparameter로만 고르면 실제 timing contract가 빠집니다. controller frequency를 f_c, prediction length를 K, 실제로 새 observation 없이 실행하는 action 수를 H_e라 하면 prediction span과 open-loop span은 각각 K/f_c, H_e/f_c입니다. 여기에 observation age L_o, preprocessing L_p, inference L_i, transport L_n, queue wait L_q가 더해집니다.
$$
L_{decision}=L_o+L_p+L_i+L_n+L_q,
\qquad
age(a_u)=t^{exec}_u-t^{obs}_{condition}
$$
model inference 20 ms 하나로는 action freshness를 알 수 없습니다. camera frame이 이미 70 ms 오래됐거나, chunk가 queue에서 100 ms 기다렸을 수 있습니다. LeRobot의 asynchronous inference 문서는 RobotClient execution과 PolicyServer chunk prediction을 분리하고 queue를 이용해 겹쳐 실행하는 구현을 설명합니다 [18]. 이는 throughput pattern이지 hard real-time 또는 safety guarantee가 아닙니다. chunk length, aggregation, controller rate, inference delay, stale-action behavior는 함께 측정해야 합니다 [7] [18]. A2C2는 long chunk가 최신 observation을 반영하지 못하는 문제를 겨냥한 correction 후보지만, source packet에서 primary body locator가 아직 충분하지 않으므로 이 장은 결과 수치를 사용하지 않습니다 [14].
4.1 worked timing example
다음 수치는 설명을 위한 local configuration이며 robot 권고값이 아닙니다.
- low-level trajectory/controller interface는 50 Hz reference를 소비합니다. action interval은 20 ms입니다.
- policy는 10 Hz로 새 observation window를 받고 K=20 action, 즉 400 ms prediction span을 만듭니다.
- client는 H_e=5 action, 즉 최대 100 ms만 실행하고 새 chunk로 갱신하려 합니다.
- measured p95는 observation age 24 ms, preprocessing 8 ms, inference 54 ms, transport 6 ms, queue wait 12 ms입니다.
이 경우 새 chunk의 p95 decision age는 104 ms입니다. 이미 실행 중인 100 ms horizon보다 깁니다. inference가 끊기지 않아도 “다음 chunk가 항상 제시간에 온다”는 가정이 깨집니다. 선택지는 네 가지입니다.
- policy request를 더 일찍 보내 overlap margin을 늘립니다.
- encoder나 model을 줄여 p95와 maximum latency를 낮춥니다.
- H_e를 늘리되 contact transition에서 더 오래 open loop가 되는 위험을 시험합니다.
- deadline miss 시 새 chunk가 아니라 validated hold, retreat, classical fallback을 실행합니다.
insertion approach와 free-space transport에 같은 H_e를 쓸 이유도 없습니다. free-space에서는 collision-checked path 근처의 chunk를 길게 실행할 수 있지만, contact onset 근처에서는 force event나 pose residual이 바뀌면 old chunk를 즉시 invalidate해야 할 수 있습니다. phase별 chunk policy를 사용한다면 phase owner와 transition condition을 versioned config에 넣습니다.
4.2 stale-action policy를 명시한다
각 chunk에 다음 metadata를 붙입니다.
policy_checkpoint,config_hash,chunk_id,sequence;- observation event time과 clock domain, inference start/end;
- first/last action intended time, maximum valid age;
- task phase, controller mode, calibration epoch;
- state fingerprint 또는 divergence check용 key state;
- aggregation eligibility, replacement rule, fallback action.
client는 newest chunk라는 이유만으로 실행하지 않습니다. observation age가 limit를 넘거나, sequence가 reorder됐거나, phase가 바뀌었거나, current state가 conditioning state에서 허용 이상 벗어나면 reject합니다. queue underrun 때 last action을 무기한 hold하지 않습니다. gripper hold, zero velocity, trajectory pause, retract 중 무엇이 안전한지는 controller와 task phase별로 검증해야 합니다. learned policy가 independent watchdog이나 force limit의 owner가 되어서는 안 됩니다.
| 증상 | 먼저 볼 log | 가능한 원인 | 다음 시험 |
|---|---|---|---|
| chunk 경계에서 jerk | chunk ID, overlap, action derivative | normalization mismatch, no aggregation, phase reset | recorded window에서 boundary replay |
| smooth하지만 target을 지나침 | action age, old-chunk weight, contact event | stale aggregation, H_e 과대 | latency injection과 contact invalidation |
| queue가 자주 빈다 | p50/p95/max inference, network, watermark | compute tail, request timing, transport jitter | local server와 remote server 분리 비교 |
| gripper timing만 늦다 | gripper channel timestamp와 mask | action dimension offset, padding, phase label | golden chunk와 event alignment |
| intervention 뒤 policy가 재개돼 충돌 | authority state, queue purge, sequence | old chunk 잔존, handback race | takeover/return state-machine test |
| offline loss는 낮고 rollout은 drift | split, learner-state distance, projection delta | covariate shift, label ambiguity | shadow rollout과 correction round |
5. training에서 checkpoint 승격까지 하나의 pipeline으로 만든다
Capuano tutorial의 dataset → ACT → optimized inference 흐름은 구현 순서를 이해하는 데 유용합니다 [13]. 하지만 current API는 공식 LeRobot 문서와 pinned version으로 다시 확인합니다. processor 문서는 raw hardware values, model transition, robot action 사이의 변환 경계를 보여주고 [15], rollout 문서는 autonomous execution·recording·reset·HIL workflow를 구분합니다 [16] [17]. 예제 command나 duration은 safety envelope가 아닙니다.
5.1 reproducible training workflow
- dataset freeze: release ID, parent, task card, split manifest, calibration epochs, intervention masks, schema hash를 고정합니다.
- processor freeze: observation/action ordering, unit, normalization statistics, image transform, padding/missing mask를 golden batch로 시험합니다.
- plain BC run: smallest deterministic head를 여러 seed로 학습하고 train/validation curve, phase-stratified error, checkpoint hash를 남깁니다.
- chunk-only ablation: encoder와 data는 유지하고 deterministic K-action head를 추가합니다. K, H_o, H_e, aggregation on/off를 기록합니다.
- ACT run: cVAE encoder, KL weight, latent dimension, Transformer, padding mask를 추가합니다. reconstruction/KL/latent sensitivity를 별도 plot으로 냅니다.
- offline sequence replay: stored observation window에서 chunk prediction, overlap, timestamp, projection을 replay합니다.
- simulation regression: initial-state bins, object/scene variation, delay/drop injection, contact transition을 동일 evaluator로 반복합니다.
- shadow run: policy proposal은 기록하되 validated baseline이 robot을 움직입니다. proposal age, rejection, divergence를 측정합니다.
- bounded hardware trial: 승인된 checkpoint만 reduced envelope에서 실행하고 independent stop authority와 rollback을 유지합니다.
checkpoint는 weight file이 아닙니다. dataset ID, code commit, dependency lock, processor config, action semantics, observation keys, normalization stats, model config, seed, training curves, offline report, timing profile, evaluator version, known limitations을 묶은 immutable manifest입니다. camera 순서나 gripper scale이 다르면 같은 weight라도 다른 policy artifact입니다.
5.2 evaluation matrix
| gate | 핵심 질문 | 필수 metric | fail 시 되돌아갈 곳 |
|---|---|---|---|
| offline | tensor와 target 의미가 맞는가 | phase별 L1/L2, endpoint, mask, saturation | dataset/processor |
| sequence replay | chunk와 aggregation이 연속적인가 | boundary jerk, overlap disagreement, age | horizon/aggregation config |
| simulation | deviation에서 회복하는가 | unassisted success, recovery, collision/force events | data coverage/model |
| delay injection | stale state를 안전하게 거부하는가 | deadline miss, stale reject, queue underrun | client/server contract |
| shadow | proposal이 deployed state에서 타당한가 | projection delta, OOD, disagreement, intervention request | policy/data |
| bounded hardware | local envelope에서 추가 가치가 있는가 | task success, intervention, stop, latency, cycle time | previous approved checkpoint |
성공률은 unassisted와 intervention-assisted를 나눕니다. initial-state bin, object instance, scene, operator, calibration epoch별 confidence interval과 failure taxonomy를 남깁니다. safety projection 횟수가 늘면서 task success가 올랐다면 policy가 좋아졌다고 결론내리지 않습니다. supervisor가 더 많이 구조한 결과일 수 있습니다. latency는 mean뿐 아니라 p50, p95, maximum, deadline miss와 clock provenance를 기록합니다.
5.3 evidence tier를 결과표 옆에 둔다
- 원 방법 논문: DAgger와 ACT mechanism을 설명하는 근거입니다 [2] [7]. apparatus와 evaluation boundary를 함께 둡니다.
- benchmark·후속 연구: RoboMimic, IBC, BAKU, ALOHA Unleashed, TRANSIC은 대안과 failure question을 넓힙니다 [5] [6] [9] [10] [11]. unmatched headline number는 가져오지 않습니다.
- 공식 software docs: 현재 processor, rollout, HIL, async interface를 확인합니다 [15] [16] [17] [18]. access date와 pinned release가 필요하며 application safety 증거가 아닙니다.
- tutorial synthesis: learning sequence와 source map을 제공합니다 [13]. summarized method의 결과 주장은 원출처로 돌아갑니다.
- local experiment evidence: 이 cell의 timing, success, intervention, safety event를 결정합니다. 논문 숫자보다 deployment 승인에 직접적이지만, 다른 cell로 일반화되지 않습니다.
출처와 라이선스: Mandlekar et al., PMLR 164 원 출판물, Figure 1 “Tasks.” 원 캡션 포함. CC BY 4.0. PDF page 2에서 figure와 원 캡션만 잘랐으며 의미 변경은 하지 않았습니다.
6. 제조 셀 적용 체크포인트
tabletop insertion cell에서 다음 artifact를 한 묶음으로 검토합니다.
task와 data
- task phase: acquire, grasp, transport, pre-contact, insert, release, retreat가 evaluator와 일치합니다.
- train/validation/test가 object, scene, operator, calibration epoch 기준으로 독립입니다.
- action target이 proposal인지 sent action인지 명시되고 projection/rejection mask가 있습니다.
- intervention request, accepted takeover, recovery, correction, handback이 separate authority label입니다.
- failure와 reset episode가 삭제되지 않고 training admission rule이 따로 있습니다.
model과 timing
- plain BC, deterministic chunked BC, ACT가 같은 dataset version과 matched encoder 조건에서 비교됩니다.
- H_o, K, H_e, controller rate, policy request rate, aggregation weight가 config에 있습니다.
- observation age와 end-to-end action age의 p50/p95/max가 clock domain과 함께 기록됩니다.
- stale, reorder, duplicate, underrun, phase transition의 reject/fallback test가 통과합니다.
- cVAE KL, reconstruction, latent sensitivity와 seed variance가 검토됩니다.
safety와 ownership
- policy는 bounded proposal만 소유하고 collision/force gate, watchdog, E-stop은 independent owner가 유지합니다.
- queue purge와 authority handoff가 intervention state machine에서 시험됩니다.
- duration limit을 safety envelope로 취급하지 않습니다.
- rollback 가능한 approved checkpoint와 classical fallback이 준비됩니다.
- human workload, takeover latency, reset labor를 success와 함께 기록합니다.
promotion checklist
- [ ] dataset·processor golden batch와 round-trip test가 통과했습니다.
- [ ] required claim·config·checkpoint·evaluation artifact에 version과 hash가 있습니다.
- [ ] plain BC failure를 재현했고 chunking이 해결하려는 failure가 구체적입니다.
- [ ] ACT의 이득이 encoder, data, chunk length, aggregation 차이와 분리됐습니다.
- [ ] latency/drop injection에서 stale action이 실행되지 않습니다.
- [ ] simulation과 shadow에서 new safety event가 증가하지 않습니다.
- [ ] bounded hardware trial의 stop authority와 abort condition이 사전 승인됐습니다.
- [ ] unassisted success, intervention, projection, deadline miss, recovery를 함께 보고했습니다.
7. Codex에 줄 수 있는 bounded 구현 프롬프트
Goal
- Build a reproducible plain-BC → deterministic chunked-BC → ACT comparison
for the versioned tabletop-insertion dataset.
Context
- Read the task card, split manifest, action/observation schema, calibration epochs,
controller contract, and approved simulation evaluator.
- Treat raw, mapped, proposed, and sent actions as different fields.
제약
- hardware를 움직이거나 controller·safety limit을 바꾸지 않고 device setting을 추측하지 않는다.
- dataset, code, dependency, processor config, 모든 checkpoint를 pin한다.
- object/scene/operator/calibration 기준 test group은 training에서 제외한다.
- 먼저 plain BC를 구현하고 encoder·data를 고정한 채 chunking을 추가한 다음,
padding, KL, latent, aggregation config를 명시한 ACT를 비교한다.
- event/arrival clock, observation age, inference p50/p95/max, queue state,
chunk sequence, stale/reorder rejection, projection delta, authority state를 기록한다.
- policy에는 collision·force gate, watchdog, E-stop, torque authority를 맡기지 않는다.
완료 조건
- golden-batch processor test와 checkpoint reload test가 통과한다.
- 세 baseline 모두 matched offline, sequence-replay, simulation report를 갖는다.
- delay/drop test에서 expired chunk가 거부되고 fallback이 deterministic임을 보인다.
- shadow-run report가 proposal, projected, sent, baseline action을 분리한다.
- 결과물은 config, hash, plot, failure taxonomy, rollback command와
promotion recommendation을 포함하며 hardware command는 실행하지 않는다.
Safety
- Stop at simulation and shadow artifacts. Generate a separate human-reviewed
hardware trial card with reduced envelope, independent stop authority,
abort thresholds, and rollback; do not execute it.
이 프롬프트의 목적은 ACT repository를 그대로 실행하는 것이 아닙니다. data semantics와 timing contract를 먼저 test로 만들고, model change가 어떤 artifact를 추가해야 하는지 제한하는 것입니다.
8. 남은 실패 모드와 열린 질문
첫째, universal chunk length는 없습니다. task phase, contact timescale, controller rate, model latency, observation age가 함께 바뀝니다. 같은 task에서도 transport와 insertion에 다른 horizon이 필요할 수 있습니다.
둘째, temporal aggregation은 smoothness와 responsiveness 사이의 trade-off입니다. average command가 feasible하다는 보장도 없습니다. joint/Cartesian constraint projection과 contact controller는 계속 남아야 합니다.
셋째, demonstration multimodality의 원인을 모르면 generative latent가 noise를 모델링할 수 있습니다. operator style, hidden task variable, calibration drift, timestamp error, genuinely multiple valid strategies를 분리해야 합니다. UMI처럼 embodiment-independent data collection을 지향하는 연구도 action alignment와 deployment interface를 새로 검증해야 합니다 [12].
넷째, intervention data는 recovery를 가르칠 수 있지만 human attention boundary 안에서만 수집됩니다. 늦은 takeover, unseen hazard, fatigue, recovery-only bias를 independent safety evidence로 오해하면 안 됩니다.
다섯째, checkpoint reproducibility와 physical reproducibility는 다릅니다. 같은 weight를 reload해도 camera exposure, network tail, controller firmware, fixture friction이 바뀌면 rollout distribution이 달라집니다. deployment manifest는 model뿐 아니라 cell state를 포함해야 합니다.
기존 서베이와의 연결
#S11의 작은 BC exercise는 observation–action–episode–checkpoint–evaluation 흐름의 입구를 만들었습니다. 이 장은 그 문장이나 수치를 복사하지 않고, Chapter 4의 새 dataset contract 위에서 covariate shift, correction authority, chunk timing, ACT ablation, deployment gate를 새 근거로 확장합니다. #S11이 release-ready가 되기 전에는 공개 chapter link를 확정하지 않습니다.
다음에 배울 것
plain 또는 chunked BC와 ACT가 matched protocol에서 충분하면 더 복잡한 model을 추가할 이유가 없습니다. 그러나 같은 observation에서 여러 개의 유효한 action trajectory가 존재하고 deterministic chunk나 cVAE baseline이 평균 행동, mode omission, recovery failure를 계속 보인다면 Chapter 6으로 갑니다. 거기서는 Diffusion Policy와 flow matching을 더 최신이어서가 아니라 multimodal action distribution을 생성할 필요가 있다는 명시적 failure hypothesis 아래 비교합니다.
이 장이 Chapter 6에 넘기는 interface는 고정됩니다. versioned dataset와 split, observation/action semantics, H_o/K/H_e, controller rate와 deadline, stale rejection, constraint projection, checkpoint manifest, matched evaluator가 그것입니다. VLA와 generalist policy의 pretraining·tokenization·cross-embodiment 비교는 #S13의 범위이며, 어떤 상위 policy도 이 timing·controller·safety 계약을 우회하지 않습니다.
참고문헌
- Argall, B. D., Chernova, S., Veloso, M., & Browning, B. (2009). A Framework for Learning from Demonstration. Robotics and Autonomous Systems. DOI: 10.1016/j.robot.2008.10.024.
- Ross, S., Gordon, G., & Bagnell, J. A. (2011). A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning. AISTATS.
- Laskey, M., Lee, J., Fox, R., Dragan, A., & Goldberg, K. (2017). DART: Noise Injection for Robust Imitation Learning. CoRL. arXiv:1703.09327.
- Kelly, M., Sidrane, C., Driggs-Campbell, K., & Kochenderfer, M. J. (2019). HG-DAgger: Interactive Imitation Learning with Human Experts. ICRA. DOI: 10.1109/ICRA.2019.8793698.
- Mandlekar, A., et al. (2021). RoboMimic: A Benchmark for Robot Learning from Demonstration. CoRL. arXiv:2108.03298.
- Florence, P., Lynch, C., Zeng, A., Ramirez, O. A., Wahid, A., Downs, L., Wong, A., Lee, J., Mordatch, I., & Tompson, J. (2022). Implicit Behavioral Cloning. CoRL. arXiv:2109.00137.
- Zhao, T. Z., Kumar, V., Levine, S., & Finn, C. (2023). Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware. RSS. arXiv:2304.13705.
- Chi, C., et al. (2023). Diffusion Policy: Visuomotor Policy Learning via Action Diffusion. RSS. arXiv:2303.04137. Terry 한국어 해설.
- Haldar, S., Peng, Z., & Pinto, L. (2024). BAKU: An Efficient Transformer for Multi-Task Policy Learning. arXiv:2406.07539.
- Zhao, T. Z., et al. (2024). ALOHA Unleashed: A Simple Recipe for Robot Dexterity. CoRL. arXiv:2410.13126.
- Jiang, Y., et al. (2024). TRANSIC: Sim-to-Real Policy Transfer by Learning from Online Correction. CoRL.
- Ha, H., et al. (2024). Universal Manipulation Interface: In-The-Wild Robot Teaching Without In-The-Wild Robots. RSS. arXiv:2402.10329. Terry 한국어 해설.
- Capuano, F., Pascal, C., Zouitine, A., Wolf, T., & Aractingi, M. (2025). Robot Learning: A Tutorial. arXiv:2510.12403v1. DOI: 10.48550/arXiv.2510.12403.
- Sendai, K., Alvarez, M., Matsushima, T., Matsuo, Y., & Iwasawa, Y. (2025). Leave No Observation Behind: Real-time Correction for VLA Action Chunks. arXiv:2509.23224.
- Hugging Face (2026a). LeRobot Robot and Teleoperator Processors. Official LeRobot documentation, accessed 2026-07-15.
- Hugging Face (2026b). LeRobot Policy Deployment and Rollout. Official LeRobot documentation, accessed 2026-07-15.
- Hugging Face (2026c). LeRobot Human-In-the-Loop Data Collection. Official LeRobot documentation, accessed 2026-07-15.
- Hugging Face (2026d). LeRobot Asynchronous Inference. Official LeRobot documentation, accessed 2026-07-15.
- Dean A. Pomerleau (1989). ALVINN: An Autonomous Land Vehicle in a Neural Network. NeurIPS 1988 annotated primary reading. canonical proceedings record. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Dataset coverage, action semantics, covariate shift, horizon, and recovery policy limit transfer.
- Brian Armstrong-Hélouvry et al. (1994). A Survey of Models, Analysis Tools and Compensation Methods for the Control of Machines with Friction90209-7). Annotated primary reading. DOI: 10.1016/0005-1098(94)90209-7. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Secondary source and pre-modern actuators; each model must be revalidated on the actual joint/hand.
- Carlos Canudas de Wit et al. (1995). A New Model for Control of Systems with Friction. Annotated primary reading. DOI: 10.1109/9.376053. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Parameters can be weakly identifiable under limited excitation and vary with temperature, wear, lubrication, and load.
- Stefan Schaal (1999). Is Imitation Learning the Route to Humanoid Robots?01327-3). Annotated primary reading. DOI: 10.1016/s1364-6613(99)01327-3. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Dataset coverage, action semantics, covariate shift, horizon, and recovery policy limit transfer.
- Levine, Sergey (2016). Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection. Annotated primary reading. canonical URL. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Dataset coverage, action semantics, covariate shift, horizon, and recovery policy limit transfer.
- Lerrel Pinto & Abhinav Gupta (2016). Supersizing Self-Supervision: Learning to Grasp from 50K Tries and 700 Robot Hours. Annotated primary reading. canonical URL. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Dataset coverage, action semantics, covariate shift, horizon, and recovery policy limit transfer.
- Ebert, Frederik (2021). Bridge Data: Boosting Generalization of Robotic Skills with Cross-Domain Datasets. Annotated primary reading. canonical URL. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Dataset coverage, action semantics, covariate shift, horizon, and recovery policy limit transfer.
- Zipeng Fu et al. (2024). Mobile ALOHA: Learning Bimanual Mobile Manipulation with Low-Cost Whole-Body Teleoperation. Annotated primary reading. arXiv:2401.02117. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Ulf Kasolowsky and Berthold Bäuml (2024). Fine Manipulation Using a Tactile Skin: Learning in Simulation and Sim-to-Real Transfer. Annotated primary reading. canonical URL. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Simplified tactile representation discards analog richness
- Miquel Oller et al. (2024). Tactile-Driven Non-Prehensile Object Manipulation via Extrinsic Contact Mode Control. Annotated primary reading. arXiv:2405.18214. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Various (2024). DexH2R: Task-oriented Dexterous Manipulation from Human to Robots. Annotated primary reading. arXiv:2411.04428. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Ying Yuan et al. (2024). Robot Synesthesia: In-Hand Manipulation with Visuotactile Sensing. Annotated primary reading. arXiv:2312.01853. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Hao-Shu Fang et al. (2025). DEXOP: A Device for Robotic Transfer of Dexterous Human Manipulation. Annotated primary reading. arXiv:2509.04441. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Requires per-hand mechanical co-design
- Zilin Si et al. (2025). ExoStart: Efficient Learning for Dexterous Manipulation with Sensorized Exoskeleton Demonstrations. Annotated primary reading. arXiv:2506.11775. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: 200 Hz simulation versus roughly 20 Hz real control is a mismatch
- Di Zhang et al. (2025). KineDex: Learning Tactile-Informed Visuomotor Policies via Kinesthetic Teaching for Dexterous Manipulation. Annotated primary reading. arXiv:2505.01974. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Hugging Face LeRobot Team (2026). LeRobot: An Open-Source Library for End-to-End Robot Learning. Annotated primary reading. arXiv:2602.22818. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Young API evolves quickly and requires version-pinned tutorial commands
- Hung-Chieh Fang et al. (2026). DexDrummer: In-Hand, Contact-Rich, Long-Horizon Robot Drumming. Annotated primary reading. arXiv:2603.22263. — 역할: BC·intervention·action horizon의 실패 조건을 추적하는 1차 읽기. 한계: Workshop result with narrow musical task