VioLA가 관절 명령 대신 동작 잠재값을 예측해 휴머노이드 제로샷 제어를 연다
VioLA: Learning Generalist Humanoid Control Policies from Human Data
무엇인가
휴머노이드 로봇에게 "테이블로 걸어가 노트북을 닫아라" 같은 지시를 온몸으로 수행시키는 일은 두 가지 벽에 부딪힌다. 첫째, 행동 공간이 크고 강하게 얽혀 있다. 다리·몸통·팔·손가락이 균형을 유지하면서 동시에 움직여야 하므로 관절 단위 행동은 학습이 어렵다. 둘째, 휴머노이드 시연 데이터가 귀하다. 기존 휴머노이드 범용 정책은 새 지시를 그대로 따르지 못하고, 배치 전에 과제별 원격조작 시연으로 미세조정을 거쳐야 한다. 반면 사람의 동작 기록은 훨씬 많이 존재하지만, 사람의 움직임은 그대로 로봇 명령이 되지 않는다.
어떻게 동작하나
이 논문의 핵심 착상은 첫 번째 문제의 해법이 두 번째 문제의 해법도 품고 있다는 것이다. 최근의 잠재 동작 컨트롤러는 사람 동작과 로봇 동작을 같은 잠재 공간에 사상한다. 사람이 걷는 장면을 인코딩한 잠재값을 짝지어진 컨트롤러가 디코딩하면 로봇의 걷기 명령이 된다. 저자들은 여기에 손 모듈을 추가로 붙인다. 별도로 사전학습한 손 인코더·디코더가 같은 구조로 사람 손과 로봇 손 동작을 공통 잠재 공간에 담는다. 그래서 범용 정책이 관절 명령 대신 동작 잠재값을 예측하면, 어디로 언제 움직일지는 정책이 정하고 어떻게 관절을 움직일지는 얼어붙은 컨트롤러가 결정하는 분업이 성립한다.
무엇과 다른가
구체적으로 VioLA의 행동 공간은 128차원이다. SONIC의 사전학습된 몸 인코더·컨트롤러에서 나오는 64차원 몸 잠재값과, 별도 사전학습한 손 모듈의 64차원 손 잠재값을 이어 붙여 한 스텝의 행동으로 정의한다. 정책은 자기중심 시점 이미지, 지시문, 로봇 고유감각을 입력받아 H개 스텝 분량의 몸·손 잠재값 묶음을 예측한다. 학습 목표는 사람 시연과 로봇 시연 모두에 대해 같은 형태로 만들어진다. 사람 인코더와 로봇 인코더가 각각의 동작을 같은 잠재 공간으로 사상하므로, 사람이 노트북을 닫는 영상에 담긴 몸동작과 손동작이 그대로 정책의 정답 라벨이 된다. 사람 데이터에는 없는 로봇 고유감각은 얼어붙은 몸 컨트롤러로 해당 동작을 시뮬레이션에서 추종시켜 확보한다. 모든 인코더와 디코더는 학습 내내 고정되고, 범용 정책만 갱신된다. 배치 시에는 몸 컨트롤러가 현재 몸 잠재값과 최근 고유감각 이력으로 관절 명령을, 손 디코더가 손 잠재값으로 손가락 명령을 50Hz로 만들어낸다. 추론 중 이전 청크와 새 청크가 어긋나는 문제는 잠재 공간에서 실시간 청킹(RTC)을 적용해 완화한다.
어떻게 쓰나
학습 데이터는 사람 시연과 로봇 시연 네 종류(Humanoid Everyday, PSI, UnifoLM-WBT, LeVERB)를 합쳐 1억 4060만 프레임이고, 그중 93.2%가 사람 데이터다(총 781시간, 사람 비중 93%). 백본은 GR00T N1.7이며 플로매칭 목적함수를 유지한 채 사람 시연으로 15만 스텝, 이후 다섯 코퍼스를 균일 샘플링해 5만 스텝을 더 학습한다. 실험은 손가락 다섯 개짜리 Inspire 핸드를 단 Unitree G1에서 이뤄졌고, LeVERB의 이동·자세 과제 6개와 Humanoid Everyday의 조작 과제 7개를 쓴다. 여기서 제로샷은 과제별 미세조정 없이 배치하는 것을 뜻하며, 과제당 5회씩 시험한다.
전제와 한계
결과는 분명하다. VioLA는 이동 과제 30회를 전부 성공(100%)했고, 공개된 GR00T N1.7은 제자리 서기만 성공해 5/30(16.7%), Ψ0는 0/30이었다. 조작에서는 VioLA가 31/35(88.6%)를 달성한 반면 GR00T N1.7은 35회 전부 실패, Ψ0는 의자 회전 3회만 성공해 3/35(8.6%)였다. 병 따르기 과제는 모든 변형이 5회 모두 실패했고, 이를 포함하면 VioLA의 조작 성공률은 31/40(77.5%)로 내려간다. 사람 시연만으로 학습한 변형도 실제 로봇에서 이동 12/30(40%)을 달성해, 사람 동작 감독만으로 로봇 행동이 전이됨을 보였다. 사람 데이터를 먼저 쓰고 로봇 데이터를 섞는 일정은 로봇 데이터만 쓴 정책보다 이동에서 30/30 대 24/30으로 앞섰지만, 조작에서는 31/35 대 33/35로 뒤졌다. 백본 비교에서는 GR00T와 DiT4DiT가 이동 30/30, π0.5가 20/30(66.7%)이었고, 조작은 GR00T 31/35, π0.5 16/35(45.7%), DiT4DiT 9/35(25.7%) 순이었다. 추론 지연은 GR00T 160.2ms, π0.5 208.6ms, DiT4DiT 248.5ms로 50Hz 기준 8~12 제어 스텝에 해당한다. RTC를 켜면 청크 전환 시 몸 잠재값의 최대 스텝 변화가 제자리 서기에서 0.332에서 0.064로, 팔 들기에서 0.455에서 0.070으로 줄었다.
흥미로운 분석도 있다. 복잡한 동작이 생각보다 적은 수의 동작 토큰으로 표현된다. 의자 회전 한 번에 몸 토큰 평균 60개·손 토큰 31개, 노트북 닫기에 82개·43개가 쓰였고, 제자리 서기는 약 20개, 팔 들기는 몸 36개에 손 토큰 1개, 걷기는 182개였다. 즉 정책은 어떤 동작을 언제 낼지만 고르고, 관절 좌표 수준의 협응은 사전학습된 모듈이 재사용된다.
실무 관점에서 이 논문이 주는 시사점은 정책의 출력 단위를 바꾸는 것만으로 데이터 병목이 완화될 수 있다는 점이다. 로봇 관절 명령을 직접 예측하는 대신, 사람과 로봇이 공유하는 잠재 공간의 좌표를 예측하도록 설계하면 사람 동작 데이터를 별도 리타기팅 파이프라인 없이 학습 라벨로 쓸 수 있다. 다만 이 구조는 사전학습된 컨트롤러가 실행할 수 있는 동작에 성능이 묶인다는 점을 전제로 깔고 봐야 한다.
저자들이 밝힌 한계는 다음과 같다. VioLA는 사전학습된 몸·손 모듈을 재사용하므로 그 모듈이 실행 가능한 동작 범위에 능력이 종속된다. 손 디코더는 접촉력 피드백 없이 손가락 위치 명령만 내며, 실험에서도 물체를 향해 뻗어 잡고 과제 완료까지 유지하는 데 어려움이 남았다. 사람 기록으로부터 배우려면 사람의 몸·손 동작 어노테이션이 필요하므로, 다른 영상으로 확장하려면 그 동작을 안정적으로 추정하는 문제가 선행돼야 한다. 또한 사람 감독이 모든 행동을 개선하지는 않아서, 사람 우선 혼합 학습은 이동을 개선했지만 조작에서는 로봇 전용 학습이 더 높은 성공률을 보였다. 이 이점을 유지하면서 물체 상호작용을 개선하는 방법은 열린 문제로 남는다. 평가 자체도 Unitree G1 한 대에서 13개 과제, 과제당 5회로 이뤄졌으므로 더 다양한 과제·환경·로봇 형태에서의 검증이 필요하다고 저자들은 적고 있다.