CSF는 장면 맥락에 따라 모션 생성기의 위험 동작을 걸러낸다

CSF: Contextual Safety Filtering for Motion Generators

arXiv2610.12467v1

Lizhi Yang2026-10-08

무엇인가

텍스트 조건 모션 생성기는 자연어를 부드럽고 물리적으로 실행 가능한 전신 동작으로 바꾸고, 휴머노이드 컨트롤러가 이를 추종할 수 있게 한다. 문제는 물리적 실행 가능성이 그 동작을 로봇이 해도 되는지와 무관하다는 점이다. 공을 차는 것과 옆에 있는 사람을 차는 것은 거의 같은 신체 동작을 요구하지만, 장면의 대상이 누구냐에 따라 허용 여부가 갈린다. 기존 안전장치는 각각 부분만 다룬다. 언어 가드레일은 프롬프트만 검사하므로 적대적이거나 오해를 유발하는 프롬프트에 뚫리고, 생성된 동작이 사물을 향한 것인지 사람을 향한 것인지 검증하지 못한다. 모션 분류기는 라벨링된 클립으로 별도 학습해야 하고 생성기가 바뀌면 재학습·재검증이 필요하다. 추론 시점 가이던스는 신체가 어디로 어떻게 움직일지를 지정할 뿐 그 행위가 허용되는지는 다루지 않고, 고전적 로봇 안전 필터는 충돌 없는 영역이나 관절 한계 같은 기하학적 집합을 강제하는데 여기서 문제가 되는 위해는 기하학적이 아니라 의미론적이다.

어떻게 동작하나

CSF는 학습 없는(training-free) 의미론적 안전 필터다. 동결된 생성기의 출력을 안전 참조로 재활용한다. 각 규칙은 위험 행위와 그것이 보호하는 개체로 정의된다. 규칙 i에 대해 동결된 생성기가 규칙 설명으로 위험 참조 x_unsafe(i)를, 현재 명령의 무해한 버전(나머지 동작은 유지)으로 안전 참조 x_safe를 만든다. 두 참조의 차이가 의미 방향을 정의하고, 현재 출력 추정값 x̂의 안전 참조로부터의 변위를 이 방향에 사영한 음수가 의미 마진 m_i(x̂)다. 마진이 낮을수록 그 개념의 위험 방향으로 더 멀리 간 것이다. 마진은 x에 대해 아핀이라(보조정리 1) 각 규칙이 반공간을 정의하고, x_safe에서 0이며, 양의 재스케일링은 크기만 바꾸고 부호는 바꾸지 않는다. 모든 규칙이 같은 안전 참조를 쓰기 때문에 여러 규칙이 동시에 활성일 때 공통의 실행 가능한 방향이 생긴다. 안전 참조를 무조건 평균으로 잡으면 정지 자세로 끌려가므로, 텍스트 인코더가 중립 동작 라이브러리에서 무해한 명령을 고르고 중립 서기가 폴백이다.

무엇과 다른가

마진을 그대로 배리어 함수 h_i로 쓰고, 활성 개념들의 상위 수준 집합 교집합을 안전 집합으로 정의한 뒤, 안전 참조 추적 목적을 가진 이산시간 CBF-QP로 필터를 만든다. 목적함수는 x를 (1-γ)x̂ + γ·x_safe로 끌어당기고, 제약은 h_i(x) ≥ (1-ρ_t)·h_i(x̂)다. ρ_t는 배리어 수축률, γ는 안전 참조 추적 가중치다. 정리 1은 매 스텝 실행 가능성(점 (1-ρ_t)x̂ + ρ_t·x_safe가 항상 제약을 등식으로 만족해 실행 가능 집합이 비어 있지 않음), 안전 집합의 불변성, 그리고 해가 y_γ의 볼록 다면체로의 유일한 유클리드 사영임을 보인다. γ=0이면 최소 노름 교정이 되어 이미 규칙을 만족하는 제안은 그대로 통과한다. 실제로는 제약 수가 활성 개념 수뿐이므로 쌍대 문제를 푼다. 활성 방향들이 서로 강하게 상관될 수 있어 능선(ridge) 완화 ε을 넣고, 이 완화가 힌지 페널티 프로그램과 정확히 대응하며 최적점에서 λ_i* > 0인 제약은 정확히 ε·λ_i*만큼 위반된다는 명제 1을 제시한다. ρ_t=1에서 단일 위반 행에 대한 수축비는 (1-γ)·ε/(1+ε)다.

