Chronos Policy가 로봇 정책에 물리적 시간을 명시적으로 넣는다
Chronos Policy: Learning Robot Policies on Physical Time
무엇인가
로봇 정책은 대개 센싱과 제어를 고정 레이트 관측-행동 시퀀스로 변환하고, 물리적 시간은 시퀀스 위치에 암묵적으로 남겨 둔다. 컨베이어 벨트에서 움직이는 물체를 집는 상황을 보면 두 이미지 사이의 같은 변위가 20ms 간격인지 200ms 간격인지에 따라 전혀 다른 물체 속도를 뜻한다. 실제 시스템은 센서마다 주기와 지연이 다르고, 추론에 시간이 걸리며, 제어기가 다른 주파수로 실행된다. 기존 연구가 지연 매칭이나 비동기 액션 청크 실행처럼 특정 배포 효과를 교정하는 데 집중한 반면, 이 논문은 타이밍 변동을 외부 불일치로 보정하는 대신 정책 입력의 일부로 명시적으로 표현한다.
어떻게 동작하나
정책은 A_{t_a} = f_θ(O_{t_o}, t_o, t_a)로 정식화된다. t_o는 관측이 캡처된 시각, t_a는 행동이 실행되어야 할 시각이다. H스텝 액션 청크의 실행 시각은 t_{a,j} = t + d_t + jΔt_a (j = 0, …, H-1)로 주어지며, d_t는 첫 질의 행동까지의 지연, Δt_a는 행동 간격이다. 이 표현에서 t_o의 간격은 관측 레이트를, 관측 시각과 행동 시각의 차이는 측정 지연과 실행 지연을, t_a는 원하는 실행 주파수를 담는다. 멀티모달 센싱에서는 각 모달리티가 공통 샘플링 그리드로 정렬되지 않고 자기 캡처 시각을 그대로 유지한다.
무엇과 다른가
시간 정보를 네트워크에 넣는 방식으로 두 가지를 비교한다. 하나는 타임스탬프를 푸리에 특징과 MLP로 인코딩해 토큰 임베딩에 직접 더하는 방식(Chronos-AddTime)이고, 다른 하나는 토큰 내용은 건드리지 않고 어텐션의 위치 인코딩으로만 시간을 쓰는 time-aware RoPE다. 모든 토큰에 정책 요청 시각 t 기준 상대 타임스탬프 t̃_i = t_i - t를 부여하고 q̃_i = R(t̃_i)q_i, k̃_i = R(t̃_i)k_i로 회전시키면, 쿼리-키 상호작용이 q_i^T R(t_j - t_i) k_j가 되어 어텐션이 경과 물리 시간 t_j - t_i에 직접 의존한다. 20ms 간격 관측과 200ms 간격 관측은 같은 시퀀스 위치에 놓여도 서로 다른 시간 관계를 받고, 모든 타임스탬프를 같은 양만큼 이동해도 표현은 변하지 않는다. 이미지 패치는 프레임 캡처 시각을, 고유수용감각과 힘/토크 토큰은 측정 시각을, 행동 토큰은 질의된 실행 시각을 받는다.
어떻게 쓰나
학습에서는 시간 무작위화(temporal randomization)를 적용한다. 각 데모에서 모달리티별 관측 레이트와 전달 지연을 무작위로 바꾸고, 해당 요청 시각에 사용 가능한 측정만 고르되 원래 캡처 타임스탬프는 유지한다. 예측 액션 청크가 시작되는 시점, 즉 d_t도 무작위화한다. 이는 배포에서 나타날 수 있는 타이밍 설정에 정책을 노출시키고, 고정 레이트 다운샘플링이 버렸을 측정까지 학습에 활용하게 한다. 타임스탬프가 없으면 같은 토큰 위치가 서로 다른 물리적 간격을 뜻하게 되어 예시가 모호해진다. 학습 목표는 표준 확산 목적함수로, A^(k) = α_k A* + σ_k ε (ε ~ N(0, I))를 만들고 D_θ(A^(k), k, O_{t_o}, t_o, t_a)를 조건으로 삼으며, 시뮬레이션과 실세계 모두 clean-action prediction에 ℓ1 손실을 쓴다. 배포 시에도 같은 인터페이스를 쓰되, 다음 청크를 예측하는 동안 로봇이 이전 청크를 계속 실행하는 비동기 방식으로 동작한다. 시뮬레이션에서는 주입된 추론 지연으로 d_t를 설정하고, 실로봇에서는 현재 추론 시간을 미리 알 수 없으므로 이전에 완료된 요청들로 d_t를 추정한다. 새 예측이 도착하면 질의 실행 시각이 이미 지난 행동은 버리고 나머지를 t_a에 따라 실행한다.
전제와 한계
실험은 세 종류 과제에서 이뤄진다. Conveyor는 벨트 속도가 무작위인 동적 픽앤플레이스 과제로 관측-행동 타이밍이 정답 행동을 좌우하고, Pivoting은 시각·고유수용감각·힘/토크를 서로 다른 레이트와 시각으로 결합한 접촉 중심 멀티센서리 과제이며, 여기에 표준 준정적 조작 과제 6개가 더해진다. 평가 조건은 nominal(학습 시 타이밍), 관측 타이밍 변화, 추론 지연 변화, 그리고 둘을 함께 흔든 결합 조건이다. Conveyor에서 Chronos Policy는 nominal 성공률을 73.1%에서 82.0%로 올렸고, 중간 수준 관측 변동에서 Diffusion Policy가 15.6%로 떨어지는 동안 77.6%를 유지했다. 200ms까지의 추론 지연에서는 Diffusion Policy가 1.8%까지 무너진 반면 Chronos Policy는 76.4%를 기록했고, 결합 교란에서도 32.7%를 지켰다(Diffusion Policy는 완전 실패). Pivoting은 양상이 다르다. 약한 타이밍 변화에서는 두 정책이 비슷했지만, 200ms 추론 지연에서 51.3%에서 60.2%로, 결합 조건에서 19.6%에서 38.4%로 격차가 벌어졌다. 움직이는 목표를 계속 예측해야 하는 Conveyor와 달리, Pivoting에서는 시각·고유수용감각·힘/토크의 상대 시각이 흔들려 시퀀스 위치가 획득 시점을 더 이상 신뢰성 있게 나타내지 못할 때 타임스탬프가 유효해진다.
설계 요소를 분리한 실험도 수치로 제시된다. 시간 무작위화만 적용해도 Conveyor에서 Diffusion Policy의 다섯 교란 조건 평균이 6.3%에서 26.9%로 올랐지만, 멀티센서리 Pivoting에서는 48.4%에서 21.6%로 오히려 떨어졌다. 타임스탬프 없이는 어떤 타이밍이 그 히스토리를 만들었는지 알 수 없기 때문이다. 물리 시간이 명시되면 무작위화가 일관되게 유용해져 Conveyor가 48.8%에서 63.1%로, Pivoting이 33.3%에서 55.3%로 개선된다. 시간 표현 비교에서는 Conveyor의 nominal에서 Chronos-AddTime이 근소하게 앞섰지만 나머지 모든 설정에서 RoPE가 우세해 시간 조건 평균이 51.5%에서 63.1%로 올랐고, Pivoting에서는 RoPE가 모든 조건에서 앞서 교란 조건 평균이 33.5%에서 55.3%가 됐다. 저자들은 내용과 시간의 단순한 분리, 그리고 페어별 경과 시간이 토큰 특징에서 추론되는 대신 어텐션을 직접 조절한다는 점을 이유로 든다. 준정적 조작 6개 과제에서는 nominal 성능이 두 정책이 비슷했고, 다섯 교란 조건 평균은 59.7%에서 73.4%로 개선됐다.
실로봇 실험도 같은 결론을 뒷받침한다. 움직이는 받침 위에 컵을 놓는 Dynamic Cup, Peg Insertion, Pivoting 세 과제에서 비동기 Diffusion Policy, Real-Time Chunking(RTC)을 적용한 Diffusion Policy, Chronos Policy를 비교했는데, Chronos Policy가 평가한 모든 조건에서 가장 높은 과제 점수를 얻었다. 관측 교란, 추론 지연, 그리고 두 가지의 결합에서도 우위가 유지됐다. RTC는 여러 설정에서 추론 지연에 대한 강건성을 개선했지만 관측 타이밍 변화를 명시적으로 다루지 않기 때문에 센싱 교란으로 이득이 일관되게 확장되지 않았다. 저자들은 비동기 실행과 명시적 시간 인지가 상보적인 문제를 푼다고 정리한다.
실무 관점에서 이 논문이 주는 것은 정책 입력 규격에 대한 제안이다. 센서별 캡처 타임스탬프와 질의 실행 시각을 함께 넘기고, 어텐션의 위치 인코딩을 시간 축으로 바꾸면 관측 주기·지연·추론 지연이 바뀌어도 같은 가중치로 대응할 수 있다는 것이 핵심이며, 특히 힘/토크처럼 고주파로 들어오는 모달리티를 공통 그리드로 다운샘플링하지 않고 살릴 수 있다는 점이 실무적으로 유용하다. 다만 저자들이 밝힌 전제와 한계도 분명하다. 실로봇에서 d_t는 현재 추론 시간을 미리 알 수 없어 이전 완료 요청들로 추정하는 근사에 의존하고, 이미 실행 시각이 지난 행동은 폐기한다. 또한 준정적 과제에서 이득은 주로 타이밍이 흔들리는 조건에서 나오며 nominal에서는 기존 정책과 동등한 수준이다. 향후 과제로는 고정 행동 레이트를 넘어 가변 제어 주파수와 시간 스케일링으로 확장해, 같은 행동을 시연보다 빠르거나 느리게 실행할 수 있게 하는 것을 남겨 두었다.