SteerAct: Unlocking Action Models through Few-Shot Temporal Steering
0. Summary
- 기본 정보 : ArXiv,2026.10.19, SteerAct: Unlocking Action Models through Few-Shot Temporal Steering
- 연구 배경 : 사전학습된 로봇 액션 모델(VLA, WAM)은 범용 조작의 토대를 제공하지만, 목표 태스크에서 항상 신뢰할 수 있게 동작하지는 않는다. 추가 롤아웃이 몇 개뿐일 때 그 경험을 행동 교정으로 바꾸는 것이 핵심 과제이며, activation steering은 가중치를 고정한 채 특징 활성만 수정하는 가벼운 대안이다. 그러나 효과적인 스티어링은 어떤 특징을 고를 것인가, 그리고 새 실행 중 언제, 얼마나 세게 그 활성을 바꿀 것인가라는 두 질문에 답해야 한다. 기존 방법들은 디퓨전·플로우 정책의 초기 노이즈를 바꾸거나 고정 벡터·부분공간으로 활성에 개입하지만, 실행이 진행되는 동안 특징의 활성 이력(history)을 보고 개입 시점과 강도를 적응적으로 정하지는 않는다.
- 제안 방법 : SteerAct는 공유된 사전학습 SAE가 제공하는 희소 특징 중 태스크별로 단 하나의 특징을 골라 스티어링하는 few-shot temporal steering 프레임워크다. 핵심은 활성 크기가 아니라 활성의 시간적 패턴을 보는 것이다. 짧은 윈도우 안에서 활성값들의 상대적 순서(ordinal pattern)를 세어 18차원 temporal descriptor를 만들고, 이 동일한 descriptor를 (i) 오프라인에서 성공/실패 롤아웃을 가장 잘 구분하는 특징을 고르는 데, (ii) 온라인에서 현재 롤아웃이 실패 쪽을 닮았는지 판단하고 steering coefficient $\alpha_t$를 고르는 데 함께 쓴다. 두 개의 게이트(support gate, failure gate)가 모두 열릴 때만 개입하고, 그 외에는 $\alpha_t = 0$으로 둔다. 액션 모델과 SAE의 가중치는 전 과정에서 고정된다.
- 발견 사실 : 태스크당 결과 라벨이 달린 롤아웃 24개만으로, RoboTwin 2.0과 DexJoCo의 36개 태스크–백본 설정($\pi_{0.5}$, Fast-WAM) 중 34개에서 unsteered 모델보다 성공률이 올랐고, 평균적으로 약 10% 상대 개선을 얻었다. 실제 로봇 3개 태스크에서는 평균 31.1% → 52.2%로 가장 강한 baseline(DrVLA, 40.0%)보다 높았다. 어블레이션에서는 ordinal-pattern descriptor가 자기상관·DTW·원시 최근접 매칭보다 낫고, 인코더 브랜치(Enc) 개입이 액션 전문가(Dec) 개입보다 일관되게 우수하며, 두 게이트를 모두 제거하면 frozen 정책보다도 성능이 떨어진다는 점이 확인되었다. 반면 참조 롤아웃을 48개에서 96개로 늘려도 평균은 변하지 않았고, 백본 간 성능 격차(예: Fast-WAM의 Hanoi Bi 0%)는 좁혀지지 않았다.
- 핵심 기여 :
- Frozen 액션 모델의 few-shot temporal steering : 소수의 성공/실패 롤아웃만으로, 보조 RL 컨트롤러 학습이나 가중치 갱신 없이, 실행 중 시간적으로 유도되는 개입으로 사전학습 로봇 액션 모델을 개선하는 프레임워크를 제안했다.
- 특징 선택과 개입을 잇는 공유 temporal descriptor : 희소 특징의 동역학을 ordinal pattern의 분포로 표현하여, 같은 descriptor가 오프라인 결과 기반 특징 선택과 온라인 개입 타이밍·계수 제어를 모두 지원하도록 설계했다. 타임스텝 정렬이 필요 없다.
- 여러 액션 모델·조작 환경에서의 검증 : $\pi_{0.5}$와 Fast-WAM을 RoboTwin 2.0, DexJoCo, 실제 로봇 조작에서 평가하여 태스크당 24개 참조 롤아웃으로 약 10%의 상대 성공률 향상을 보였고, descriptor·개입 위치·참조 수·게이트에 대한 어블레이션을 제공했다.
Abstract 쉬운 설명(Gemini)
🏃♂️ 한 줄 요약: “실수하는 로봇을 뇌 수술 없이 고치는 방법!”
이미 공부를 마친 로봇이 실전에서 자꾸 실수를 할 때, 로봇의 뇌(인공지능)를 처음부터 다시 공부시키지 않고도, 옆에서 꿀밤 한 대 톡 때려주며 실시간으로 행동을 올바르게 고쳐주는 기술에 대한 이야기입니다.
💡 이해를 돕기 위한 쉬운 비유
우리가 자녀나 강아지에게 “인형을 집어서 상자에 넣는 법”을 가르친다고 상상해 보세요.
인형을 집을 때까지는 잘했는데, 상자 바로 앞에서 자꾸 엉뚱한 데에 인형을 떨어뜨리는 실수를 합니다. 이 아이를 고치기 위해 처음부터 기초 교육을 다시 시키는 건 시간도 너무 오래 걸리고 비효율적이죠?
가장 좋은 방법은 옆에서 지켜보고 있다가, 아이가 상자 앞에서 멈칫하며 엉뚱한 행동을 하려는 바로 ‘그 순간’에 손을 살짝 잡아 올바른 방향으로 이끌어주는 것입니다.
이 논문이 개발한 ‘SteerAct’가 바로 이 ‘옆에서 손을 살짝 잡아 올바른 타이밍에 도와주는 조력자’ 역할을 하는 인공지능입니다.
🛠️ 이 기술이 일하는 3단계 과정
이 기술은 딱 세 단계를 거쳐 로봇을 도와줍니다.
| 단계 | 로봇이 하는 일 | 쉬운 설명 |
|---|---|---|
| 1단계: 오답노트 비교하기 | 성공한 영상과 실패한 영상을 분석합니다. | “아, 잘할 때는 머릿속에서 ‘이런 생각’을 하고, 실수할 때는 ‘저런 생각’을 하는구나!” 하고 실수의 원인이 되는 생각 주머니(핵심 피처)를 딱 찾아냅니다. |
| 2단계: 타이밍 노리기 | 로봇이 실제로 움직일 때 머릿속 생각을 실시간으로 훔쳐봅니다. | 로봇이 움직이는 동안 “어? 지금 머릿속 생각이 실패할 때의 생각으로 흘러가는데?” 하고 개입할 타이밍을 실시간으로 감지합니다. |
| 3단계: 생각의 방향 살짝 틀어주기 | 생각 주머니의 크기를 조절합니다. | 실패할 것 같으면 잘했을 때의 생각 주머니를 머릿속에서 강제로 ‘더 크게’ 켜줍니다. (이를 ‘조향’이라고 불러요) |
🏆 그래서 무엇을 얻었나요?
- 공부를 새로 안 시켜도 돼요: 로봇의 뇌 세포(가중치)를 바꾸는 복잡한 재학습 과정을 전혀 거치지 않았습니다.
- 단 24번만 보여주면 돼요: 로봇이 성공한 모습과 실패한 모습을 단 24번 보여주는 것만으로 똑똑해졌습니다.
- 실력이 껑충 뛰었어요: 이 가이드 시스템을 적용하자마자, 로봇이 물건을 집어 올리는 등의 복잡한 작업 성공률이 10%나 더 높아졌습니다.
어떻게 실시간으로 모델에 개입하는가?
1단계: 뇌 속의 복잡한 전기 신호를 ‘단어’로 통역하기 (SAE의 역할)
인공지능 로봇의 뇌(신경망) 안에서는 매 순간 수만 개의 디지털 신호(숫자들)가 폭포수처럼 쏟아집니다. 이 상태로는 비전공자뿐만 아니라 개발자도 로봇이 무슨 생각을 하는지 알 수 없습니다.
여기서 희소 오토인코더(SAE, Sparse Autoencoder)라는 일종의 ‘생각 통역기’가 작동합니다.
- 이 통역기는 복잡한 숫자 신호들을 거쳐 우리가 이해할 수 있는 하나의 구체적인 개념, 즉 ‘생각 주머니(Feature)’로 변환해 줍니다.
- 예를 들어, 날뛰던 숫자 신호들을 척 보고 “아, 지금 로봇 머릿속에서 ‘컵 손잡이를 쥐어야 해’라는 생각이 켜졌구나!” 하고 알아채는 식입니다.
2단계: 실시간으로 생각의 흐름을 ‘요약 카드’로 기록하기
이제 통역기가 실시간으로 어떤 생각이 켜지고 꺼지는지 알려줍니다. SteerAct는 이 생각들이 시간에 따라 어떻게 움직이는지 실시간으로 지켜보며 앞서 설명해 드린 ‘공유 시간적 기술자(요약 카드)’를 갱신합니다.
-
실시간 도청 상황:
- 0.1초:
[조준하기]생각 주머니가 살짝 켜짐 (신호 세기: 2) - 0.2초:
[조준하기]생각이 엄청 강해짐 (신호 세기: 9) 📈 - 0.3초:
[조준하기]생각이 서서히 꺼짐 (신호 세기: 3) 📉
- 0.1초:
- SteerAct는 이 신호의 높낮이 변화(올라감, 내려감, 유지됨 등)를 18개의 숫자로 이루어진 하나의 패턴 규격 카드에 실시간으로 실시간으로 계속 기록해 나갑니다.
3단계: 과거의 성공/실패 지도와 즉석에서 겹쳐보기 (도청 완료!)
로봇의 머릿속 생각을 훔쳐보는 최종 단계는 “과거 데이터와의 비교”입니다.
- 대조하기: 실시간으로 만들어지고 있는 이 요약 카드를, 예전에 모아둔 ‘성공했을 때의 카드들’ 그리고 ‘실패했을 때의 카드들’과 실시간으로 대조합니다. (정렬할 필요 없이 즉시 겹쳐볼 수 있습니다.)
- 이상 감지: “어라? 지금 이 로봇이 행동한 지 2초밖에 안 지났는데, 머릿속 생각의 변화 패턴이 예전에 실패했을 때의 카드(Fail Reference Bank)와 90% 일치하네?” 하고 즉각 감지합니다.
- 훔쳐보기 끝, 개입 시작 (Steering): 위험을 감지하는 순간, SteerAct는 로봇이 나쁜 행동을 실행하기 전에 ‘성공 카드’의 생각 패턴으로 돌아가도록 머릿속 생각 신호의 값을 물리적으로 강제로 올려주거나(더 크게 켜기), 내려버립니다(끄기).
🧠 요약하자면
SteerAct는 로봇이 움직이는 동안 [ ① 뇌 신호를 개념으로 통역(SAE) ➡️ ② 그 개념의 변화 추이를 실시간 카드(Descriptor)에 기록 ➡️ ③ 과거 실패 카드와 실시간 비교 ]하는 방식으로 로봇의 머릿속 생각을 완벽하게 감시하고 통제하는 것입니다.
이 기술 덕분에 로봇이 겉으로는 아직 실수하지 않은 것처럼 보여도, “뇌 속에서 이미 실수의 징조가 보일 때” 귀신같이 알아채고 미리 고쳐줄 수 있게 되었습니다.
관련 개념
공유 시간적 기술자(Shared Temporal Descriptor)
1. 한 줄 요약: “동영상 편집 없이 흐름만 요약한 요약본”
- 공유(Shared): ‘과거의 오답노트(성공/실패)’와 ‘지금 실시간으로 작동 중인 상태’를 같은 형식(양식)으로 표현했다는 뜻입니다.
- 시간적(Temporal): 단순히 한 순간의 정지 화면이 아니라, “시간이 흐르면서 머릿속 생각이 어떻게 변해가는지” 그 흐름을 담았다는 뜻입니다.
- 기술자(Descriptor): 데이터를 다루기 좋게 특징만 뽑아서 만든 ‘요약 카드’ 혹은 ‘꼬리표’라는 뜻입니다.
즉, “로봇이 움직이는 동안 머릿속 생각이 변해가는 패턴을 시간 순서대로 요약해 놓은 만능 규격 카드”라고 이해하시면 됩니다.
2. 왜 이게 필요했을까요? (기존 방식의 문제점)
로봇이 컵을 집어 올리는 동작을 한다고 해봅시다.
- 어떤 시도에서는 3초 만에 빠르게 컵을 집었고,
- 다른 시도에서는 조심조심 하느라 10초가 걸려서 집었습니다.
이 두 동작을 단순 비교하려면 시간(초)을 똑같이 맞춰야 하는 골치 아픈 문제(Time-step Alignment)가 생깁니다. “3초짜리 영상의 1.5초 시점”과 “10초짜리 영상의 1.5초 시점”은 로봇의 진행 상황이 완전히 다르니까요.
그래서 시간을 억지로 늘이거나 줄여서 정렬해야 했는데, 계산도 복잡하고 실시간으로 쓰기엔 너무 느렸습니다.
3. ‘시간적 기술자’는 이 문제를 어떻게 해결하나요?
이 기술자는 구체적인 시각(초)을 신경 쓰지 않습니다. 대신 “생각의 흐름 순서와 부드러움”만 요약합니다.
예를 들어, 컵을 집을 때 로봇의 머릿속에서 일어나는 세 가지 생각의 세기(활성화 정도)를 순서대로 나열해 봅니다.
-
[A: 컵을 조준하자]🎯 -
[B: 손가락을 오므리자]✊ -
[C: 들어 올리자]⬆️
-
빨리 끝낸 시도(3초):
A→B→C순서로 생각의 흐름이 흘러갔습니다. -
느리게 끝낸 시도(10초): 속도는 느리지만 역시
A→B→C순서로 흘러갔습니다.
‘시간적 기술자’는 “이 로봇은 지금 시간과 관계없이 A가 켜진 뒤 B가 켜지고 C가 켜지는 정상적인 흐름으로 가고 있구나!” 하고 흐름의 순서(Ordinal Patterns)와 상태를 18개의 숫자로 압축한 요약 카드에 기록합니다.
4. 실시간으로 어떻게 쓰이나요? 🛠️
로봇의 머릿속에 이 만능 규격 카드를 한 장 얹어놓는다고 생각하시면 됩니다.
| 단계 | 작동 방식 | 실제 비교 상황 |
|---|---|---|
| 오프라인 (과거 데이터) | 성공한 시도들의 흐름 요약 카드(성공 기술자)와 실패한 시도들의 흐름 요약 카드(실패 기술자)를 미리 만들어 둡니다. | “성공했을 땐 보통 카드 수치가 이랬고, 실패했을 땐 이랬어.” |
| 온라인 (실시간 로봇) | 지금 움직이고 있는 로봇의 요약 카드를 실시간으로 계속 갱신합니다. | “지금 로봇이 쓰는 요약 카드의 숫자가 실시간으로 변하는 중…” |
| 실시간 비교 | 동일한 규격(Shared)의 카드이므로, 실시간 카드와 과거 카드를 즉석에서 바로 겹쳐서 비교합니다. | “어? 지금 카드가 성공 카드보다 실패 카드의 숫자 분포와 점점 비슷해지는데? 얼른 개입해서 정상 흐름으로 밀어주자!” |
이처럼 시간 정렬이라는 복잡한 계산 과정을 건너뛰고, 과거의 성공/실패 패턴과 현재 상태를 똑같은 규격 카드 한 장으로 즉시 비교할 수 있게 해주는 열쇠가 바로 공유 시간적 기술자입니다.
로봇 액션 모델과 추론 시점 스티어링(Inference-time Steering)
VLA(Vision–Language–Action) 모델과 WAM(World–Action Model) 은 대규모 사전학습과 다양한 로봇 경험으로 범용 조작 정책을 제공하는 로봇 파운데이션 모델입니다. 이 논문은 이런 모델의 표현이 이미 학습된 이후의 적응(adaptation) 을 다룹니다. 새 아키텍처를 제안하거나 파라미터를 갱신하는 대신, 결과 라벨이 달린 롤아웃으로 고정된 모델의 은닉 활성에 개입해 목표 태스크 성능을 올립니다.
🧭 1. 추론 시점 스티어링의 세 갈래
논문의 Related Work는 백본 가중치를 건드리지 않고 배포 중 행동을 개선하는 방법을 다음과 같이 정리합니다.
| 계열 | 대표 방법 | 핵심 아이디어 |
|---|---|---|
| 후보 선택(Candidate selection) | 학습된 가치 함수, 액션 verifier, VLM 결과 추론, 이전 action chunk와의 일관성 | 여러 액션 제안을 샘플링한 뒤 순위를 매겨 고름 |
| 샘플러 수정(Sampler methods) | classifier(-free) guidance 계열, 학습된 dynamics로 평가하는 목적 함수 | 디퓨전·플로우의 생성 과정 자체를 편향시킴 |
| 잠재 노이즈 제어 | DSRL (초기 노이즈 위의 state-conditioned 정책), flow reversal steering | 고정된 샘플러를 액션 변환으로 보고 초기 노이즈를 선택·예측 |
이들은 노이즈 선택이나 예측 기반 guidance를 통해 액션 생성을 제어합니다. SteerAct는 대신 희소 내부 특징 하나를 직접 수정하고, 그 특징의 활성 이력으로 언제·어떻게 개입할지를 정합니다. 은닉 상태 접근이 필요하지만, 보조 RL 컨트롤러를 학습하거나 미래 시각 관측을 예측할 필요는 없습니다.
🧪 2. 표현 수준 스티어링과 SAE 기반 로봇 제어
표현 수준 스티어링은 원하는 행동과 연관된 방향을 따라 은닉 활성을 수정합니다. 방향을 찾는 기존 방식은 최적화된 잠재 벡터, 대조적 활성 차이, 프로빙, representation engineering 등입니다. SAE는 활성을 희소 특징 사전으로 분해해 구조화된 제어 인터페이스를 제공하며, 디코더 방향이 후보 스티어링 방향이 됩니다.
로보틱스 쪽 선행 연구와 SteerAct의 관계는 다음과 같습니다.
| 연구 | 접근 | SteerAct와의 차이 |
|---|---|---|
| Häon et al. (2025) | VLA 내부에서 이동 방향·속도 같은 저수준 행동 방향 식별 | 방향 식별이 목적, 실행 중 적응 없음 |
| Khan et al. (2025) | 대조적 액션 쌍으로 SAE 기반 잠재 스티어링 방향 구성 | 고정 방향 |
| DrVLA (Swann et al., 2026) | 개별 SAE 특징이 해석 가능한 motion primitive·의미 속성을 인코딩함을 보이고 그 방향으로 개입 | 본 논문의 핵심 baseline |
| COAST (Miao et al., 2026) | 성공/실패 롤아웃으로 contrastive conceptor를 맞춰 성공 부분공간 쪽으로 은닉 상태를 스티어링 | 단일 additive 벡터가 아니어도 됨을 보임, 그러나 활성 이력 기반 타이밍 제어는 없음 |
💡 Key Takeaway SteerAct의 차별점은 “어떤 방향으로 밀까”가 아니라 “그 특징의 활성이 지금까지 어떻게 움직였는지를 보고, 지금 밀어야 하는지와 얼마나 밀지를 정한다” 는 데 있습니다.
문제 설정: SAE 특징 하나로 Frozen 정책 수정하기
문제 설정은 고정된 로봇 액션 모델의 특정 개입 지점(intervention site) 에서 은닉 활성에 접근할 수 있다는 가정에서 출발합니다. 태스크 간에 공유되는 사전학습 SAE가 은닉 벡터를 희소 코드로 부호화하고 선형 디코더로 복원합니다.
🧱 1. SAE와 “특징”의 두 얼굴 (Eq. 1)
$$\mathbf{z} = E(\mathbf{h}), \qquad \widehat{\mathbf{h}} = W_{\mathrm{dec}}\,\mathbf{z} + \mathbf{b}$$
- $\mathbf{h} \in \mathbb{R}^{d}$: 은닉 상태, $\mathbf{z} \in \mathbb{R}^{K}$: 희소 코드, $K$: SAE 특징 수
- 특징 $f$는 입력 의존적 활성 $\mathbf{z}[f]$와 고정된 방향 $\mathbf{d}f = W{\mathrm{dec}}[:, f] \in \mathbb{R}^{d}$의 쌍입니다.
논문은 이 두 측면을 역할에 따라 나눠 씁니다.
| 측면 | 쓰임 |
|---|---|
| 활성 $\mathbf{z}[f]$ (인코더 출력) | 활성 이력을 만들어 개입 여부·강도를 판단하는 데 사용 |
| 디코더 방향 $\mathbf{d}_f$ | 원래 은닉 상태를 실제로 수정하는 데 사용 |
✏️ 2. 스티어링 식 (Eq. 2)
오프라인에서 태스크별 특징 $f^$를 고르고 방향 $\mathbf{d} = \mathbf{d}_{f^}$를 고정합니다. 새 롤아웃의 로봇 결정(decision) $t$에서, 개입 대상 토큰 $j$의 은닉 벡터 $\mathbf{h}_{t,j}$를 다음처럼 수정합니다.
$$\mathbf{h}’{t,j} = \mathbf{h}{t,j} + \alpha_t\,\mathbf{d}$$
- $t$는 로봇 결정 단위이지 액션 샘플러 내부의 반복(denoising step) 단위가 아닙니다.
- 같은 결정 안에서는 모든 대상 토큰에 같은 방향과 같은 계수를 적용합니다.
- 온라인 목표는 지금까지 관측된 활성 이력만으로 $\alpha_t$를 고르는 것입니다. 방향은 고정이고, 액션 모델도 SAE도 갱신되지 않습니다.
💡 Key Takeaway 학습 대상이 전혀 없습니다. 바뀌는 것은 매 결정마다 스칼라 $\alpha_t$ 하나뿐이며, 그조차도 “학습”이 아니라 참조 롤아웃과의 비교로 정해집니다.
Temporal Descriptor: Ordinal Pattern으로 특징 동역학 요약하기
Temporal descriptor는 이 논문의 핵심 표현입니다. 특징 활성의 평균 크기가 아니라 국소적 시간 패턴의 분포를 포착합니다. 저자들의 관찰은, 어떤 특징이 성공 롤아웃과 실패 롤아웃에서 평균 활성은 비슷하더라도 오르고 내리고 흔들리는 방식이 다를 수 있다는 것입니다(Figure 2).
📏 1. 특징 강도(intensity) 정의 (Eq. 3)
롤아웃 $e$의 결정 $t$에서, 측정 토큰 $N_{e,t}$개의 은닉 벡터를 SAE 인코더에 통과시켜 특징 $f$의 정류(rectified) 활성을 평균합니다.
$$y_{f,e,t} = \frac{1}{N_{e,t}} \sum_{j=1}^{N_{e,t}} \max\left{\left[E(\mathbf{h}_{e,t,j})\right]_f,\, 0\right}$$
강도는 인코더로 측정하고, 스티어링은 그 강도가 측정되는 은닉 상태를 수정한다는 분업이 여기서 명확해집니다. 선택된 특징의 현재 롤아웃 강도는 간단히 $y_t$로 씁니다.
🔢 2. Ordinal pattern (Bandt & Pompe, 2002)
강도 이력 $y_{1:t}$에서 두 가지 간격으로 삼중항(triple) 을 모두 만듭니다.
| 간격 | 삼중항 |
|---|---|
| 1 | $(y_i, y_{i+1}, y_{i+2})$ |
| 2 | $(y_i, y_{i+2}, y_{i+4})$ |
각 삼중항은 세 값의 상대적 순서에 따라 $3! = 6$가지 패턴 중 하나에 배정됩니다. 동점은 시간 순서로 해소하며, 먼저 측정된 값이 앞 순위입니다. 간격별로 6개 패턴의 빈도를 세고 전체 삼중항 수로 나눠 경험적 패턴 분포를 얻습니다.
🧮 3. 18차원 descriptor (Eq. 4)
간격마다 6개 빈도에 세 통계를 더해 9차원, 두 간격을 합쳐 18차원이 됩니다.
$$\mathbf{v}{f,e,t} = \phi(y{f,e,1:t}) \in \mathbb{R}^{18}$$
| 구성 요소 (간격당) | 차원 |
|---|---|
| 6개 ordinal pattern의 빈도 | 6 |
| 패턴 분포의 엔트로피 (부록: $H(\mathbf{p}) = -\sum_i p_i \log p_i / \log 6$으로 정규화) | 1 |
| 동점을 포함한 삼중항의 비율 | 1 |
| 삼중항이 하나라도 있는지 나타내는 지시자 | 1 |
같은 매핑 $\phi$를 완전한 참조 롤아웃, 관측 중인 실행 prefix, 후보 교정으로 수정된 이력에 모두 적용합니다. 그래서 길이가 다른 롤아웃 사이에서도 타임스텝 정렬 없이 비교가 가능합니다.
🔁 4. 전처리: 단조 변환은 descriptor를 바꾸지 않는다
구현은 descriptor를 만들기 전에 $\widetilde{y}_t = \log(1 + y_t / s_f)$를 적용합니다($s_f > 0$는 오프라인에 고정되는 특징별 스케일). 이 변환은 강한 단조 증가이므로 순서와 동점을 보존하고, ordinal descriptor는 그대로입니다. 반면 뒤에서 볼 강도 변화 예측은 변환 전 원시 강도 공간에서 계산합니다.
💡 Key Takeaway Ordinal pattern은 “값이 얼마였나”를 버리고 “오르락내리락의 모양”만 남깁니다. 크기 정보를 버리는 대가로 롤아웃 간 스케일 차이와 시간 정렬 문제에서 자유로워집니다.
오프라인 단계: 참조 뱅크 구성과 특징 선택
오프라인 준비에서는 목표 태스크에서 수집한 소수의 롤아웃으로, 성공과 실패를 시간 패턴으로 가장 잘 구분하는 특징 하나를 찾습니다.
🏦 1. 성공/실패 뱅크
후보 특징 $f \in \mathcal{C} \subseteq {1, \dots, K}$마다, 각 완전한 참조 롤아웃에서 descriptor 하나를 계산하고 결과별로 묶습니다.
- 성공 뱅크 $\mathcal{B}_f^{S}$, 실패 뱅크 $\mathcal{B}_f^{F}$
- 결과 $A, B \in {S, F}$에 대해 뱅크 간 평균 거리:
$$\bar{d}f^{AB} = \operatorname{mean}{i,j} \left| \mathbf{v}{f,i}^{A} - \mathbf{v}{f,j}^{B} \right|_2$$
$A = B$일 때는 $i = j$ 쌍을 제외합니다. 따라서 $\bar{d}_f^{SF}$는 결과 간 분리, $\bar{d}_f^{SS}$와 $\bar{d}_f^{FF}$는 결과 내 변동을 잽니다. 부록에 따르면 자기 쌍을 제외하므로 결과당 최소 두 개의 참조 롤아웃이 필요합니다.
🎯 2. 선택 기준 (Eq. 5)
$$f^{*} = \arg\max_{f \in \mathcal{C}} \left( 2\,\bar{d}_f^{SF} - \bar{d}_f^{SS} - \bar{d}_f^{FF} \right)$$
결과 간 분리에서 결과 내 변동을 빼는 형태이므로, 평균 활성의 차이가 아니라 시간 패턴의 차이로 선택됩니다. 선택된 특징의 디코더 방향 $\mathbf{d}$와 참조 뱅크 $\mathcal{B}S = \mathcal{B}{f^}^{S}$, $\mathcal{B}_F = \mathcal{B}_{f^}^{F}$는 배포 중 고정되며, 특징을 고르는 데 쓴 바로 그 참조가 이후 언제·어떻게 스티어링할지의 근거가 됩니다.
⚙️ 3. SAE 학습 설정 (Appendix C)
| 항목 | 설정 |
|---|---|
| SAE 유형 | TopK SAE |
| 학습 데이터 | 여러 태스크의 온라인 롤아웃 은닉 활성을 풀링, 태스크당 24 에피소드 |
| 확장 비율 | 8 ($K = 8d$) |
| 토큰당 유지 활성 수 | $k_{\mathrm{SAE}} = 100$ |
| 공유 여부 | 태스크 간 공유, 고정 |
💡 Key Takeaway SAE는 “후보 방향의 사전”일 뿐이고, 태스크 적응은 그 사전에서 디코더 방향 하나를 고르는 것으로 끝납니다. 특징 선택 자체가 결과 라벨만 쓰는 비학습 절차라는 점이 few-shot을 가능하게 합니다.
온라인 단계: 두 개의 게이트와 Steering Coefficient
온라인 실행에서는 선택된 특징만 모니터링하고 $\alpha_t$만 적응시킵니다. 결정 $t$마다 수정되지 않은 현재 강도 $y_t$를 이력에 추가하고 $\mathbf{v}t = \phi(y{1:t})$를 계산한 뒤, (1) 이 이력이 참조와 의미 있는 비교를 지원하는지, (2) 실패를 닮았는지를 차례로 검사합니다. 두 게이트가 모두 열릴 때만 교정을 탐색합니다.
🚪 1. Support Gate: “아직 판단하기엔 이르다”를 감지
짧은 이력은 descriptor가 참조에 가까워 보여도 패턴 빈도 자체가 불확실할 수 있습니다. 이를 다루기 위해 support score를 도입합니다.
- 관측된 패턴 카운트(각 카운트에 pseudo-count $1/2$ 추가)로 Dirichlet 분포를 만들고, 간격마다 확률 벡터를 뽑아 그럴듯한 descriptor $M$개를 생성합니다. 동점 비율과 가용성 지시자는 고정합니다.
- 각 샘플에 대해, $\mathcal{B}S \cup \mathcal{B}_F$ 안에서 스케일링하지 않은 유클리드 거리가 오프라인 보정 반경 $\epsilon{\mathrm{sup}}$ 이하인 참조 수를 셉니다. 이 수가 $k_{\mathrm{sup}}$ 이상이면 그 샘플은 “지원됨(supported)”입니다.
- $m_t$ = 지원된 샘플의 비율. $m_t \ge \tau_m$이고 두 간격 모두 최소 삼중항 수를 만족하면 통과입니다.
반경 $\epsilon_{\mathrm{sup}}$은 참조마다 자기 자신을 제외한 $k_{\mathrm{sup}}$번째 최근접 이웃까지의 거리를 재고, 그 분포의 미리 정한 분위수의 3배로 정합니다. 평가 롤아웃으로는 갱신하지 않습니다. 인접 삼중항이 활성값을 공유하므로 Dirichlet 모델의 불확실성 추정은 근사라는 점을 저자들도 명시합니다.
🚨 2. Failure Gate: “지금 실패 쪽으로 가고 있다”를 감지
| $D_S(\mathbf{v})$와 $D_F(\mathbf{v})$를 각각 성공·실패 뱅크에서 가장 가까운 $k_{\mathrm{eff}} = \min{k, | \mathcal{B}_S | , | \mathcal{B}_F | }$개 참조까지의 스케일링된 유클리드 거리 평균이라 할 때, 실패 검사는 $D_F(\mathbf{v}_t) < D_S(\mathbf{v}_t)$일 때 통과합니다(같으면 통과하지 않음). |
좌표 스케일은 뱅크 크기와 무관하게 성공과 실패에 같은 가중치를 주도록 정합니다(Eq. 7, 8).
$$s_q = \max\left{10^{-8},\ \sqrt{\frac{\sigma_{S,q}^2 + \sigma_{F,q}^2}{2} + \frac{(\mu_{S,q} - \mu_{F,q})^2}{4}}\right}, \qquad \operatorname{dist}(\mathbf{v}, \mathbf{u}) = \left[\sum_{q=1}^{18} \left(\frac{v_q - u_q}{s_q}\right)^2\right]^{1/2}$$
여기서 $\mu, \sigma^2$는 롤아웃 간 변동(타임스텝 간이 아님)이며, 모두 오프라인에서 계산해 고정합니다.
🔒 3. 히스테리시스
급격한 전환을 막기 위해 각 게이트는 연속된 통과 검사 횟수만큼 쌓여야 열리고, 연속된 실패 검사 횟수만큼 쌓여야 닫힙니다. Support gate가 닫히면 failure gate와 그 카운터는 리셋됩니다. 두 게이트 중 하나라도 닫혀 있으면 $\alpha_t = 0$입니다.
🎚️ 4. Steering coefficient 선택 (Eq. 6)
두 게이트가 열리면, 양수·음수·0을 포함한 유한 격자 $\mathcal{A}_t$에서 후보 계수를 평가합니다. SAE 활성 집합이 국소적으로 변하지 않는다고 가정하고, 예측된 descriptor가 성공 뱅크에 가장 가까운 계수를 고릅니다.
$$\alpha_t = \arg\min_{\alpha \in \mathcal{A}t} D_S!\left(\phi!\left(y_1, \dots, y{t-1},\ \max{0,\ y_t + \alpha\,\rho_t\,\mathbf{w}_{f^*}^{\top}\mathbf{d}}\right)\right)$$
- $\mathbf{w}_{f^*}$: 선택된 특징의 인코더 가중치 벡터, $\rho_t$: 측정 토큰 중 특징이 양의 활성을 갖는 비율(Eq. 9)
- 인코더가 affine이면 은닉 상태를 $\alpha\mathbf{d}$만큼 옮길 때 pre-activation은 $\alpha\,\mathbf{w}{f^*}^{\top}\mathbf{d}$만큼 변하고, 활성 토큰만 기여하므로 평균 강도 변화는 $\alpha\rho_t\mathbf{w}{f^}^{\top}\mathbf{d}$가 됩니다(Eq. 10–12). 특징 의존 응답 $\mathbf{w}_{f^}^{\top}\mathbf{d}$는 오프라인에 고정되고, 현재 활성에 따라 바뀌는 것은 $\rho_t$뿐입니다.
- 후보 평가는 이력의 현재 항만 교체하고 이전 항은 그대로 둡니다. 단위 계수당 강도 변화가 유한하지 않거나 최소값 미만이면 개입을 포기(abstain) 합니다.
- 적용 후에는 수정된 상태를 다시 인코딩해 $y_t$를 측정값으로 교체하고, 적용한 $\alpha_t$를 다음 결정으로 넘깁니다(Algorithm 1).
| 파라미터 | 기호 | 값 |
|---|---|---|
| Support 샘플 수 | $M$ | 500 |
| Support gate 임계값 | $\tau_m$ | 0.65 |
| 최대 계수 크기 | $A_{\max}$ | 10 |
| 계수 격자 간격 | $\delta_\alpha$ | 0.5 |
💡 Key Takeaway 계수 선택은 미래 액션이나 성공을 예측하지 않습니다. “이 만큼 밀면 지금까지의 활성 패턴이 성공 롤아웃의 패턴과 더 비슷해지는가”라는 국소적 특징 통계의 변화만 평가합니다. 이 점이 가치 함수나 dynamics 모델이 필요한 다른 방법과의 결정적 차이입니다.
실험 설정과 Baseline
평가 질문은 다섯 가지입니다. (1) 여러 태스크·백본에서 성능이 오르는가, (2) 실제 로봇에서도 오르는가, (3) 어떤 시간 표현이 결과 매칭에 가장 효과적인가, (4) 개입은 어디에 적용해야 하는가, (5) 참조 경험의 양과 성공 참조의 가용성에 성능이 어떻게 의존하는가.
🧰 1. 벤치마크·백본·데이터
| 항목 | 내용 |
|---|---|
| 시뮬레이션 벤치마크 | RoboTwin 2.0 9개 태스크(그리퍼), DexJoCo 9개 태스크(덱스터러스 핸드) |
| 백본 | $\pi_{0.5}$, Fast-WAM → 총 36개 태스크–백본 설정 |
| 실제 로봇 | I2RT YAM(Realsense D405 ×2, D435i ×1), $\pi_{0.5}$, 3개 태스크(Folding Cloth, Pingpong Transport, Push Cube) |
| 백본 fine-tuning | 시뮬레이션: 스크립트 정책의 성공 데모 500개/태스크. 실제 로봇: 데모 30개/태스크. 모든 방법이 같은 체크포인트 사용 |
| 참조 롤아웃 | 태스크당 온라인 롤아웃 24개(성공·실패 각 최소 2개), fine-tuning 데모와 별개 |
| 평가 | 시뮬레이션 200개 held-out 롤아웃/태스크·방법, 실제 로봇 30회/태스크 |
| 하드웨어 | NVIDIA RTX 6000 |
🆚 2. Baseline과 변형
| 방법 | 설명 |
|---|---|
| Base | 수정 없는 사전학습 정책 |
| DSRL-SAC | 고정 생성 정책의 초기 노이즈 위에 soft actor–critic 컨트롤러 학습 |
| COAST (positive-only) | 성공/실패 롤아웃으로 contrastive conceptor를 만들어 성공 부분공간으로 스티어링 |
| DrVLA | SAE로 해석 가능한 VLA 특징을 찾고 그 방향으로 개입 |
| SteerAct (Enc) | 백본의 인코더(context branch)에 개입. 기본 설정 |
| SteerAct (Dec) | 액션 전문가(action expert)에 개입. 개입이 켜진 동안 모든 denoising step에 적용 |
📐 3. 통계 검정
성공률은 이항 비율이므로 태스크를 풀링한 카운트로 two-proportion z-test를 씁니다. Table 1의 네 집계 이득은 모두 유의합니다(설정당 $n = 1800$; RoboTwin 2.0 + $\pi_{0.5}$: $z = 5.9$, $p < 10^{-8}$; 나머지 $p < 0.05$). 실제 로봇($n = 90$ 풀링)에서 Base 대비 21.1pp 이득은 유의($z = 2.9$, $p = 0.004$)하지만 DrVLA 대비 12.2pp는 유의하지 않습니다($z = 1.6$, $p = 0.10$). 태스크별 $n = 200$ 차이는 표준오차 약 4pp로 참고용입니다.
💡 Key Takeaway 저자들이 태스크 단위 차이를 “indicative only”라고 못 박은 점은 눈여겨볼 만합니다. 이 논문의 주장은 집계 수준의 광범위한 개선이지, 모든 태스크에서의 우위가 아닙니다.
주요 결과: 시뮬레이션과 실제 로봇
Table 1에서 SteerAct (Enc)는 네 개의 벤치마크–백본 설정 모두에서 가장 높은 평균 성공률을 기록했습니다.
📊 1. 집계 성공률 (평균, %)
| 백본 / 벤치마크 | Base | DSRL-SAC | DrVLA | COAST | SteerAct (Dec) | SteerAct (Enc) |
|---|---|---|---|---|---|---|
| $\pi_{0.5}$ / RoboTwin 2.0 | 69.0 | 71.1 | 71.4 | 68.4 | 70.9 | 77.7 |
| $\pi_{0.5}$ / DexJoCo | 62.3 | 58.2 | 65.6 | 65.3 | 66.6 | 71.9 |
| Fast-WAM / RoboTwin 2.0 | 69.3 | – | 74.0 | 69.6 | 77.1 | 78.6 |
| Fast-WAM / DexJoCo | 23.3 | – | 25.6 | 23.9 | 24.1 | 26.8 |
Base 대비 이득은 RoboTwin 2.0에서 8.7pp($\pi_{0.5}$)와 9.2pp(Fast-WAM), DexJoCo에서 9.6pp와 3.4pp입니다(반올림 전 계산).
🔍 2. 태스크 수준 관찰
- SteerAct (Enc)는 RoboTwin 2.0의 18개 태스크–백본 쌍 모두에서, 전체 36쌍 중 34쌍에서 Base를 넘습니다. 예외는 Fast-WAM의 Click Mouse(7% → 5%)와 Hanoi Bi(0% 유지)입니다.
- Baseline의 효과는 더 혼재되어 있습니다. DSRL-SAC는 RoboTwin 2.0 + $\pi_{0.5}$에서는 집계 성공률을 올리지만 DexJoCo에서는 Base 아래로 떨어집니다.
- 개별 baseline이 특정 태스크에서 더 높은 경우도 있습니다. 논문이 주장하는 이점은 “모든 태스크에서의 지배”가 아니라 unmodified 정책 대비 광범위한 개선입니다.
⏱️ 3. 지연 시간 오버헤드 (ms/decision)
| 방법 | $\pi_{0.5}$ | Fast-WAM |
|---|---|---|
| Base | 207.9 | 372.6 |
| DSRL-SAC | 3582.7 | – |
| DrVLA | 221.6 | 419.2 |
| COAST | 214.4 | 387.5 |
| SteerAct (Dec) | 278.1 | 423.9 |
| SteerAct (Enc) | 223.8 | 415.7 |
RoboTwin 2.0에서 SteerAct (Enc)는 결정당 15.9ms($\pi_{0.5}$, 7.6%)와 43.1ms(Fast-WAM, 11.6%)를 추가합니다. $\pi_{0.5}$에서는 DrVLA와 지연이 거의 같으면서 평균 성공률이 6.2pp 높고, Fast-WAM에서는 DrVLA보다 약간 낮은 지연으로 더 높은 성공률을 냅니다. COAST가 더 빠르지만 성공률은 Base 근처이거나 아래입니다.
🤖 4. 실제 로봇 (Table 2, 성공률 %)
| 태스크 | Base | COAST | DrVLA | SteerAct (Dec) | SteerAct (Enc) |
|---|---|---|---|---|---|
| Folding Cloth | 33.3 | 26.7 | 40.0 | 36.7 | 53.3 |
| Cup Ping-Pong | 40.0 | 36.7 | 56.7 | 43.3 | 63.3 |
| Push Cube | 20.0 | 0 | 23.3 | 20.0 | 40.0 |
| 평균 | 31.1 | 21.1 | 40.0 | 33.3 | 52.2 |
세 태스크 모두에서 Base 대비 20pp 이상(20.0 / 23.3 / 20.0) 올랐고, 천 조작·물체 운반·밀기에 걸쳐 이득이 나타납니다. Enc가 Dec를 모든 태스크에서 앞서며(52.2% vs 33.3%), Dec는 Base에 가깝고 Push Cube에서는 전혀 개선이 없습니다.
🧱 5. 남아 있는 백본 의존성
DexJoCo에서 Fast-WAM은 23.3% → 26.8%로 오르지만 $\pi_{0.5}$의 71.9%에는 한참 못 미칩니다. Hanoi Bi는 Fast-WAM의 모든 설정에서 0%입니다. 스티어링은 실행 신뢰성을 올리지만 백본 간 성능 격차를 메우지는 못합니다.
💡 Key Takeaway “어디에 개입하느냐”가 결과를 크게 가릅니다. 같은 descriptor, 같은 게이트, 같은 계수 탐색을 써도 인코더 브랜치 개입(Enc)과 액션 전문가 개입(Dec)의 차이는 실제 로봇에서 거의 19pp에 달합니다. Frozen 정책이 스티어링에 반응하는 방식은 개입 위치의 함수입니다.
어블레이션: 표현·참조 수·특징 수·게이트
어블레이션은 RoboTwin 2.0 + $\pi_{0.5}$(Table 3, 5)와 VLABench(Table 4, 6)에서 수행되었습니다. 매칭 통제군은 모두 Enc를 쓰고 ordinal 기반 support gate를 유지합니다.
🧬 1. 어떤 시간 표현이 좋은가 (Table 3a, 평균 성공률 %)
| 표현 | 설명 (Appendix D) | 성공률 |
|---|---|---|
| Base | 개입 없음 | 69.0 |
| Marginals | 변환된 강도의 히스토그램·분위수·평균·표준편차·MAD, 저/고 임계 비율 등. 활성 수준과 분산 강조 | 71.1 |
| Increments | 여러 고정 lag의 증분 $\delta_i^{(\ell)} = x_{i+\ell} - x_i$의 분포. 변화 크기를 명시적으로 유지 | 70.0 |
| Events | 임계값 기반 이벤트(초과 시간 비율, onset 빈도, run 길이, 피크 등). 활성 버스트·지속·전이 강조 | 70.1 |
| Autocorr. | 고정 lag 자기상관 + Hann 윈도우 스펙트럼 엔트로피·대역 파워 + 전환점 빈도 등 | 73.9 |
| Raw NN | 강도 이력에 직접 최근접 참조 매칭 | 72.2 |
| Raw DTW | Dynamic time warping으로 비선형 시간 정렬 후 매칭 | 71.7 |
| SteerAct (Dec) | ordinal descriptor, 액션 전문가 개입 | 70.9 |
| SteerAct (Enc) | ordinal descriptor, 인코더 개입 | 77.7 |
제안 descriptor는 가장 강한 대안인 자기상관보다 3.8pp 높습니다. 직접 이력 매칭(Raw NN)이나 명시적 시간 정렬(DTW)로는 같은 집계 성능이 나오지 않습니다. 즉 ordinal pattern의 분포로 요약하는 것 자체가 기여합니다.
📦 2. 참조 롤아웃 수 (Table 3b, 3c)
| 전체 참조 롤아웃 | 성공률 | 성공 참조 롤아웃만 | 성공률 | |
|---|---|---|---|---|
| 12 | 73.6 | 8 | 74.4 | |
| 24 (기본) | 77.7 | 24 | 77.6 | |
| 48 | 77.3 | 48 | 77.9 | |
| 96 | 77.3 |
- 12개만으로도 Base보다 4.6pp 높습니다. 48개로 늘리면 9개 태스크 모두 개선되지만 기본 24개 설정이 이미 77.7%이고, 48 → 96은 평균이 그대로입니다(4개 개선, 4개 하락, 1개 동률). 참조를 늘린다고 단조롭게 좋아지지는 않습니다.
- 성공 참조만 8 → 24로 늘리면 3.1pp 오르지만 48로 가면 0.3pp만 더 오릅니다. 이 설정은 성공 에피소드만 세므로 기본 예산(전체 24개)과 직접 비교할 수 없고, 실패 참조도 반드시 있어야 결과 조건부 선택과 스티어링이 가능합니다.
🎛️ 3. 특징 수와 계수 적응 (Table 3d)
| 설정 | 성공률 |
|---|---|
| 단일 특징 + 적응 계수 (기본) | 77.7 |
| Top-2 특징 | 79.6 |
| Top-4 특징 | 80.0 |
| 고정 $\alpha = 1$ | 75.8 |
| 고정 $\alpha = 2$ | 75.7 |
특징을 2개·4개로 늘리면 1.9pp·2.3pp 더 오릅니다. 저자들은 이를 “특징 하나가 충분하다”는 증거이지 “하나가 최적“이라는 증거는 아니라고 명시합니다. 게이트를 유지한 채 계수만 고정하면 적응형보다 1.9–2.0pp 낮으며, 이는 실행 중 교정 크기를 고르는 것을 지지합니다.
🚦 4. 게이트와 타이밍 (VLABench, Table 4, 평균 성공률 %)
| 설정 | Frozen | Delay 10 | Delay 20 | Support gate 제거 | Failure gate 제거 | 게이트 모두 제거 | SteerAct |
|---|---|---|---|---|---|---|---|
| 평균 | 23.63 | 24.63 | 24.88 | 23.13 | 29.88 | 22.38 | 36.13 |
- 완전 게이트 버전은 8개 태스크 모두에서 frozen 정책을 개선합니다.
- Support gate를 빼면 13.00pp, failure gate를 빼면 6.25pp 떨어지고, 둘 다 빼면 frozen 정책보다도 낮아집니다(22.38 < 23.63). 무조건 개입은 해롭습니다.
- 10 또는 20 결정 스텝 뒤에 개입을 켜는 고정 지연 baseline보다 support gate가 낫습니다. 개입 타이밍을 관측된 활성 이력에 맞추는 편이 미리 정한 지연보다 효과적입니다.
💡 Key Takeaway 가장 큰 손실은 support gate를 뺄 때 생깁니다. “실패를 닮았다”는 판단보다 “지금 판단할 근거가 충분하다” 는 판단이 먼저이고 더 중요하다는 것이, 이 논문이 불확실성 인식(uncertainty-aware) 게이팅을 강조하는 이유입니다.
해석 가능성 관점에서 본 SteerAct
해석 가능성(interpretability) 측면에서 이 논문은 SAE 특징을 “설명”하는 것이 아니라 제어 인터페이스로 쓰는 사례입니다. 그럼에도 설계 곳곳에 표현 수준 분석의 가정이 들어 있습니다.
🔬 1. 활성 크기 vs 활성 동역학
Figure 2와 Table 3(a)는 같은 특징이라도 평균 활성보다 시간 패턴이 결과를 더 잘 가른다는 것을 보여 줍니다. 이는 특징을 “켜짐/꺼짐” 또는 “얼마나 켜짐”으로만 보는 기존 SAE 분석에 비해, 특징의 시계열 동역학이 추가 정보를 담고 있다는 관찰입니다. 자기상관·스펙트럼 통계(Autocorr.)도 Marginals보다 낫다는 점이 이를 뒷받침합니다.
📐 2. 선형성 가정과 그 한계
계수 선택(Eq. 6)은 다음 가정 위에 서 있습니다.
| 가정 | 내용 | 논문이 밝힌 한계 |
|---|---|---|
| Affine 인코더 | $[E(\mathbf{h})]{f^*} = \mathbf{w}{f^}^{\top}\mathbf{h} + b_{f^}$ | TopK 등 비선형 활성 집합 변화는 무시 |
| 국소적으로 불변인 활성 집합 | $\alpha\mathbf{d}$만큼 옮겨도 어떤 특징이 활성인지는 안 바뀜 | “임의의 SAE 인코더나 활성 집합을 바꾸는 편집에서는 항등식이 아님” |
| 측정 토큰 = 편집 토큰 | 평균 강도 변화가 $\alpha\rho_t\mathbf{w}_{f^*}^{\top}\mathbf{d}$ | 집합이 다르면 성립하지 않음 |
이 가정들은 SAE 기반 스티어링 연구 일반에서 흔히 암묵적으로 쓰이는 것인데, 이 논문은 이를 명시적으로 적고 수치 안전장치(abstain 규칙) 를 둔 점이 특징입니다.
🧭 3. 개입 지점의 중요성
Enc와 Dec의 큰 격차는 “같은 방향을 어디에 더하느냐”가 결과를 결정한다는 mechanistic한 사실입니다. 액션 전문가의 모든 denoising step에 더하는 Dec가 인코더 브랜치에 한 번 더하는 Enc보다 못하다는 결과는, 적어도 이 설정에서는 문맥 표현 단계의 개입이 액션 디코딩 단계의 개입보다 정책 행동에 더 일관되게 전달됨을 시사합니다. 다만 논문은 그 이유를 기계적으로 분석하지는 않습니다.
💡 Key Takeaway SteerAct는 SAE 특징이 무엇을 의미하는지를 묻지 않습니다. 대신 특징의 활성 궤적이 결과와 상관되는지, 그리고 그 궤적을 성공 쪽으로 밀 수 있는지를 묻습니다. 의미 해석 없이도 제어가 가능하다는 것은 유용하지만, 선택된 특징이 왜 작동하는지는 열린 질문으로 남습니다.
한계(Limitations)
저자들이 명시한 한계(Appendix F)와 본문에서 드러난 제약은 다음과 같습니다.
⚠️ 1. 논문이 밝힌 한계
| 한계 | 내용 |
|---|---|
| 타이밍 증거의 성격 | “개입 타이밍이 중요하다”는 증거는 게이트·고정 지연 어블레이션에서 나온 것이지, 행동 단계(behavioral phase)와 순간 상태를 분리한 통제 실험은 아님 |
| 백본 격차 | 이득이 백본 의존적 격차를 메우지 못함(예: Hanoi Bi 0% 유지) |
| 접근·품질 요구 | 은닉 상태 접근과 사전학습 SAE가 필요하며, SAE 품질이 가용한 스티어링 방향을 제한 |
🧩 2. 본문에서 읽히는 추가 제약
- Support gate의 Dirichlet 불확실성 추정은 인접 삼중항 간 의존을 무시한 근사입니다.
- 계수 선택의 선형 응답 근사는 SAE 활성 집합이 바뀌는 편집에서 깨집니다.
- 참조를 늘려도 성능이 단조 증가하지 않고(48 → 96 동일), 36개 설정 중 2개에서는 Base보다 낮거나 같습니다.
- 특징 하나가 “충분”하지만 “최적”은 아니며(Top-4가 2.3pp 더 높음), 여러 특징을 쓸 때의 설계는 다루지 않았습니다.
- DSRL-SAC는 Fast-WAM 설정에서 보고되지 않았습니다.
💡 Key Takeaway 이 논문은 “스티어링만으로 할 수 있는 것의 한계”를 스스로 적시합니다. 결과 조건부·시간 유도 단일 특징 개입이 가중치 갱신 없이 유용한 적응 인터페이스가 된다는 것이 핵심 결론이며, 백본 자체의 능력 부족은 해결 대상이 아닙니다.