Robot Dataset 분석과 VLA 입출력
대학원 · 연구 적용 실습
공개 시연 데이터를 직접 읽고 평가 기준을 만든 뒤, 시각·언어·행동 모델에 연결할 입력과 출력의 의미를 확인합니다.
실습 전에
01 기록 Action 예측 오차가 작으면 로봇 Task도 성공할까요?
설명
연속 Frame은 강하게 연관되므로 Frame 무작위 분할과 Episode 단위 분할의 결과가 다를 수 있습니다. 기록된 Action 예측 오차와 실제 Task 성공률도 구분합니다.
02 VLM의 장면 설명과 VLA의 행동 출력은 어떻게 다를까요?
설명
카메라·현재 로봇 상태·언어 지시가 Action chunk로 이어집니다. 로봇별 Action 표현·Normalization·시간 기준을 알아야 사전학습 정책을 사용할 수 있습니다.
실행 조건
작은 데이터 분석에는 requests·pandas·pyarrow·scikit-learn이 필요합니다. 공개 Parquet 한 개만 읽으며 인터넷 연결이 필요합니다.
VLA 모델 추론·학습은 별도의 장비와 모델별 환경을 사용합니다.
필요한 패키지가 없으면 Colab·Jupyter 코드 셀에서 %pip install pyarrow==23.0.1를 실행하세요.
적용 사례
시연 데이터에서 Pick-and-place 정책으로
공개 집기·이동 시연을 읽고 행동의 의미와 평가 분리를 확인합니다. 작은 오프라인 기준 모델에서 시각·언어를 사용하는 정책으로 확장합니다.
- Observation·State
- 동기화된 카메라 영상·로봇 상태·작업 지시. Dataset의 Feature·시간 기준을 확인.
- 행동
- Dataset에서 정의한 관절·Gripper 등의 Action과 Action chunk. 표현·Normalization을 먼저 대응.
- Reward·Constraint
- 시연학습의 예측 오차와 실제 Task 성공을 분리. 관절·입력 범위와 실패 조건 기록.
- 비교 기준
- state-only Ridge의 오프라인 행동 예측. Closed-loop 정책 평가는 별도 수행.
- 확인할 지표
- Episode 분리의 성분별 MAE. 실제·시뮬레이션 실행 시 성공률·안전 위반·지연 추가.
1. Robot Dataset의 State·Action 분석
시작 조건
LeRobot svla_so100_pickplace의 첫 Parquet shard를 읽습니다. 영상·모델 가중치는 내려받지 않습니다.
진행 방법
- 제공된 코드로 Repository revision·FPS·Episode 수·state/action shape를 확인하세요.
- Episode 0의 state와 action을 시간축으로 그려, 두 배열의 성분·단위를 데이터 카드와 대조하세요.
- 카메라·로봇 상태·자연어 지시가 어느 metadata와 Feature로 연결되는지 적으세요.
남길 결과
- 데이터 구조 표와 Episode 0의 state/action 그림.
기록 항목과 확인할 점
- 항목
-
- Feature·metadata
-
- shape·단위
-
- 확인한 의미
-
확인할 점
- 관절 목표와 현재 관절 상태를 같은 값으로 가정하지 않았는가?
- Dataset revision과 이용 조건을 확인했는가?
2. Episode 단위 평가와 정보 누출
시작 조건
로드한 Episode를 앞 80%·뒤 20%로 나눕니다. 상태에서 행동을 예측하는 Ridge 기준 모델을 만듭니다.
진행 방법
episode_index의 고유값을 정렬하고 앞 80%의 Episode 전체를 Train, 나머지 Episode 전체를 Test로 나누세요. 같은 Episode의 Frame이 양쪽에 섞이지 않게 하고 Train/Test의 Episode ID와 Frame 수를 적으세요.Ridge(alpha=1.)를 Train의 state와 action으로 학습하세요. Test에서 예측한 action과 정답의 성분별 MAE를 multioutput="raw_values"로 구하세요.- 같은 전체 자료의 Frame Index를 무작위 80/20으로 나눈 경우에도 같은 모델을 학습·평가하세요. 분할별 Action 성분의 MAE를 표로 적고, 한 성분의 정답·예측을 해당 Test 순서에 따라 그리세요.
- 서로 인접한 Frame이 Train과 Test에 동시에 들어가는 경우와 새 Episode를 평가하는 경우의 차이를, 두 분할의 결과를 근거로 설명하세요.
남길 결과
- 분할별 오차 표와 Action 한 성분의 예측 그림.
기록 항목과 확인할 점
- 분할
-
- 학습 Episode 수
-
- 평가 Episode 수
-
- 성분별 MAE
-
- 누출 가능성
-
확인할 점
- 전처리·회귀 fit에 평가 Episode를 사용하지 않았는가?
- 기록 Action 예측 오차를 로봇 Task 성공률이라고 부르지 않았는가?
3. VLA로 확장할 때 필요한 입력
시작 조건
SmolVLA 공식 설명과 현재 Dataset의 Feature를 사용합니다. 모델 전체 학습 대신 입출력·평가 설계를 완성합니다.
진행 방법
- 카메라·현재 상태·지시문→Action chunk의 대응을 표로 적으세요.
- Action Normalization·좌표계·제어 주기·Chunk 실행 중 지연을 점검할 위치를 정하세요.
- 자신의 연구에 필요한 추가 관측·지시·평가 Episode 한 가지를 설계하세요. GPU가 준비되면 공식 예제로 사전학습 정책 추론을 확장합니다.
남길 결과
기록 항목과 확인할 점
- 입력·출력
-
- Dataset 대응
-
- Normalization·시간 기준
-
- 평가 방법
-
확인할 점
- VLA의 행동 출력과 VLM의 장면 설명을 구분했는가?
- 사전학습 모델이 다른 로봇·Action 표현에 즉시 맞는다고 가정하지 않았는가?
더 해보기
- VLM을 상위 목표 해석기로 사용할 경우, vLLM의 Multimodal 입력 예제로 이미지·지시→구조화된 목표를 시험하세요.
- 추론 지연·출력 유효성을 측정하고, 저수준 로봇 Action과 연결하기 전 좌표·범위 검증을 분리하세요.
공식 예제·데이터