Chapter 6: 여러 가능한 행동을 생성한다 — Diffusion Policy와 Flow Matching
개요
Chapter 5는 plain behavior cloning(BC), deterministic action chunk, ACT를 같은 dataset과 controller 계약 아래 비교했습니다. 그 baseline이 충분하다면 이 장의 model을 추가할 이유는 없습니다. generative policy는 “최신이라서”가 아니라, 같은 observation에서 여러 action trajectory가 실제로 모두 유효하고 단일 회귀나 제한된 latent가 그 구조를 잃는다는 증거가 있을 때만 후보가 됩니다.
예를 들어 obstacle을 왼쪽 또는 오른쪽으로 우회할 수 있고 두 경로가 모두 성공이라면, pointwise regression은 두 mode의 중간을 예측할 수 있습니다. 그러나 demonstration이 갈라진 이유가 camera timestamp 오류, 서로 다른 task phase, operator style, calibration drift라면 generator는 문제를 해결하는 대신 그 혼합을 정교하게 재현할 수 있습니다. 따라서 첫 질문은 “diffusion인가 flow인가?”가 아니라 multimodality가 task에 필요한가, 아니면 data contract가 깨졌는가?입니다.
근거 상태 주의: Diffusion Policy의 conditional action-sequence distribution, iterative denoising, receding-horizon mechanism과 원 논문의 자체 benchmark aggregate는 원 출처에서 확인됐습니다 [5]. Flow Matching의 vector-field objective는 원 논문의 generative-model formulation을 교육용으로 정리하지만 [4], 현재 claim ledger에는 robot-policy 적용 주장에 대한 exact body locator가 아직 없습니다. FlowPolicy·ManiCM의 speed result도 현재 packet에서는 abstract-level candidate이며, end-to-end hardware latency나 safety 결론으로 승격하지 않습니다. 이 장의 timing budget, stale rejection, feasibility projection, OOD/recovery gate는 S12의 공학적 합성이지 보편적 안전 setting이 아닙니다.
이 장을 읽고 나면... - 같은 observation의 여러 valid action과 label noise·숨은 task state를 구분할 수 있습니다. - conditional diffusion이 action sequence를 noise에서 denoise하고 receding horizon으로 실행하는 방식을 설명할 수 있습니다. - flow matching의 velocity-field regression과 ODE sampling을 diffusion sampler와 구분할 수 있습니다. - BC·ACT/cVAE·energy model·diffusion·flow를 같은 action semantics와 timing budget에서 비교할 수 있습니다. - neural function evaluation 수가 아니라 perception-to-controller latency와 action age를 계산할 수 있습니다. - generated chunk를 feasibility, OOD, contact, watchdog, recovery gate 아래에서만 승격할 수 있습니다.
실험 질문은 다음과 같습니다. Chapter 4의 versioned dataset과 Chapter 5의 matched baseline을 고정한 채, tabletop assembly의 approach와 insertion에서 diffusion 또는 flow generator가 실제로 valid mode를 더 잘 보존하는가, 그리고 그 이득이 sampling latency·stale action·constraint rejection·recovery cost를 감당할 만큼 큰가?
1. 평균 action이 왜 실패했는지 먼저 증명한다
deterministic regression이 squared loss를 최소화하면 충분한 model과 data 아래에서 conditional mean에 가까워집니다.
$$
\pi^*(o)=\arg\min_{\hat a}\mathbb{E}[\|a-\hat a\|_2^2\mid o]
=\mathbb{E}[a\mid o].
$$
한 observation o에서 왼쪽 우회 a^{(L)}와 오른쪽 우회 a^{(R)}가 같은 확률로 나타나고 중간 경로가 obstacle을 향한다면, 평균은 data density가 낮고 물리적으로 나쁜 action일 수 있습니다. action sequence 전체를 평균하면 gripper closure timing이나 insertion 방향도 흐려질 수 있습니다.
하지만 이 식만으로 generator가 필요하다는 결론은 나오지 않습니다. observation에 goal side, object instance, task phase, operator intent가 빠졌다면 관측 불충분입니다. 두 mode가 다른 calibration epoch나 clock alignment에서 왔다면 dataset corruption입니다. 한 mode가 반복 실패인데 success label이 틀렸다면 target contamination입니다. generator는 이 세 문제를 확률분포로 감출 수 있습니다.
1.1 multimodality audit
generator를 학습하기 전에 action을 task phase와 causal split 안에서 분석합니다.
| 질문 | evidence artifact | generator 전에 할 조치 | generator 가설이 남는 조건 |
|---|---|---|---|
| 같은 관측에 여러 action이 있는가 | nearest-neighbor observation과 action-cluster plot | timestamp·frame·unit 재검사 | 정렬 후에도 분리된 valid cluster 유지 |
| 두 action이 모두 성공하는가 | mode별 replay와 task outcome | 실패·intervention target 분리 | 각 mode가 독립적으로 feasible·successful |
| 숨은 변수가 있는가 | task phase, object, operator, epoch stratification | observation 또는 task label 보강 | measured variable로 mode가 설명되지 않음 |
| 평균이 위험한가 | mean/chunk shadow replay | projection과 collision check | mean은 reject되지만 mode sample은 통과 |
| mode가 회복에 필요한가 | perturbation/recovery split | recovery state를 별도 평가 | generator가 회복 coverage를 실제 개선 |
Implicit Behavioral Cloning은 energy landscape와 candidate optimization으로 multimodal action을 다루는 다른 접근입니다 [3]. ACT는 conditional VAE와 action chunk를 결합합니다 [6]. BAKU는 representation, Transformer trunk, action head와 temporal design을 분리해 head 선택만으로 성능을 설명하지 않도록 돕는 counterpoint입니다 [7]. 어느 방법도 잘못 정렬된 label을 고칠 수는 없습니다.
1.2 trajectory mode와 pointwise noise를 구분한다
우회 방향처럼 여러 step에 걸쳐 일관된 선택은 trajectory-level mode입니다. 반면 teleoperator의 작은 hand tremor, encoder noise, camera quantization은 pointwise variation일 수 있습니다. generator가 mode를 보존해야 한다는 주장은 sequence 전체에서 cluster identity가 지속될 때 강해집니다.
다음 세 baseline을 먼저 비교합니다.
- plain deterministic BC;
- 같은 encoder와 horizon을 가진 deterministic chunked BC;
- Chapter 5의 ACT/cVAE.
chunked BC가 mean action을 줄이면 문제는 density modeling보다 temporal context였을 수 있습니다. task phase를 추가해 mode가 사라지면 partial observability 문제였습니다. ACT sample이 다양하지만 task condition과 무관하게 흔들리면 latent가 유용한 strategy가 아니라 style/noise를 표현할 수 있습니다. diffusion과 flow는 이 audit를 통과한 뒤 추가합니다.
2. Diffusion Policy는 action sequence를 조건부로 denoise한다
diffusion model은 data sample에 단계적으로 noise를 더하는 forward process와, observation에 조건화해 noise를 제거하는 learned reverse process를 사용합니다 [1] [2]. robot policy에서는 sample이 image가 아니라 미래 action sequence A_t=[a_t,\ldots,a_{t+K-1}]입니다.
단순한 discrete forward process는 다음처럼 씁니다.
$$
q(A^k\mid A^{k-1})=
\mathcal{N}(\sqrt{1-\beta_k}A^{k-1},\beta_k I),
$$
$$
A^k=\sqrt{\bar\alpha_k}A^0+
\sqrt{1-\bar\alpha_k}\epsilon,
\qquad \epsilon\sim\mathcal{N}(0,I).
$$
A^0는 demonstration action chunk, k는 diffusion noise step입니다. policy network는 noisy chunk A^k, step k, observation context c_t를 받고 noise 또는 score와 동등한 parameterization을 예측합니다. noise-prediction objective의 교육용 형태는 다음과 같습니다.
$$
\mathcal{L}_{diff}=
\mathbb{E}_{A^0,k,\epsilon}
\left[\left\|\epsilon-epsilon_\theta(A^k,k,c_t)\right\|_2^2\right].
$$
deployment에서는 noise chunk A^N에서 시작해 여러 reverse step으로 A^0 후보를 만듭니다. 각 step이 robot control step은 아닙니다. diffusion step은 neural sampler의 내부 계산, action timestep은 controller가 소비할 physical reference입니다. 이 둘을 같은 “step”이라고 부르면 inference budget과 motion horizon을 혼동합니다.
2.1 conditional distribution과 receding horizon
Diffusion Policy는 observation에 조건화된 action-sequence distribution을 표현하고, 생성한 sequence의 앞부분을 실행한 뒤 새 observation으로 다시 생성하는 receding-horizon 방식을 사용합니다 [5].
시각 t에서 prediction length K, execution horizon H_e\le K라면:
$$
\hat A_t\sim p_\theta(A_t\mid O_{t-H_o+1:t}),
\qquad
\text{execute }\hat A_t[0:H_e],
\qquad
\text{reobserve and resample}.
$$
K를 길게 잡는 것은 trajectory coherence를 늘릴 수 있지만, H_e까지 길게 잡으면 contact나 object slip을 늦게 반영합니다. 반대로 매 action마다 full sampler를 실행하면 compute deadline을 놓칠 수 있습니다. prediction horizon, execution horizon, sampler steps, policy invocation rate를 별도 knob로 기록해야 합니다.
Diffusion Policy 원 논문은 12개 task와 4개 manipulation benchmark family에서 자체 matched baseline 대비 평균 46.9% improvement를 제시합니다 [5]. 이 aggregate는 해당 paper의 task·observation·action·training·evaluation 조건 안에서만 유효하며, ACT나 뒤의 flow-policy paper와 unmatched 순위표로 비교할 수 없습니다.
이 수치는 generator 도입의 acceptance threshold가 아닙니다. local tabletop experiment에서는 동일 dataset split, encoder budget, action representation, horizon, reset, evaluator, seed 수, controller interface로 BC/ACT/diffusion을 다시 비교합니다.
2.2 denoising step을 줄이면 무엇이 바뀌는가
sampler step N을 줄이면 neural evaluation 수는 줄지만 sample quality, mode coverage, temporal smoothness가 함께 바뀔 수 있습니다. 반대로 N을 늘리면 model compute뿐 아니라 queue wait와 observation age가 늘어납니다. scheduler와 stochasticity도 결과에 영향을 줍니다. 따라서 config는 최소한 다음을 고정합니다.
- noise schedule과 training steps;
- inference sampler와 number of function evaluations(NFE);
- stochastic seed policy와 deterministic-evaluation mode;
- observation horizon H_o, prediction K, execution H_e;
- action normalization, rotation representation, gripper encoding;
- sample count, candidate selection rule, feasibility projection;
- preprocessing device, precision, batch size와 warm-up;
- invocation rate, controller deadline, queue replacement rule.
여러 sample 중 task score가 높은 것을 고른다면 selector가 새로운 policy component가 됩니다. selector가 future ground truth를 보거나 test evaluator를 사용하면 leakage입니다. selector가 collision/kinematic feasibility만 본다면 그 owner와 rejection reason을 기록합니다.
3. Flow matching은 velocity field를 학습하고 ODE로 운반한다
flow matching은 noise distribution p_0과 data distribution p_1 사이에 probability path p_\tau, \tau\in[0,1]를 정하고, 그 path를 운반하는 time-dependent velocity field v_\theta(x,\tau,c)를 학습하는 관점입니다 [4]. conditional path에서 얻은 target velocity u_\tau(x\mid x_1)가 있다면 교육용 objective는 다음과 같습니다.
$$
\mathcal{L}_{FM}=
\mathbb{E}_{\tau,x_1,x_\tau}
\left[\left\|v_\theta(x_\tau,\tau,c)-u_\tau(x_\tau\mid x_1)\right\|_2^2\right].
$$
inference에서는 initial noise x(0)\sim p_0를 ODE로 적분해 action sample x(1)로 옮깁니다.
$$
\frac{dx(\tau)}{d\tau}=v_\theta(x(\tau),\tau,c),
\qquad x(0)\sim p_0.
$$
여기서 ODE solver의 step 수, adaptive tolerance, integration path가 compute와 approximation을 결정합니다. “flow는 한 번에 action을 만든다”는 표현은 특정 consistency/distillation variant에는 해당할 수 있지만 generic flow matching 전체의 정의가 아닙니다.
flow matching이 probability path의 velocity field를 regression한다는 generic mechanism은 원 출처의 abstract와 formulation에서 확인할 수 있습니다 [4]. 그러나 현재 Chapter 6 ledger에는 이를 robot-policy latency, feasibility, success로 연결하는 exact body locator가 없습니다. PointFlowMatch와 FlowPolicy는 robot action에 conditional flow를 적용하는 연구 후보지만 [10] [14], 이 장은 그 결과를 hardware generalization으로 승격하지 않습니다. 즉, generic objective는 robot-policy latency·feasibility·success를 자체로 보장하지 않는다는 것이 이 장의 evidence caveat입니다.
3.1 robot flow-policy variant를 읽는 법
PointFlowMatch는 point-cloud observation과 conditional flow matching, pose representation의 결합을 연구합니다 [10]. Affordance-based flow는 visual affordance와 trajectory generation을 연결하는 후보지만 open-loop, camera/background와 dynamics limitation을 함께 읽어야 합니다 [9]. FlowPolicy는 consistency flow matching으로 single-step generation을 지향하고 [14], ManiCM은 diffusion action model의 consistency distillation을 통해 repeated denoising bottleneck을 줄이려는 후보입니다 [8].
이들 이름을 “flow가 diffusion보다 빠르고 정확하다”는 한 줄 결론으로 합치면 안 됩니다. observation modality가 RGB인지 point cloud인지, 3D preprocessing이 포함되는지, simulation인지 hardware인지, open-loop인지 receding horizon인지, action representation과 controller rate가 무엇인지가 다릅니다. source packet에서 FlowPolicy와 ManiCM의 exact result locator는 unresolved이므로 abstract의 배수 수치를 local 기대치로 쓰지 않습니다.
3.2 VAE, ACT, diffusion, flow를 같은 축에서 비교한다
| head | training target | inference | mode 표현 | 주요 deployment knob |
|---|---|---|---|---|
| deterministic BC | point/chunk regression | forward pass 1회 | 평균 또는 단일 mode | horizon, smoothing |
| ACT/cVAE | reconstruction + latent regularization | latent convention + forward pass | latent-conditioned chunks | \beta, chunk, aggregation |
| energy-based BC | expert energy 대비 negatives | candidate optimization | low-energy action set | candidate count, optimizer |
| diffusion policy | noise/score on action sequence | iterative denoising | stochastic conditional density | NFE, scheduler, K/H_e |
| flow policy | conditional velocity field | ODE/consistency sampling | transported conditional density | solver, tolerance, NFE |
이 표는 theoretical family를 정리할 뿐 성능 순위가 아닙니다. VAE의 single forward pass가 end-to-end에서 항상 빠르다는 보장도 없고, diffusion의 많은 NFE가 항상 deadline miss라는 뜻도 아닙니다. encoder preprocessing, camera transfer, queue, controller interface가 전체 시간을 지배할 수 있습니다.
4. neural sampling time과 end-to-end latency를 분리한다
model paper의 inference time은 흔히 network forward 또는 sampler만 잽니다. robot이 쓸 수 있는 action의 age는 camera exposure부터 controller acceptance까지 누적됩니다.
$$
L_{e2e}=L_{exposure}+L_{capture}+L_{decode}+L_{transfer}
+L_{pre}+L_{sample}+L_{select}+L_{project}+L_{network}+L_{queue},
$$
$$
age(a_j)=t^{controller\_accept}_j-t^{observation\_event}.
$$
single-step 또는 few-step neural sampling time은 perception-to-controller latency와 같지 않습니다. LeRobot의 current asynchronous-inference 문서는 RobotClient의 execution과 PolicyServer의 chunk prediction, queue-based overlap을 구분합니다 [17]. 이 official boundary는 확인됐지만 hard real-time이나 stale-state safety를 보장하지 않습니다. FlowPolicy와 ManiCM의 exact result locator도 현재 unresolved입니다.
4.1 worked timing budget
다음은 measured field를 어떻게 합산하는지 보여주는 설명용 trace입니다. 숫자는 hardware 권고값이 아닙니다.
| stage | event | illustrative p50 / p95 | owner | deadline action |
|---|---|---|---|---|
| camera | exposure→host frame | 18 / 31 ms | camera driver | old frame mark/drop |
| decode/transfer | frame→GPU tensor | 7 / 12 ms | preprocessor | skip invocation |
| encoder | tensor→condition | 9 / 15 ms | policy process | fallback if budget exceeded |
| generator A | 16-NFE denoising | 38 / 55 ms | diffusion sampler | cancel candidate |
| generator B | 4-step ODE | 14 / 23 ms | flow sampler | cancel candidate |
| projection | action→feasible proposal | 3 / 7 ms | constraint layer | reject/replace candidate |
| transport/queue | proposal→controller accept | 8 / 19 ms | client/controller | stale reject, safe hold |
이 trace에서 diffusion A의 p95 합은 $31+12+15+55+7+19=139$ ms이고 flow B는 $107$ ms입니다. 이 차이만으로 flow가 더 좋은 policy라는 결론은 나오지 않습니다. B가 더 자주 infeasible sample을 내거나 mode를 놓쳐 재시도가 필요하면 total decision time이 늘어납니다. 반대로 A가 chunk를 충분히 일찍 prefetch해 deadline을 맞추면 더 긴 sampler도 실행 가능할 수 있습니다.
NFE는 useful metric이지만 controller deadline이 아닙니다. 다음을 함께 보고합니다.
- cold/warm p50, p95, maximum latency;
- observation age at sample start와 controller acceptance;
- per-candidate feasibility rejection과 resample count;
- queue occupancy, drop, reorder, replacement, stale count;
- chunk prediction K, execution H_e, remaining valid horizon;
- missed invocation, safe-hold, classical fallback, intervention count;
- GPU contention과 memory allocation spike;
- success/recovery metric under the same deadline.
4.2 chunk queue의 유효성
새 chunk가 늦으면 old chunk의 남은 action을 계속 실행할지, hold할지, classical controller로 전환할지 미리 정합니다. contact phase에서는 오래된 free-space prediction을 실행하면 안 됩니다. 각 chunk에 다음 metadata를 붙입니다.
chunk_id
condition_observation_event_time
policy_checkpoint_hash
sampler_config_hash
action_start_time / action_period
valid_until
task_phase
calibration_epoch
predecessor_chunk_id
executor는 now > valid_until, observation divergence, task-phase transition, force/collision event, calibration mismatch에서 chunk를 폐기합니다. 두 chunk를 blend할 때도 blended action이 feasibility projection을 다시 통과해야 합니다. smoothness는 authority가 아닙니다.
5. matched comparison이 아니면 diffusion-versus-flow 순위를 만들지 않는다
diffusion과 flow 비교는 task, embodiment, dataset, action space, horizon, preprocessing, reset, controller deadline이 같을 때만 local decision evidence가 됩니다. 하지만 현재 corpus에는 latency·feasibility·OOD·recovery를 한꺼번에 닫는 matched hardware comparison이 없습니다. 따라서 이것은 원 논문에서 이미 증명된 사실이 아니라 S12의 experimental-design requirement입니다.
5.1 최소 비교 matrix
| 고정할 것 | 허용할 차이 | 반드시 보고할 것 |
|---|---|---|
| episode UUID와 causal split | generator objective | train compute와 convergence rule |
| observation/action semantics | sampler/solver | NFE, latency distribution, action age |
| encoder 또는 parameter budget | head-specific conditioning | total parameters와 preprocessing |
| H_o, K, H_e, control rate | noise/path schedule | temporal consistency와 replanning rate |
| reset·initial-state bins | candidate selection | rejection/resample과 reset cost |
| evaluator와 trial budget | random seed | CI, per-task outcome, intervention |
| projection/contact/safety path | generated proposal | force/collision/watchdog/fallback events |
한 method에 point cloud를 주고 다른 method에 RGB만 주면 generator뿐 아니라 representation을 비교합니다. 한 method는 simulation, 다른 method는 real robot이면 deployment를 비교할 수 없습니다. one-step sampler와 16-step sampler를 비교할 때 training distillation cost와 candidate rejection을 빼면 system cost가 아닙니다.
5.2 local experiment ladder
- offline density audit: held-out chunk의 likelihood surrogate, reconstruction, sample diversity를 task phase별로 봅니다. 서로 다른 metric을 한 숫자로 합치지 않습니다.
- shadow feasibility: 동일 observation에서 여러 sample을 생성해 joint/workspace/collision/velocity/contact precondition rejection을 셉니다.
- simulation regression: 같은 initial-state bins와 perturbation suite에서 success, recovery, timeout, action age를 측정합니다.
- asynchronous stress: camera delay, GPU contention, network jitter, queue reorder를 주입하고 stale rejection과 fallback을 확인합니다.
- bounded hardware candidate: independent reviewer가 앞 gate를 통과한 method에만 reduced envelope trial card를 작성합니다. 이 장은 실행을 승인하지 않습니다.
PointFlowMatch의 simulation result, Affordance Flow의 real/open-loop setting, FlowPolicy의 simulation speed claim은 각각 source-specific evidence입니다 [10] [9] [14]. 서로 다른 행을 하나의 leaderboard로 합치지 않습니다.
6. generated trajectory도 controller와 safety 아래에 있다
generator가 낸 action sequence는 proposal입니다. low-density sample, OOD observation, numerical solver error, stale condition, impossible rotation, collision, excessive velocity나 contact force를 포함할 수 있습니다. probability가 높다는 사실과 실행 가능성은 다른 속성입니다.
observation + task phase
↓
diffusion / flow generator
↓ candidates + condition time + validity
candidate diagnostics / optional selector
↓
IK or joint/workspace projection · collision/rate limits
↓
receding-horizon executor · stale/reorder/drop rules
↓
Chapter 3 contact controller
↓
vendor real-time controller
independent safety supervisor:
force/collision gate · watchdog · protective stop · E-stop
generated trajectory가 feasibility projection, OOD/recovery handling, independent contact/safety layer를 거쳐야 한다는 것은 S12의 safety architecture requirement입니다. 현재 claim ledger는 이를 보편적으로 증명하는 exact primary-body locator가 없으므로, Diffusion Policy·Reactive Diffusion·FlowPolicy가 이 전체 안전 chain을 검증했다고 쓰지 않습니다 [5] [16] [14].
6.1 feasibility는 binary 하나가 아니다
candidate verdict를 계층화합니다.
- representation valid: finite value, shape, quaternion/rotation validity, gripper enum;
- kinematic valid: joint limits, IK reachability, singularity margin, workspace;
- geometric valid: collision and swept-volume constraints;
- dynamic/interface valid: velocity, acceleration, jerk, controller mode, timestamp;
- contact-phase valid: allowed direction, force envelope, surface/task phase;
- fresh: condition observation, calibration, task phase, queue validity가 현재와 맞음.
projection delta가 크다면 sample을 강제로 실행 가능한 것처럼 보정한 뒤 성공만 세지 않습니다. original proposal, projected action, reject reason, magnitude를 기록합니다. projection이 지속적으로 한 mode를 지우면 policy distribution과 feasible set이 맞지 않는 것입니다.
6.2 OOD와 recovery
sample variance나 denoising residual을 OOD score로 자동 해석하지 않습니다. calibration change, unseen object, lighting shift, contact anomaly를 별도 probe로 평가합니다. OOD detector가 없더라도 conservative support check, encoder-distance diagnostic, ensemble disagreement, reconstruction residual 같은 후보를 offline에서 비교할 수 있습니다. threshold는 validation distribution과 false-negative cost를 함께 기록합니다.
recovery는 “다시 sample”만으로 끝나지 않습니다. safe hold, retreat primitive, classical planner return, human intervention, episode abort 중 무엇을 선택할지 task phase별로 정합니다. Reactive Diffusion은 visual-tactile slow–fast policy라는 연구 방향을 제공하지만 [16], source-specific apparatus를 local contact safety evidence로 대체하지 않습니다. TRANSIC의 online correction과도 연결할 수 있으나 [11], human authority와 correction label은 Chapter 4–5 계약을 유지합니다.
7. failure symptom과 진단 순서
| 증상 | 먼저 확인 | 다음 확인 | 성급히 결론 내리지 말 것 |
|---|---|---|---|
| sample이 다양하지만 성공하지 않음 | mode가 task condition과 연결되는가 | feasibility와 selector leakage | diversity가 곧 multimodality 이해다 |
| action이 두 mode 사이로 감 | dataset alignment와 hidden state | deterministic chunk/ACT baseline | diffusion step이 부족하다 |
| chunk boundary에서 jump | H_e, resampling, overlap/blend | action normalization과 queue age | model architecture만 문제다 |
| flow가 microbenchmark에서 빠름 | preprocessing·projection·queue 포함 여부 | rejection/resample, p95 | end-to-end에서도 빠르다 |
| contact에서 oscillation | stale action과 contact-phase transition | controller gain, action rate, projection | generator가 contact를 학습 못했다 |
| simulation 성공, hardware 실패 | camera/calibration/latency/contact gap | action age와 controller mode | 더 큰 dataset만 필요하다 |
| seed별 성공률 분산 큼 | sampler seed와 reset bins | training seed, mode coverage | 평균 하나가 안정적이다 |
| safety projection 빈번 | raw sample distribution | action representation, feasible-set conditioning | supervisor가 너무 보수적이다 |
| OOD에서 멈추지 않음 | detector threshold와 coverage | watchdog/fallback wiring | uncertainty score가 안전 authority다 |
진단 순서는 data semantics → multimodality audit → conditioning → generator training → sampler/solver → timing/queue → feasibility → contact controller → evaluator입니다. sampler step부터 튜닝하면 missing task variable이나 stale camera를 숨길 수 있습니다.
8. 승격 gate와 metric checklist
Gate A — generator 필요성
BC, deterministic chunk, ACT/cVAE의 matched baseline을 먼저 고정합니다. observation-neighbor action cluster와 mode별 outcome을 검토합니다. 통과 조건은 timestamp·calibration·phase를 고친 뒤에도 두 개 이상의 valid trajectory mode 또는 recovery benefit가 남는 것입니다.
Gate B — offline reproducibility
diffusion 또는 flow config, checkpoint, dataset UUID, normalization, seed, sampler/solver를 고정합니다. 통과 조건은 save/reload 후 sample distribution, deterministic evaluation fixture, NFE, latency benchmark가 재현되는 것입니다.
Gate C — feasibility and temporal consistency
held-out observation과 corrupted fixtures에서 여러 candidate를 shadow test합니다. 통과 조건은 representation failure, projection delta, rejection, boundary jerk, stale chunk가 report되고 threshold 밖 sample이 executor에 도달하지 않는 것입니다.
Gate D — matched simulation and stress
같은 initial-state bins, reset, deadline, perturbation에서 BC/ACT/diffusion/flow를 비교합니다. camera delay, compute contention, network jitter를 주입합니다. 통과 조건은 success뿐 아니라 action age, missed deadline, fallback, intervention, recovery cost가 acceptance threshold 안인 것입니다.
Gate E — hardware trial card only
독립 reviewer가 reduced workspace·speed·force envelope, spotter, stop path, abort threshold, rollback을 명시한 trial card를 작성합니다. 이 장의 prompt는 robot을 움직이거나 safety setting을 바꾸지 않습니다.
release candidate마다 다음 artifact를 묶습니다.
- dataset/split UUID, action semantics, calibration epoch;
- BC·chunked BC·ACT matched baseline report;
- architecture, checkpoint, training seed와 config hash;
- sampler/solver, schedule/path, NFE, precision, warm-up;
- H_o, K, H_e, invocation rate, controller deadline;
- latency component p50/p95/max와 action-age distribution;
- diversity, mode coverage, feasibility rejection, projection delta;
- temporal jerk, chunk replacement, stale/drop/reorder count;
- per-task success, recovery, intervention, reset와 confidence interval;
- OOD probe, fallback transition, watchdog와 safety-event report;
- exact comparison matrix와 unmatched evidence caveat.
9. 범위가 닫힌 Codex prompt
Goal
Implement an offline and simulation-only matched comparison of deterministic
chunked BC, ACT/cVAE, one conditional action-diffusion policy, and one
conditional flow-matching policy for the versioned tabletop-insertion dataset.
맥락
- Chapter 4에서 동결한 episode/split manifest와 Chapter 5 action contract를 사용한다.
- 같은 mapped action representation을 예측하고 $H_o$, $K$, $H_e$,
controller rate, deadline을 하나의 comparison config에 보존한다.
- 기존 constraint projection, contact controller, watchdog, stop logic은
test fixture이므로 수정하거나 우회하지 않는다.
제약
- original repository·dependency를 pin하고 exact commit을 기록한다.
- 가능한 경우 같은 encoder와 parameter budget을 쓰고 예외는 report에 밝힌다.
- diffusion step, flow-solver NFE, policy invocation, action step을 분리한다.
- camera-to-controller latency component, action age, queue state,
candidate rejection, projection delta, resampling을 측정한다.
- unmatched paper나 abstract-only speed number로 method ranking을 만들지 않는다.
- raw generated candidate, projected action, rejection reason을 함께 보존한다.
완료 조건
- multimodality audit이 hidden state, corrupted label, valid mode를 구분한다.
- save/reload fixture가 deterministic evaluation sample과 metadata를 재현한다.
- evaluator는 동일한 episode UUID, reset bin, perturbation, action semantics,
horizon, deadline, seed에서 모든 method를 비교한다.
- test는 stale observation, camera delay, GPU contention, reordered chunk,
infeasible rotation, collision, contact-phase change를 주입한다.
- report는 latency p50/p95/max, NFE, action age, mode coverage, feasibility,
success, recovery, intervention, fallback, confidence interval을 포함한다.
- stale 또는 rejected action이 controller stub에 도달한 method는 통과할 수 없다.
Safety
- Use recorded observations, controller stubs, kinematic checks, and simulation only.
- Never connect to hardware, call send_action, clear a fault, alter force/speed
limits, or grant a learned policy safety authority.
- Produce a separate human-reviewed hardware trial card; do not execute it.
이 prompt의 핵심은 model code를 빨리 실행하는 것이 아니라 comparison contract를 executable test로 바꾸는 것입니다. tutorial code나 repository example은 API-reading aid이며 hardware authorization이 아닙니다 [15].
10. 근거 층위와 남은 질문
- 원 논문에서 확인된 범위: Diffusion Policy의 conditional denoising action sequence, receding horizon, source-specific aggregate [5]. DDPM·score와 flow matching의 generative formulation [1] [2] [4].
- robot-policy candidate: PointFlowMatch, Affordance Flow, FlowPolicy, ManiCM, Reactive Diffusion은 observation·sampler·contact에 대한 서로 다른 설계점입니다 [10] [9] [14] [8] [16]. exact result locator와 matched deployment가 없는 주장은 identity와 experiment-design seed로만 씁니다.
- official current system boundary: LeRobot async 문서는 client/server와 chunk queue를 보여주지만 hard real-time, stale-state safety, independent supervisor를 보장하지 않습니다 [17].
- tutorial map: Capuano tutorial의 VAE→diffusion→flow 순서는 학습 지도입니다 [15]. method result와 current API는 원 출처·공식 문서로 돌아갑니다.
남은 핵심 질문은 명확합니다. action distribution의 mode coverage를 likelihood 없이 어떻게 믿을 수 있게 측정할 것인가? flow ODE tolerance와 diffusion stochasticity를 controller deadline 안에서 어떻게 calibration할 것인가? projection이 distribution을 잘라낼 때 training에 feasible set을 넣을 것인가, post-hoc reject를 유지할 것인가? contact phase에서 slow visual generator와 fast tactile correction을 어떻게 분리할 것인가? OOD score와 recovery policy를 joint하게 평가하면서도 safety authority를 독립적으로 유지할 수 있는가?
EgoMimic과 Octo 같은 broader data/generalist policy는 representation과 scaling의 다음 질문을 제기하지만 [12] [13], detailed cross-embodiment pretraining과 generalist-model comparison은 #S13 범위입니다. S12에서 이들을 diffusion/flow local benchmark의 참가자로 끌어와 unmatched leaderboard를 만들지 않습니다.
제조 셀 적용 체크포인트
| 영역 | 결정 | 제출 artifact | 승격 거부 조건 |
|---|---|---|---|
| 필요성 | genuine mode 또는 recovery 가설 | multimodality audit | hidden state/data defect가 설명함 |
| target | mapped action과 horizon | action contract | method마다 semantics가 다름 |
| model | BC/ACT/diffusion/flow 차이 | matched config matrix | encoder·data·reset이 불공정 |
| sampling | schedule/solver/NFE/seed | versioned sampler log | microbenchmark만 존재 |
| timing | full latency와 action age | trace·queue report | p95 deadline 또는 freshness 위반 |
| feasibility | representation→contact gates | reject/projection report | invalid sample이 stub에 도달 |
| recovery | hold/retreat/fallback/human | state machine test | resample만 유일한 recovery |
| evidence | source-specific conditions | caveat ledger | unmatched 결과로 순위 주장 |
| safety | independent supervisor | trial-card review | learned score가 safety authority |
model owner는 sample quality를, perception owner는 observation age를, controller owner는 command validity와 deadline을, safety owner는 watchdog·stop·fallback을 각각 승인합니다. inference 10 ms라는 한 숫자로 네 책임을 합치지 않습니다.
다음에 배울 것
Chapter 7은 imitation policy 위에 RL을 어디에 추가할지 묻습니다. diffusion이나 flow가 demonstration의 여러 mode를 잘 표현하더라도 reward를 최적화하거나 unseen recovery를 자동으로 해결하지는 않습니다. Chapter 7에 넘길 것은 “generator가 더 최신이다”라는 결론이 아니라, 고정된 policy/controller interface, failure taxonomy, offline/simulation evidence, intervention cost, 그리고 RL이 개선해야 할 측정 가능한 residual입니다.
Chapter 5의 plain BC와 ACT는 계속 baseline으로 남습니다. generative head의 이득이 deadline, feasibility, recovery cost를 넘지 못하면 더 단순한 policy로 돌아갑니다. VLA action tokenization, generalist pretraining, cross-embodiment adaptation, world model과 agentic planning은 #S13으로 넘깁니다. 어떤 상위 model도 Chapter 3의 contact controller, Chapter 4의 provenance, Chapter 5–6의 timing/constraint contract를 우회하지 않습니다.
참고문헌
- Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. NeurIPS. arXiv:2006.11239.
- Song, Y., Sohl-Dickstein, J., Kingma, D. P., et al. (2021). Score-Based Generative Modeling through Stochastic Differential Equations. ICLR. arXiv:2011.13456.
- Florence, P., Lynch, C., Zeng, A., & Ramirez, O. A. (2022). Implicit Behavioral Cloning. CoRL. arXiv:2109.00137.
- Lipman, Y., Chen, R. T. Q., Ben-Hamu, H., Nickel, M., & Le, M. (2022). Flow Matching for Generative Modeling. ICLR 2023. arXiv:2210.02747.
- Chi, C., et al. (2023). Diffusion Policy: Visuomotor Policy Learning via Action Diffusion. RSS. arXiv:2303.04137. Terry의 한국어 해설.
- Zhao, T. Z., Kumar, V., Levine, S., & Finn, C. (2023). Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware. RSS. arXiv:2304.13705.
- Haldar, S., Peng, Z., & Pinto, L. (2024). BAKU: An Efficient Transformer for Multi-Task Policy Learning. arXiv:2406.07539.
- Lu, G., et al. (2024). ManiCM: Real-time 3D Diffusion Policy via Consistency Model for Robotic Manipulation. arXiv:2406.01586.
- Zhang, F., & Gienger, M. (2024). Affordance-based Robot Manipulation with Flow Matching. arXiv:2409.01083.
- Chisari, E., et al. (2024). Learning Robotic Manipulation Policies from Point Clouds with Conditional Flow Matching. CoRL. arXiv:2409.07343.
- Jiang, Y., et al. (2024). TRANSIC: Sim-to-Real Policy Transfer by Learning from Online Correction. CoRL.
- Kareer, S., et al. (2024). EgoMimic: Scaling Imitation Learning via Egocentric Video. arXiv:2410.24221.
- Octo Model Team (2024). Octo: An Open-Source Generalist Robot Policy. arXiv:2405.12213.
- Zhang, Q., et al. (2024b). FlowPolicy: Enabling Fast and Robust 3D Flow-based Policy via Consistency Flow Matching for Robot Manipulation. arXiv:2412.04987v2.
- Capuano, F., Pascal, C., Zouitine, A., Wolf, T., & Aractingi, M. (2025). Robot Learning: A Tutorial. arXiv:2510.12403v1. DOI: 10.48550/arXiv.2510.12403.
- Xue, H., et al. (2025). Reactive Diffusion Policy: Slow-Fast Visual-Tactile Policy Learning for Contact-Rich Manipulation. RSS. arXiv:2503.02881.
- Hugging Face (2026). LeRobot Asynchronous Inference. Official documentation, accessed 2026-07-15.
- Han Xue et al. (2025). Reactive Diffusion Policy: Slow-Fast Visual-Tactile Policy Learning for Contact-Rich Manipulation (TactAR). Annotated primary reading. arXiv:2503.02881. — 역할: 느린 시각 계획과 빠른 촉각 반응을 분리한 접촉 풍부 정책의 시간축 설계를 검토한다. 한계: 플랫폼·과제·데이터·평가 조건이 특정하므로 일반적인 안전성이나 전이를 입증하지 않는다.