어떻게 쓰나

어떤 규칙을 켤지는 의미 맥락 게이트가 정한다. 지각 신호는 시각적으로 검출된 개체 라벨이 그 규칙이 보호하는 개체와 가장 가까울 때 규칙 i를 활성화하고, 프롬프트 신호는 명령이 무해한 대조 문장보다 위험 설명에 더 가까울 때 활성화한다. 두 비교 모두 생성기의 텍스트 인코더가 수행하므로 고정 어휘가 필요 없다. 예를 들어 '벽을 때려라'는 명령만 보면 무해해 보이지만 장면에서 사람이 검출되면 해당 규칙이 켜진다. 둘 중 하나라도 발화하면 활성이고, 활성 집합이 비면 필터는 추정값을 그대로 둔다. 생성기별 연결은 샘플러가 노출하는 현재 출력 추정값을 통해 이뤄진다. 직접 모션 공간 예측에는 각 샘플러 업데이트 전에 QP를 적용하고, 루트 채널은 제외해 규칙을 만족시키려고 캐릭터를 보호 대상에서 멀리 이동시키는 식의 회피를 막는다. VAE 잠재를 예측하는 생성기는 잠재에서 개념이 분리되지 않으므로 사전학습 디코더를 통과시킨 뒤 마진을 평가하고, 디코더를 통한 기울기로 배리어가 만족될 때까지 반복한다. 자기회귀 생성기는 아직 커밋되지 않은 윈도우만 필터링해 커밋하며, 커밋된 윈도우는 불변이므로 개입이 이력을 타고 전파된다는 점을 전제한다. 실행 중 장면이 바뀌는 경우를 위한 런타임 실드도 있다. 추적 참조에서 아직 실행되지 않은 첫 위반 윈도우를 찾아, 짧은 응답 버퍼 이후 프레임부터 안전 연속 동작을 방향·위치를 맞춰 블렌딩해 참조를 갈아끼운다. 위반 윈도우가 없으면 참조를 그대로 둔다.

전제와 한계

실험은 서로 다른 아키텍처의 사전학습 생성기 네 개에 재학습 없이 적용했다. Kimodo-G1(DDIM 확산), ECHO(DPM-Solver 샘플링 확산), MotionHiFlow(VAE 잠재에서의 플로 매칭), ARDY(하이브리드 토큰 위의 윈도우 자기회귀)다. 규칙 집합은 여섯 개념으로, 사람을 향한 폭력 네 개와 아동, 동물 각각 하나다. 28개의 위험-무해 명령 쌍을 만들어 각 쌍마다 시드 3개, 허용 장면과 보호 장면, CSF 사용/미사용으로 돌렸다. 백본당 672개 클립, 총 2,688개(필터 1,344, 비필터 1,344)다. 잔여 위험은 세 백본에서 비필터 대비 0.1, ECHO에서 0.2로 떨어졌다(최대 90% 상대 감소). 보존 비용은 Kimodo 0.21에서 MotionHiFlow 0.64까지이며, 이는 각 예측 공간에서 개념이 얼마나 분리되는지를 따른다. Kimodo의 뚜렷한 모션 공간 마진은 최소 개입을 가능하게 하고, MotionHiFlow의 거의 평평한 잠재 마진은 더 강한 안전 참조 견인을 요구한다. 모든 백본이 정지 자세 블렌딩 같은 퇴화 필터를 잇는 선 아래에 있어, 버려지는 무해 동작 단위당 더 많은 위험을 억제한다. 게이트는 네 백본 모두에서 모든 명시적·장면 유발 위험 사례에 의도한 규칙을 켰고, 짝지어진 허용 장면에서는 비활성으로 남겼다. 무해 동작의 88~100%는 그대로 통과하거나 선택된 안전 대응 동작에 도달했다. Kimodo에서는 교정량이 같은 명령으로 생성한 비필터 샘플 두 개 사이의 자연 변동보다 작았다. 비용은 RTX 4090 한 장에서 규칙 공간 쌍대가 활성 규칙 1~6개에 0.01~0.18ms, 필터 호출 전체가 0.3~1.2ms다. ECHO·MotionHiFlow·ARDY는 0.6~0.9초의 일회성 설정 후 참조를 캐시해 가장 빠른 경우 샘플당 오버헤드가 측정되지 않았고 최대 19%다. Kimodo는 샘플링 중 스텝 정합 참조를 만들어 4초 모션 생성 시간이 1.61초에서 7.60초로 늘었지만 QP 자체는 0.14초만 차지한다. 즉 아키텍처 의존 비용의 대부분은 규칙 공간 풀이 아니라 참조 생성에서 나온다.

