인체 간 로봇 훈련: 다른 로봇을 통해 전송할 수 있습니까?
일반화를 개선하기 위해 여러 로봇 유형에 대한 훈련에 대한 연구 결과가 보여준 것은 Open X-Embodiment, DROID, RT-2-X, Octo, 그리고 코드 예시와 함께 실용적인 공동 훈련 설정입니다.
[로봇 임대 안내서]
[← 블로그]
22개의 다른 로봇 유형에 대한 훈련은 23번째
육신 간 가설
크로스 인보디먼트 학습의 핵심 주장: 여러 종류의 로봇의 데이터에 대한 로봇 정책을 훈련시키는
이 가설은 실질적으로 중요한 이유는 로봇 데이터가 비싸기 때문입니다. RCSV에서 [OpenArm] (
공개된 X-체: 증거
오픈 X-엠보디먼트 프로젝트 (파달카르 등, 2023; RTX 협업 논문) 는 이 가설의 가장 포괄적인 시험이다. 데이터 세트는 22 개의 로봇 유형에서 527 가지 기술을 포함하고 있으며, 전 세계 연구소에서 기여한 160,000+ 개의 로봇 에피소드를 나타냅니다. 핵심 결과는: RT-X는 전체 다체체 데이터 세트에 훈련되어, 수행된 일반화 작업에 대해 단일 로봇 전문가보다 약 50% 더 뛰어난 성과를 거두었습니다.
이것은 놀라운 결과입니다. 다체체 모델은 목표 로봇에 대한 추가적인 정보를 제공하지 않았습니다. 그것은 단순히 더 다양한 데이터에 훈련되었습니다. 다양성 자체가 장점이었습니다.
데이터 세트 통계
| Dataset | Robot Types | Episodes | Skills | Environments | Format |
|---|---|---|---|---|---|
| Open X-Embodiment (OXE) | 22 | 160,266 | 527 | 160+ | RLDS (TensorFlow) |
| DROID | 22 (different set) | 76,000 | 350+ | 564 | RLDS + HDF5 |
| RoboSet | 3 | 100,000+ | 12 | 100+ | HDF5 |
| Bridge V2 | 1 (WidowX) | 60,096 | 13 | 24 | RLDS |
| RT-1 Robot Action | 1 (Everyday Robot) | 130,000 | 700+ | 1 | RLDS |
| RCSV Shared Pool | 5 | 25,000+ | 40+ | 30+ | LeRobot HDF5 |
OXE 데이터 세트는 불평등하게 분포되어 있습니다. 에피소드의 약 60%는 단지 3 개의 로봇 타입 (WidowX, Franka, Everyday Robot) 에서 발생합니다. 나머지 19 개의 로봇 유형은 각각 1,000~5,000 에피소드를 기여합니다. 이 불균형은 중요한 이유는 멀티 인체 혜택이 부분적으로 가장 데이터 풍부한 플랫폼에 의해 주도되기 때문입니다. OXE 데이터 세트를 통해 훈련하면 대부분의 경우 다른 19개의 플랫폼에서 다양성 보너스를 통해 WidowX/Franka/Everyday Robot 조작을 배우게 됩니다.
RT-2-X: 크로스 인체 기능이 입증된 VLA
RT-2-X는 RT-2 시각 언어 행동 모델을 확장하여 전체 OXE 데이터 세트를 소비했습니다. 건축은 55B 매개 변수 PaLM-E 모델입니다. 이미지와 언어 지침을 입력으로 받아 투명된 로봇 동작을 내보내죠. 주요 결과는:
- +50%의 새로운 평가: 어떤 로봇의 훈련 데이터에 직접 포함되지 않은 새로운 객체 조합이나 공간적 관계를 필요로 하는 작업.
- +25% 분배 작업: 단일 로봇 데이터 세트에서 잘 표현된 작업에서도 멀티 인체 모델이 더 좋았습니다.
- ** 0-샷 전송:** RT-2-X는 훈련 세트에서 아닌 로봇을 제어할 수 있었지만, 성능은 정교한 모델보다 크게 낮았다.
55B 매개 변수 수치는 중요한 맥락입니다. 이것은 실험실 GPU에서 실행할 수 있는 모델이 아닙니다. 인퍼런스는 여러 A100s 또는 H100s를 필요로 합니다. 대부분의 팀의 실용적인 버전은 OXE 데이터에 정비된 작은 모델 (1
오토: 실용적인 크로스 인체 기반 모델
Octo (Ghosh et al., 2024) 는 대부분의 팀이 크로스 인보디먼트 전송을 시작해야 하는 모델이다. 그것은 OXE 데이터셋에서 800K 로봇 에피소드를 훈련받은 93M 매개 변수 변환기이며, 새로운 로봇과 작업에 효율적인 미세 조정을 위해 특별히 설계되었습니다. 주요 속성은:
- 건축: 형식별 이미지 (ViT), 언어 (T5) 및 자기 인식 (MLP) 로의 토큰이 있는 트랜스포머. 액션 헤드 는 실시예별입니다.
- ** 정비 비용:** 50
200 시범 + 2 4 시간 A100 GPU. 이것은 대부분의 연구실의 접근 범위 안에 있습니다. - ** 성능:** 100개의 목표 로봇 디모를 통해 정교하게 조정된 Octo는, WidowX, Franka 및 다른 테스트된 플랫폼에서 선택과 장소 작업에 있어서 25~40%의 동일한 100개의 디모를 통해 처음부터 훈련보다 더 나은 성능을 발휘한다.
- 공급속: 93M 매개 변수는 단일 RTX 4090에서 ~15 Hz 또는 Jetson AGX Orin에서 ~8 Hz에서
실시간 조작 제어에 충분하게 빠르게 실행됩니다.
# Fine-tuning Octo on your own robot data (simplified)
# Requires: pip install octo-model jax[cuda]
from octo.model.octo_model import OctoModel
from octo.data.dataset import make_single_dataset
# Load pre-trained cross-embodiment model
model = OctoModel.load_pretrained("hf://rail-berkeley/octo-base")
# Load your target robot dataset (LeRobot HDF5 or RLDS format)
target_dataset = make_single_dataset(
dataset_kwargs={
"name": "my_openarm_dataset",
"data_dir": "/data/openarm_pick_place/",
"image_obs_keys": {"primary": "image_wrist", "secondary": "image_overhead"},
"state_obs_keys": ["joint_positions"],
"language_key": "language_instruction",
},
traj_transform_kwargs={"window_size": 2},
frame_transform_kwargs={"image_size": (256, 256)},
)
# Fine-tune with new action head for your robot's action space
# OpenArm: 6 joint positions + 1 gripper = 7D action space
model = model.finetune(
target_dataset,
action_dim=7,
action_head="diffusion", # or "mse" for deterministic
learning_rate=3e-4,
batch_size=256,
num_steps=50_000, # ~2 hours on A100
save_dir="./octo_openarm_finetuned/",
)
DROID: 크로스 인체 내부의 규모
DROID 논문 (Khazatsky et al., 2024) 은 규모에 초점을 맞추어 이 분석을 확장하였다. 22 개의 로봇과 564 개의 환경에서 76K 궤도를 탐구하였다. DROID의 주요 발견은 크로스 인체에 관련이 있습니다. 다른 로봇 유형의 시범을 추가하여 추가로 로봇 유형이 운동적으로 매우 다르더라도 목표 로봇에서 디스포전 정책 및 ACT 성능을 향상 시켰습니다. 예를 들어 UR5).
개선은 일률적이지 않았다. 매우 유사한 로봇 (WidowX + WidowX-XL) 의 데이터를 추가하는 것은 매우 다른 로봇 (WidowX + 모바일 조작기) 의 데이터를 추가하는 것보다 더 도움이되었습니다. 그러나 멀리 있는 크로스 인체 데이터조차도 긍정적 신호를 제공하여 공유된 시각적 및 의미적 표현이 다양한 물리적 플랫폼에서 유용한 정보를 전달한다는 것을 암시합니다.
로봇의 유사성으로 전송 혜택
| Source Robot | Target Robot | Similarity | Success Rate (Target Only) | Success Rate (+Source Data) | Improvement |
|---|---|---|---|---|---|
| WidowX-XL | WidowX 250 | Very High | 62% | 81% | +19% |
| Franka Panda | UR5e | High (both 7-DOF) | 55% | 68% | +13% |
| OpenArm | WidowX 250 | Moderate (6 vs 6 DOF) | 62% | 71% | +9% |
| Franka Panda | WidowX 250 | Moderate (7 vs 6 DOF) | 62% | 70% | +8% |
| Mobile Manipulator | WidowX 250 | Low | 62% | 65% | +3% |
| Allegro Hand | WidowX 250 | Very Low | 62% | 62% | +0% |
패턴은 분명합니다. 전송 혜택은 운동적 유사성과 상관관계가 있지만, 중간 유사성 로봇도 의미있는 개선을 제공합니다. 실제적인 점은 목표 로봇에 100개의 시범이 있다면, 운동적으로 유사한 로봇에서 1,000개 이상의 시범을 추가하면 150~200개의 시범을 가진 목표 로봇에 대한 성능을 얻을 수 있다는 것입니다.
왜 인체 간 이식 이 효과가 있습니까?
세 가지 메커니즘이 책임지는 것 같습니다.
1. 공유된 시각적 특징: 어떤 로봇이 작업을 수행하고 있든, 시각적 입력 (주체, 작업 공간, 작업 구조) 은 비슷하다. 22개의 로봇 유형에 훈련된 모델은 조작 관련 기능에 대한 더 풍부한 시각적 표현을 개발합니다.
2. VLA에서 액션 공간 추상화: OpenVLA 및 RT-2-X와 같은 비전 언어-행동 모델은 특정 로봇 운동학에서 작업 지식을 부분적으로 분리하는 토큰화 된 추상 공간에서 작업을 나타냅니다. 액션들이 칸으로 분할될 때 (예를 들어, 각 차원 256 칸) 와는 WidowX에서 "가른쪽으로 이동" 토큰은 근본적인 공동 궤도가 완전히 다르지만, 프랭카에서 "가른쪽으로 이동" 토큰과 비슷한 의미의 의미를 지니고 있다. 이 추상화는 작업 수준 지식 전송을 가능하게 한다.
3. 언어 지형: 언어 명령이 모델 입력의 일부일 때 (RT-2-X, Octo, OpenVLA와 같이), 모델은 실시예들 중 공유 언어-행동 지도를 학습합니다. "붉은 잔을 가져오십시오"는 어떤 로봇이 실행하는지 여부에 관계없이 동일한 것을 의미합니다. 이 공유 언어적 지형은 모터 실행 전략이 다르더라도 구현을 완벽하게 전달하는 보편적인 작업 표현을 제공합니다.
환승 이 실패 하는 곳
- ** 매우 다른 운동학:** 바퀴 이동 플랫폼과 고정 기반 팔 사이의 전송은 거의 0입니다. 행동 공간의 부합은 공유 시각적 특징을 극복하기에는 너무 크다. 모바일 기반의 동작 (vx, vy, omega) 는 6 DOF 팔의 공동 위치 동작에 유용한 기하 정보를 제공하지 않습니다.
- ** 지갑형 부합:** 평행 지갑에서 얻은 데이터는 빨아주기 컵 로봇에 좋지 않은 양도로 전달되고 그 반대의 양식으로 전달된다. 접촉 상호작용 모델은 너무 다르다. 평행 지갑 데이터는 다른 평행 지갑 로봇에 잘 전달된다 (각 손가락 기하학도 다르지만), 그러나 평행 지갑 시범에서 배운 잡아-단계 행동은 흡수 기반 잡아에 적극적으로 해롭다.
- DOF 규모 불합리: 7DOF 팔의 데이터는 다른 7DOF 팔에 잘 전달되지만, 4DOF 팔에 좋지 않습니다. 차원차별 차이로 행동 공간 커버리지 문제가 발생합니다. 7DOF 팔은 여러 각에서 물체를 접근 할 수 있으며, 4DOF 팔은 제한됩니다. 7DOF 데이터에 훈련된 정책은 4DOF 하드웨어에 물리적으로 접근할 수없는 접근 전략을 개발합니다.
- ** 속도와 역학 부합:** 고속 산업 무기 (주기 시간 <0.5s) 의 데이터는 동일한 작업에 3
5s 주기 시간으로 연구 무기에게 잘 전달되지 않습니다. 시연의 시간적 역학은 속도 프로파일, 가속 패턴, 잡기 종료 시기는 근본적으로 다릅니다. 시각적 관측은 프레임에 따라 비슷하게 보일 수 있지만 액션 순서는 다른 리듬을 가지고 있습니다. - ** 접촉 부가와 접촉 없는 작업:** 접촉 부가 작업 (중개, 삽입,
) 의 데이터는 접촉 없는 작업 (접근, 시각 검사) 과 반대로 최소한의 전송 혜택을 제공합니다. 학습된 정책은 작업 유형에 특화된 작업보다 구체적 인 실시예에 대한 접촉 예측 행동을 개발합니다.
실용적인 공동 훈련 설정
만약 여러분이 특정 로봇과 작업에 대한 크로스 인체화된 데이터를 활용하고 싶다면, 여기서는 RCSV에서의 경험에서 가장 좋은 결과를 만들어내는 작업 흐름입니다.
단계 1: 데이터베이스 세트를 선택
OXE 컬렉션에서, 목표에 유사한 DOF 및 지갑 타입을 가진 로봇에서 데이터 세트를 선택하십시오. 6 DOF 팔과 병렬 턱 지갑 (OpenArm) (
단계 2: 행동 공간 을 정상화 하라
다른 로봇은 서로 다른 관절 구성을 가지고 있으므로 원료 관절 공간 동작은 전송되지 않습니다. 표준 접근법은 모든 동작을 최종 효과 공간으로 변환하는 것입니다: (dx, dy, dz, droll, dpitch, dyaw, gripper). 이 7D 델타 최종 효과 표현은 모든 DOF 수와 모든 gripper를 가진 모든 단일 팔 조작기에서 보편적입니다. 변환은 각 로봇의 전진 운동학을 (URDF + FK 용액) 사용하며 데이터 세트마다 한 번의 사전 처리 단계입니다.
# Action space normalization: joint space -> EE delta space
import numpy as np
from lerobot.common.robot_devices.robots.configs import OpenArmConfig
def joint_to_ee_delta(joint_actions, joint_states, robot_config):
"""Convert joint-space actions to end-effector delta actions.
This normalization is required for cross-embodiment training:
different robots have different joints but share the same
6D end-effector space.
"""
ee_deltas = []
for i in range(len(joint_actions)):
# FK at current state
ee_current = robot_config.forward_kinematics(joint_states[i])
# FK at next state (current + action)
ee_next = robot_config.forward_kinematics(
joint_states[i] + joint_actions[i, :robot_config.n_joints]
)
# Delta in EE space
delta_pos = ee_next[:3] - ee_current[:3]
delta_rot = quaternion_to_axis_angle(
quaternion_multiply(ee_next[3:7], quaternion_inverse(ee_current[3:7]))
)
gripper = joint_actions[i, -1] # gripper action passes through
ee_deltas.append(np.concatenate([delta_pos, delta_rot, [gripper]]))
return np.array(ee_deltas)
단계 3: 데이터 세트 혼합 전략
목표 로봇 데이터와 크로스 인체 데이터 사이의 혼합 비율은 매우 중요합니다. 크로스 인체 데이터의 너무 많은 것은 목표 특정 세밀한 세부 사항을 압도합니다. 너무 적은 것은 아무런 혜택을 제공하지 않습니다. 목표 데이터 세트의 크기에 따라 권장하는 비율은:
- <50 목표 디모: Mix 1:10 (target:cross) 모델은 매우 적은 목표 신호를 가지고 있기 때문에 다양성이 필요합니다.
- 50
200 목표 디모: Mix 1:5. 이것은 크로스 인체체가 가장 상대적인 이점을 제공하는 달콤한 곳입니다. - 200
1,000 목표 디모: 1:2 혼합. 크로스 인체 데이터 는 도움 이 되지만, 한계 혜택 은 줄어들고 있다. - >1,000 목표 디모: 크로스 인보디먼트 사전 훈련은 여전히 유익하다 (이 시니얼화로 사용), 그러나 미세 조정 중에 혼합하면 수익률이 감소합니다. Octo 또는 OpenVLA 체크포인트에서 열고, 목표 데이터에만 미세 조정합니다.
4단계: 훈련 의 구성
실시예 조건 훈련을 사용: 모델의 입력 순서로 학습 가능한 실시예 토큰 (로봇 유형에 한 개) 을 추가하십시오. 이것은 모델이 모든 로봇에 걸쳐 시각적 및 작업 표현을 공유하면서 실시예 특정 행동 패턴을 배울 수 있도록합니다. 목표 로봇에 대한 추론을 수행하는 동안 모델은 로봇의 실시예 토큰을 사용합니다. 비용: A100에서 8시간 동안 200K 에피소드 혼합된 완전한 공동 훈련 경주.
거페이스 레로봇과 함께 훈련
오늘날 크로스 인보디먼트 공동 훈련을 실행하는 가장 접근 가능한 방법은 HuggingFace의 레로봇 프레임워크를 통해 표준화된 데이터 로딩, 모델 훈련 및 평가 인프라를 제공합니다.
# LeRobot co-training config (YAML)
# Save as: configs/co_train_openarm.yaml
dataset:
# Primary: your target robot data
repo_id: "svrc/openarm_pick_place_v2"
mix_datasets:
# Cross-embodiment data, weighted by similarity
- repo_id: "lerobot/bridge_v2"
weight: 0.3 # WidowX - moderate similarity
- repo_id: "lerobot/droid_franka"
weight: 0.2 # Franka - moderate-high similarity
- repo_id: "svrc/shared_pool_6dof"
weight: 0.4 # RCSV pool - high similarity
action_space: "ee_delta_7d" # Normalized EE space
policy:
name: "diffusion"
pretrained: "lerobot/diffusion_oxe_base" # OXE pre-trained
chunk_size: 16
n_obs_steps: 2
n_diffusion_steps: 100
training:
batch_size: 256
learning_rate: 1e-4
num_epochs: 200
eval_freq: 10
device: "cuda"
# Run: python lerobot/scripts/train.py --config configs/co_train_openarm.yaml
신체 간 이득 을 측정 하는 것
크로스 인보디먼트 데이터가 실제로 당신의 특정 사례에 도움이 되는지 알기 위해 통제된 실험을 실행하세요.
- 기본: 목표 로봇 데이터만 이용해서 훈련하세요. 50개 이상의 평가 에피소드에서 성공률을 기록하세요.
- +반체체: 목표 데이터와 반체체체 데이터와 혼합된 데이터를 훈련하십시오. 동일한 모델 아키텍처, 동일한 하이퍼파라미터, 동일한 평가 프로토콜.
- + 사전 훈련된 init: Octo/OpenVLA 체크포인트에서 초기화하고, 다음으로 목표 데이터에만 정렬합니다.
- ** 전체 파이프라인:** 미리 훈련된 체크포인트에서 시작하고 정렬 중에 크로스 인체체 데이터를 혼합하십시오.
우리의 경험에 따르면, 옵션 3 (전 훈련된 init + 목표일 미세 조정) 은 대부분의 팀에 대한 옵션 2 (자발적 init + 혼합 훈련) 를 제치고 있습니다. 사전 훈련된 시각적 표현은 이전 혜택의 주요 원천이며, 체크포인트에서 "무료"로 제공됩니다. 옵션 4은 옵션 3보다 더 5
RCSV 추천: 목표 로봇에 <200개의 시범을 가진 팀들을 위해, 3가지 옵션으로 시작하세요: Octo 기본 체크포인트를 다운로드하여, 하나의 A100에 2
현재 제한
- ** 부정적 전송은 실제입니다:** 매우 다른 로봇 (다양한 DOF, 다른 지갑 유형, 다른 작업 영역) 의 데이터를 추가하면 목표일 훈련에 비해 성능이 떨어질 수 있습니다. 항상 위의 제어 실험을 통해 검증합니다.
- 행동 공간 정상화는 정보를 잃는다: EE 델타 공간으로 변환하면 과잉 해상도 정보를 버린다 (팔의 팔꿈치/팔꿈치 구성의 변화). 팔 구성이 중요하게 되는 작업 (갈매기 환경으로 접근하고 팔꿈치로 장애물을 피하는 것), EE 공간 공동 훈련 후 관절 공간의 미세 조정이 때때로 필요합니다.
- ** 데이터셋 품질 변동:** OXE 및 DROID 데이터셋은 시범 품질에 있어서 매우 다양합니다. 일부 연구소들은 전문적인 운영자를 사용했고, 다른 연구소들은 초보 운영자나 부분 자동화된 시스템을 사용했습니다.
- ** 계산 비용 스케일 선형:** 더 많은 크로스 인체체 데이터 는 비례적으로 더 많은 훈련 계산을 의미합니다. 단일 GPU를 사용하는 스타트업에서 전체 OXE 공동 훈련 실행은 3
5 일입니다. 사전 훈련된 체크포인트 (Octo, OpenVLA) 는 이 비용을 amortize 합니다. - 시민-실적 격차 화합물: 만약 당신의 크로스-인체체 데이터에는 시뮬레이션 데이터 (어떤 OXE 데이터 세트에서는 그렇게 한다) 가 포함된다면, 시민-실적 격차가 크로스-인체체체 격차에 추가된다.
미래: 유니버설 로봇 재단 모델
로보틱스 분야는 수백 개의 로봇 타입, 수백만 에피소드, 수천 개의 작업의 데이터에 의해 훈련된 기초 모델로 이동하고 있습니다. 이는 수십억 개의 웹 페이지에서 GPT를 훈련시키는 것과 유사합니다. GR-2 (ByteDance), pi0 (물리 지능) 및 다음 세대의 RT-X 모델 같은 프로젝트들은 이러한 비전을 향해 확장되고 있습니다. 이 모델들이 성숙되면, 크로스 인보디먼트 전송은 "주의적인 공동 훈련 레시피"에서 "검정 지점을 다운로드, 30분 미세조정, 배포"로 전환됩니다. 우리는 아직 2026년에 도달하지 못했습니다. 하지만 격차는 빠르게 줄어들고 있습니다.
오늘날 팀 구축을 위한 실질적인 조언은: 표준화된 형식 (LeRobot HDF5 또는 RLDS) 로 데이터를 수집하고, 완전한 캘리브레이션 메타데이터를 통해, 이러한 기본 모델이 사용 가능해짐에 따라 이득을 얻을 수 있도록 합니다. 오늘날 올바른 형식으로 수집한 데이터는 12개월 후에 현재보다 더 가치 있게 될 것입니다.
RCSV를 통해 데이터 공유
RCSV는 공유된 크로스 인체 데이터 세트 풀을 유지하며 고객이 기여하고 활용할 수 있습니다. RCSV의 [데이터 서비스] (T7
자신의 하드웨어에서 수집한 데이터를 기여하고자 하는 팀들을 위해, RCSV는 형식의 준수, 시범 품질 (순순성, 성공률, 카메라 캘리브레이션) 및 개인 정보 (카메라 조회에서 식별할 수 있는 정보가 없습니다) 를 확인하는 검증 파이프라인을 제공합니다. 검증된 기여는 풀의 모든 데이터에 대해 환불 가능한 데이터 크레딧을 얻습니다.
관련 독서
행위 정책 설명 · 이미테이션 학습에서 흔히 발생하는 오류 · 전체 수술을 시작 · RCSV 데이터 세트 · 로봇학 방언사
레버리지 크로스 인체 사전 훈련
RCSV의 공유 데이터 세트 풀은 5개의 로봇 플랫폼에서 크로스 인체체 사전 훈련 데이터를 제공합니다. 2,500달러와 100개의 시범으로 파일럿을 시작하세요.
[데이터 서비스를 탐구] [T13







