InterEvolve가 휴머노이드 로코매니퓰레이션 보상 프로그램을 진화시킨다
InterEvolve: Test-Time Evolution of Reward Programs for Humanoid Loco-Manipulation
무엇인가
이 논문은 휴머노이드 로코매니퓰레이션에서 테스트 시점 진화를 다룬다. 컨트롤러가 학습 때 보지 못한 작업을, 재학습 없이 기존 스킬을 재활용하고 자기 시도에서 개선하며 배운 것을 축적해 해결하는 문제다. 예를 들어 상자를 밀고 들고 나르는 컨트롤러가 상자를 다른 면으로 뒤집으라는 요청을 받았을 때, 그 동작 자체는 이미 할 수 있는 능력 안에 있지만 시연은 없다. 이때 진화하는 것은 컨트롤러 가중치가 아니라 어떤 목표를 쓸지, 어떤 단계로 나눌지 같은 작업 전략과 작업 간에 축적되는 경험이다.
어떻게 동작하나
InterEvolve는 계획과 제어 사이의 인터페이스로 보상 프로그램을 쓴다. 보상 프로그램 P는 순서가 있는 J개 스테이지와 조정 가능한 상수 벡터 θ로 구성된다. 각 스테이지는 보상 코드 r_j와 완료 조건 g_j를 가지며, 보상 코드는 선언된 특징으로 몸과 물체 상태를 점수화하고 완료 조건은 물체 자세, 접촉 상태, 스테이지 시간 같은 실행 맥락을 읽는다. 실행은 g_j가 성립할 때까지 현재 스테이지에 머물다가 다음 스테이지로 넘어가고, 마지막 스테이지는 에피소드가 끝날 때까지 실행된다. θ에는 가중치, 허용 오차, 커널 폭, 스테이지 임계값 같은 숫자가 들어간다. 이 표현은 무엇을 보상할지, 언제 다음 단계로 갈지, 그 둘을 어떻게 보정할지를 에이전트가 직접 편집할 수 있는 손잡이로 만든다.
무엇과 다른가
실행은 재학습 없이 object-aware forward-backward(FB) 행동 기반 모델이 맡는다. 기존 FB 모델은 보상 하나를 잠재 프롬프트로 사상해 고정 정책에서 해당 행동을 끌어낸다. 그러나 기존 휴머노이드 FB 모델은 몸만 관측해서 물체 목표만 다른 보상이 같은 행동으로 붕괴할 수 있다. InterEvolve는 얼린 몸 사전 위에 학습 가능한 물체 잔차를 붙인다. 액터의 평균 행동은 tanh(얼린 사전 + 물체 조건 잔차)로 계산되고, 전방·후방 맵도 같은 방식으로 확장된다. 물체 특징으로는 물체 위치, 방향, 선속도, 각속도, 몸 링크에서 가장 가까운 물체 표면까지의 거리 감쇠 벡터를 쓴다. 잔차는 OMOMO와 GRAB의 인간-물체 상호작용 데이터로 FB 목적과 시연 판별기를 통해 학습된다. 새 보상은 같은 정책에 대한 새 프롬프트만 필요로 하며, 프롬프트는 몸-물체 상태 은행에서 z_{j,t}=proj(∑ α B(s_n)), α ∝ r exp(βr)로 추정되고 매 제어 스텝마다 다시 계산된다.
어떻게 쓰나
진화는 두 개의 중첩 루프로 진행된다. 바깥 루프에서는 LLM 에이전트가 작업 요청, 장면 맥락, 고정된 검증기, 현재 최선 프로그램과 롤아웃 피드백, 스킬 라이브러리를 프롬프트로 받아 프로그램 구조를 수정한다. 안쪽 루프에서는 CMA-ES가 스테이지와 보상 항은 고정한 채 θ만 조정한다. 유효하지 않은 프로그램은 롤아웃 전에 검증기가 버린다. 각 후보는 병렬 시뮬레이션 시나리오에서 평가되고, 튜닝된 후보는 같은 시나리오에서 현재 최선과 비교된다. 최상위 후보는 현재 최선과 함께 세 번씩 재평가되며, 개선폭이 실행 간 평가 잡음을 넘을 때만 교체된다. 예산 K는 초기 프로그램 이후 수정 라운드 수를 세고, 라운드마다 LLM 호출 한 번과 유효 제안당 192회 튜닝 롤아웃, 상위 후보 확인용 192회 롤아웃을 쓴다. 검증된 프로그램은 작업, 장면, 검증기 통과율, 선택된 프로그램과 튜닝된 상수를 담은 텍스트 스킬 라이브러리에 저장된다.
전제와 한계
실험은 OMOMO와 GRAB의 인간-물체 상호작용 데이터로 FB 모델을 사전학습하고 Unitree G1의 고무 손과 Inspire 손으로 리타게팅한다. OMOMO의 상자형 물체 네 가지인 큰 상자, 플라스틱 상자, 작은 상자, 여행 가방을 쓰며, 물체마다 50개 클립을 평가용으로 홀드아웃하고 나머지 3,866개로 학습한다. 홀드아웃 큰 상자 클립이 추적 벤치마크가 된다. DeepSeek-V4-Flash가 보상 프로그램을 작성하고, 모든 컨트롤러는 Isaac Lab에서 실행된다. 추적 지표는 몸 관절 오차 E_h, 물체 표면 오차 E_o, 성공률 SR이다. 원문 표에서 ULTRA는 E_h 15.68, E_o 21.45, SR 66을 기록했고, 몸만 보는 BFM-Zero는 28.36, 62.33, SR 8에 그쳤다. InterEvolve는 진화 없이 27.20, 30.80, SR 60이었지만 진화를 켜면 19.80, 24.92, SR 72로 올라 ULTRA의 SR 66을 넘는다. 보상 진화는 물체 기준 드리프트 보정을 참조 프롬프트와 섞어 루트와 물체의 최종 드리프트를 거의 절반으로 줄이고, Inspire 손의 소형 물체 조작 추적도 가능하게 한다.
일반 목적 작업에서는 여덟 개 작업군을 평가한다. 원문 표에서 아무것도 하지 않는 경우 SR 0.0, Earned 49.1이고, 사람이 쓴 보상은 SR 8.0, Earned 65.2, LLM 에이전트 초기 프로그램은 SR 32.2, Earned 73.3이었다. CMA-ES 튜닝만 한 사람 보상은 SR 18.0, Earned 75.2, 튜닝만 한 에이전트 프로그램은 SR 34.6, Earned 82.5다. InterEvolve는 튜닝과 진화를 모두 써서 SR 86.5, Earned 95.6을 기록했고, 비용은 2.1 GPU-h와 0.23M 토큰이었다. 이는 가장 잘 보정된 고정 프로그램보다 성공률을 두 배 이상 올린 것이며, 무엇을 보상하고 어떻게 단계를 나누는지의 구조 변화에서 온 이득이다. 고정 프로그램이 잘 푸는 밀어 표시 맞추기를 제외하면, 가슴 높이 운반, 새 면으로 뒤집기, 문이나 장애물을 통과해 밀기는 성공률이 최대 4분의 1에 머물렀지만 진화는 각 작업군을 70% 이상으로 끌어올린다. 발로 차서 표시 맞추기는 학습 데이터에 킥이 드물어 가장 어렵다. 절제 실험에서는 단일 스테이지 강제가 가장 큰 성능 하락을 만들고, 수치 튜닝 제거가 거의 비슷하게 해롭다. 처음부터 다시 쓰는 표적 수정 제거와 단일 시작점 평가도 비슷한 손실을 내며, 장면 맥락은 가장 작지만 여전히 도움이 된다. 테스트 시점 확장에 따라 성공은 대체로 늘지만 단조롭지는 않다. 첫 라운드가 가장 큰 이득을 주고, Earned는 단조 증가하지만 모든 기준을 같은 롤아웃에서 만족해야 하는 완전 성공은 2라운드에서 3라운드로 갈 때 잠시 떨어진다. 토큰은 라운드에 선형으로 늘지만 시뮬레이션이 비용을 지배해서 LLM은 분 단위, 롤아웃은 수십 분 단위다.
재사용과 조합에서는 전체 스킬 라이브러리가 있을 때 물체를 지지대 사이로 옮기기는 대부분 해결하고, 상자 쌓기와 운반-배치-킥은 절반 정도 해결한다. 라이브러리가 없으면 거의 해결하지 못하고, 운반 전용 라이브러리는 이동은 대부분 회복하지만 쌓기나 킥에는 거의 도움이 되지 않는다. 저장된 프로그램을 진화 없이 그대로 실행하면 거의 풀지 못하므로, 이득은 직접 검색이 아니라 진화가 스킬 라이브러리를 통합하는 데서 온다. 긴 지평 작업으로 흩어진 상자 여섯 개를 고리 모양으로 배열하는 실험에서 모든 상자가 목표 셀 11cm 이내에 들어갔고, 나중 다리가 이미 놓은 상자를 방해하지 않았다. 실제 Unitree G1에서는 자기중심 시점 카메라로 상자를 감지하고 FoundationPose가 6D 자세를 추정해 컨트롤러의 물체 특징으로 공급하며, 시뮬레이션에서 진화·검증된 두 작업의 프로그램을 로봇에서 실행했다.
개발자 관점에서 이 논문은 고정된 로봇 컨트롤러를 두고 새 작업을 보상 프로그램으로 표현하며, LLM이 구조를 고치고 수치 최적화기가 상수를 맞추는 테스트 시점 적응 패턴을 보여준다. 다만 컨트롤러가 이미 넓은 스킬을 가진 FB 모델이어야 하고, 물체 인식 특징과 고정된 검증기가 준비되어야 하며, 병렬 시뮬레이션 롤아웃 비용이 전체 비용을 지배한다. 저자들이 밝힌 전제와 한계도 분명하다. 검증기는 LLM 보조 파서가 한 번 인스턴스화한 뒤 고정되어 에이전트가 평가자를 바꿔 과제를 쉽게 만들 수 없고, 진화 예산 K와 롤아웃 수가 제한된다. 성공은 라운드에 따라 단조 증가하지 않으며, 킥처럼 학습 데이터에 드문 접촉 모드는 여전히 어렵다. 재사용은 작업이 요구하는 접촉 모드를 라이브러리가 얼마나 덮는지에 달려 있고, 저장된 프로그램은 진화 없이 거의 작동하지 않는다. 실제 로봇 배포는 두 작업에 대한 시연이며, 복잡한 장면 맥락에서는 직접 비교할 공개 방법이 없다고 저자들은 말한다.