실기에서는 ARDY 기반 파이프라인을 실제 Unitree G1에 올렸다. 음성 명령과 카메라 지각이 프롬프트와 장면 개체를 공급하고, ARDY가 참조를 생성하면 CSF가 필터링하고 사전학습 SONIC 전신 트래커가 추종한다. 펀치와 킥 명령을 세 조건에서 시험했다. 명시 조건에서는 사람을 향한 명령이 언어만으로 규칙을 켜고 CSF가 타격을 우회시킨다. 기만 조건에서는 사물을 향한 명령이라 겉보기엔 무해하지만 사람이 검출되면서 규칙이 켜지고 CSF가 동작을 우회시킨다. 무해 조건에서는 사물만 있어 규칙이 비활성으로 남고 요청한 동작이 그대로 실행된다. 런타임 실드도 시험했다. 로봇이 사물을 향한 펀치·킥을 시작한 뒤 실행 중 사람이 시야에 들어오면 개체 목록이 갱신되어 사람 보호 규칙이 켜지고 남은 참조에 실드가 걸린다. 이미 실행된 부분은 보존되고 트래커는 안전한 연속 동작으로 이어진다. 생성 시점 필터링과 달리 실드는 나중의 장면 변화에 실시간으로 반응한다.

개발자 관점에서 이 논문이 주장하는 바는, 로봇 파운데이션 모델이나 모션 생성 모델을 그대로 두고 그 앞뒤에 '장면이 이 동작을 허용하는가'를 판단하는 얇은 계층을 붙일 수 있다는 것이다. 규칙을 자연어로 쓰고, 생성기가 스스로 만들어낸 참조 동작만으로 마진을 정의하므로 라벨링된 안전 데이터셋이나 생성기 재학습이 필요 없다. 다만 확인해야 할 전제가 있다. 첫째, 마진의 크기는 백본마다 달라 백본 간 비교가 불가능하며, 저자들도 백본별로 자기 자신의 무필터·무조건 정지 끝점으로 정규화해 비교했다고 밝힌다. 둘째, 능선 완화 ε 때문에 제약이 정확히 만족되지 않고 ε·λ*만큼의 잔여 위반이 남는다. 셋째, 자기회귀 생성기에서는 커밋된 윈도우가 불변이어서 한 번의 개입이 이력을 타고 전파되며, 그래서 루트 궤적은 생성기에 맡기고 포즈 내용만 필터링한다. 넷째, 참조 생성 비용이 아키텍처에 크게 좌우된다(Kimodo에서 4초 모션 생성이 1.61초에서 7.60초로 증가). 저자들이 밝힌 향후 과제는 CSF를 루트 궤적으로 확장해 규칙이 켜졌을 때 자세뿐 아니라 이동까지 바꾸게 하는 것, 그리고 살아 있는 장면에서 안전한 연속 동작을 재생성해 더 길고 진화하는 상호작용을 다루는 것이다.