런타임 안전 개입을 학습 신호로 바꿔 VLA 정책을 지속적으로 개선한다
Learning from Runtime Feedback through Failure-Bank Self-Evolution for Vision-Language-Action Models
무엇인가
복잡한 로봇 조작 환경에서 VLA(vision-language-action) 정책은 과제 성공과 의도치 않은 접촉 비용을 동시에 관리해야 한다. 실패 모니터링이나 런타임 실드, 제약 학습 같은 기존 안전 기법은 실행 직전에 개별 행동을 교정하지만, 정책 자체는 그대로 둔다. 그래서 정책이 계속 같은 종류의 행동을 내놓고 실드가 계속 같은 방식으로 되돌리는 '정책-실드 불일치'가 누적된다. 논문은 보호 물체에 둘러싸인 좁은 파지 같은 장면에서 AEGIS가 안전 비용은 낮추지만 그리퍼를 목표에서 계속 밀어내 결국 타임아웃으로 끝나는 궤적을 근거로 든다. 실드를 더 강하게 만들어도 정책이 같은 행동을 생성하는 한 불일치는 사라지지 않는다는 것이 문제 정의의 핵심이다.
어떻게 동작하나
FailBank는 이 런타임 피드백을 일시적 행동 제약이 아니라 지속적 정책 감독으로 전환하는 4단계 자기진화 프레임워크다. 1단계 '관찰과 라벨링'에서는 정책이 정상 행동 a_t를 실행하고, 고정된 CBF 기반 교사가 특권 장면 기하 g_t를 이용해 반사실 제안 ã_t = S(a_t, g_t)를 독립적으로 만든다. 교사는 병진 채널만 바꾸고 개입 여부를 z_t ∈ {0,1}로 기록하며, 환경은 항상 정상 행동 a_t^env = a_t를 실행한다. 제안이 실행되지 않으므로 에피소드 결과는 정책에 귀속된다. 롤아웃이 끝나면 각 스텝 레코드(관찰 참조, 지시문, 정상 행동, 교사 제안, 트리거 표시, 감사용 메타데이터)에 에피소드 결과를 붙인다. 2단계 '선별과 가중'은 결과를 보고 학습 레코드를 고른다. 교사 교정이 채택되면 제안이 목표가 되고, 교정 없이 성공한 z_i=0 행동은 '조용한 앵커(quiet anchor)'로 남겨 정상 행동을 목표로 쓴다. 가중치는 트리거 출처에 따라 w_i = η_i(z_i=1) 또는 λ_q(z_i=0)이며, η_i는 이후 롤아웃의 안전·과제 진행·회복은 올리고 반복 트리거·단기 비용·배리어 위반은 내리는 점수로 계산해 {0, 0.25, 0.60, 1.00} 중 하나로 매핑한다. 선별 검사를 통과하지 못한 레코드는 버린다.
무엇과 다른가
3단계 '축적'에서는 새로 선별된 레코드 D_k를 이전 라운드의 뱅크에 합집합으로 쌓는다(B_k^train = B_{k-1}^train ∪ D_k). 이때 에피소드를 학습/검증 폴드로 먼저 나누고, 검증 폴드에서 고정된 홀드아웃 배치 V를 뽑아 학습 뱅크와 겹치지 않게 유지한다. 4단계 '업데이트'는 매 라운드 같은 베이스 체크포인트에서 새 LoRA 어댑터를 적합한다. 목표 y_i에 대한 첫 행동 flow-matching 손실을 가중 평균한 목적함수를 최소화한 뒤, 후보를 홀드아웃 배치에서 전체 청크 flow 손실 비율(τ_loss 이하)과 베이스 정책 대비 첫 행동 드리프트(τ_drift 이하)로 검사한다. 벤치마크 성공률이나 비용은 모델 선택에 쓰지 않는다. 통과하면 그 정책이 다음 라운드의 수집 정책이 되고, 실패하면 어댑터를 버리고 이전 정책을 유지한 채 뱅크만 남긴다. 배포 시에는 교사도 특권 기하도 필요 없고 RGB 관찰과 고유수용감각만 쓴다.
어떻게 쓰나
실험은 VLA-Arena의 정적 장애물 안전 스위트에서 난이도 2단계, VLA 백본 2종으로 수행했다. 각 난이도에 5개 과제가 있고, Level 1 mango에서만 수집해 Level 1 5개 과제와 더 어려운 Level 2 5개 과제를 모두 평가한다. 백본은 Arena 파인튜닝된 π0.5와 π0이고, 비교 대상은 베이스 정책과 GLM-4.5V 지각을 쓰는 CBF 런타임 실드 AEGIS다. 지표는 성공률(SR), 누적 비용(CC), 초기 상태 비용을 제거한 정책 유발 누적 비용(CC_policy), 그리고 실패율과 정책 비용을 각각 베이스 값으로 정규화해 동등 가중한 BRS(베이스는 e^-1, 실패·비용 0이면 1)다. 10개 과제 평균 SR은 π0.5에서 66.0%→74.5%(+8.5%p), π0에서 47.5%→54.4%(+6.9%p)로 올랐고, 평균 CC_policy는 π0.5에서 47.76→30.76(-35.6%), π0에서 10.62→8.09(-23.8%)로 줄었다. AEGIS와 비교하면 SR은 π0.5에서 49.1%→74.5%(+25.4%p), π0에서 44.9%→54.4%(+9.5%p)로 앞서지만, CC_policy는 AEGIS가 29.01과 6.27, FailBank가 30.76과 8.09로 FailBank가 약간 더 높다. 즉 AEGIS 대비 우위는 '비슷한 비용 수준에서의 성공률 향상'이다. 베이스보다 SR이 높고 CC_policy가 낮은 동시 개선은 8개 과제-백본 조합에서 나왔고 AEGIS는 3개였다.
전제와 한계
일반화 실험에서도 수집 조건을 넘어선 개선이 보고된다. Level 1 mango의 홀드아웃 초기 상태에서 π0.5 SR은 71.1%→93.3%, 보지 못한 Level 1 과제 4개 평균 SR은 82.5%→88.7%, Level 2 롤아웃을 뱅크에 전혀 넣지 않고도 Level 2 평균 SR이 50.5%→59.4%로 올랐다. π0에서는 보지 못한 Level 1 4개 과제가 51.0%→62.7%, Level 2가 35.7%→40.0%다. 절제 실험에서는 실드를 실행에 넣고 수집하면 성공했을 롤아웃 8개가 실패로 바뀌고 실패 5개만 구제되어 성공 에피소드가 46개 중 40개에서 37개로 줄었으며, 실드 인루프로 모은 실패 레코드의 88.9%가 정책 자체 실패가 아니라 실드가 유발한 실패였다. 조용한 앵커를 빼면 교정 레코드만으로 SR 65%→89%, CC_policy 38.61→20.88이지만, 앵커를 더하면 같은 89% SR을 유지하면서 CC_policy가 16.52까지 내려간다. 5라운드 누적 실험(Level 1 onion)에서는 뱅크가 3.7k에서 22.7k 레코드로 커지며 SR은 2라운드에 정점, CC_policy는 3라운드에 최저를 찍고 이후 SR이 떨어졌다 부분 회복하는 등 두 목표가 서로 다른 라운드에서 최적이 된다. 다만 5개 라운드 모두 베이스보다 SR이 높고 CC_policy가 낮았다.
개발자 관점에서 이 논문의 실용적 요점은 안전 레이어를 '실행 시점 필터'로만 두지 말고 '학습 데이터 수집기'로 쓰라는 것이다. 특히 실드를 실행에 넣은 채 데이터를 모으면 실드가 만든 실패가 학습 데이터에 섞여 정책 분포가 오염된다는 점(88.9% 수치)은, 안전 개입 로그를 그대로 파인튜닝에 쓰려는 팀이 반드시 확인해야 할 함정이다. 또한 매 라운드 베이스에서 새 LoRA를 적합하고 홀드아웃 flow 손실과 첫 행동 드리프트로만 수락 여부를 정하는 가드 방식은, 벤치마크 지표를 모델 선택에 쓰지 않으면서 반복 업데이트의 붕괴를 막는 참고 패턴이 된다. 다만 FailBank의 성공률 우위는 AEGIS보다 정책 유발 비용을 조금 더 지불하는 대가로 얻어지므로, 비용 예산이 빡빡한 배포에서는 BRS 같은 결합 지표로 자기 환경의 트레이드오프를 다시 계산해야 한다.
저자들이 밝힌 한계는 두 가지다. 현재 구현은 연속 flow-matching 정책을 대상으로 하므로 다른 행동 표현 방식에는 감독 신호와 가드 목적함수를 새로 맞춰야 한다. 또한 정적 장애물만 다루며, 동적 장면은 움직이는 위험 요소에 대한 시간적 예측과 교사 교정이 추가로 필요하다. 저자들은 이 확장이 교사와 업데이트 인터페이스의 형태에 관한 문제이고, 런타임 피드백을 지속적 정책 개선으로 바꾼다는 핵심 초점과는 다르다고 설명한다.