Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

Universal Visual Decomposer: Long-Horizon Manipulation Made Easy

저자: Zichen Zhang, Yunshuang Li, Osbert Bastani, Abhishek Gupta, Dinesh Jayaraman, Yecheng Jason Ma, Luca Weihs · ICRA 2024

라이선스

  • 오픈 액세스
  • 논문: CC BY 4.0

아래 내용은 모두 논문의 라이선스(CC BY 4.0)에 따라 논문 전문을 바탕으로 하며, 그림에는 저자를 표기했습니다.

요약

UVD는 시연 영상에서 사전 학습된 시각 임베딩 거리가 더 이상 줄어들지 않는 지점을 하위 목표로 찾고, 이를 목표 조건부 모방 학습과 보상 형성에 사용한다.

중요한 이유

UVD에는 영상 시연과 기성 인코더만 있으면 되며, 분해 단계는 표준 정책 학습 위에 궤적당 0.1 s 미만을 더한다. 이렇게 찾은 하위 목표 덕분에 일부 작업 순서로 학습한 정책이 같은 하위 작업의 처음 보는 순서를 수행할 수 있으므로, 작업 시퀀스마다 시연을 수집해야 할 필요가 줄어든다.

문제

장기 수평선 조작은 누적 오차, 큰 관측 및 행동 공간, 약한 학습 신호에 시달리므로 작업은 보통 하위 작업으로 나뉜다. 기존 분해 방법은 고유수용성 감각이나 알려진 하위 작업 구조 같은 작업별 지식이 필요하거나, 대규모 데이터셋으로 학습한 계산량이 큰 생성 모델을 요구하므로, 일반 영상 시연에 바로 적용할 수 없다.

제안 방법

UVD는 고정된 사전 학습 시각 인코더(VIP, R3M, LIV 등)를 사용하고 마지막 프레임에서 거꾸로 진행한다. 하나의 하위 작업 안에서는 현재 목표까지의 임베딩 거리가 단조롭게 감소해야 하므로, 그 단조성이 깨지는 가장 늦은 프레임이 이전 하위 목표가 되며, 이 단계를 영상의 시작까지 반복한다. 발견된 하위 목표는 목표 조건부 행동 복제를 위해 시연에 레이블을 다시 붙이고, 현재 하위 목표까지의 임베딩 거리의 단계별 감소량을 RL 보상으로 정의한다. 테스트 시 목표는 최근접 이웃 조회(단일 작업) 또는 주어진 하위 목표 시퀀스의 릴레이로 얻는다.

핵심 통찰

  • 작업 진행을 인코딩하도록 짧은 영상으로 학습한 표현(VIP, R3M, LIV)은 하나의 하위 작업 안에서 거의 단조로운 임베딩 거리를 준다. 여러 하위 작업에 걸치면 거리 곡선이 위상 변화 지점에서 평탄해지며, 이것이 레이블 없이 하위 작업 경계를 표시한다.
  • 부드러운 시간적 진행을 위해 명시적으로 학습한 VIP와 LIV가 UVD로 가장 큰 이득을 얻었으며, 이는 시간적으로 학습한 표현이 CLIP이나 DINOv2 같은 정적 이미지 모델보다 하위 목표 발견에 더 적합하다는 주장을 뒷받침한다.
  • 휴리스틱한 하위 목표 선택(고정된 앞쪽 창 안의 한 프레임, 또는 무작위 프레임 3~5개)은 도메인 내에서는 비슷한 성능을 냈지만, 중복되고 의미가 덜한 하위 목표를 주기 때문에 도메인 외 일반화를 해쳤다.
  • 멀리 떨어진 마지막 프레임을 기준으로 정의한 보상은 4단계 작업에서 RL 탐색을 이끌지 못했지만, 하위 목표별 보상은 이끌었다.
  • 임베딩에 노이즈가 있으므로, 실제로는 하위 목표 사이의 최소 시간 간격과 거리 곡선의 평활화(Nadaraya-Watson 커널 회귀)가 필요하다.

주요 결과

  • VIP와 GCBC를 사용한 FrankaKitchen 모방 학습: 도메인 외 성공률은 0.035에서 0.188로, 도메인 외 완료율은 0.236에서 0.566으로 올랐고, 도메인 내 성공률은 변하지 않았다(0.736 대 0.737).
  • 시험한 모든 표현에서 도메인 외 성공률이 향상되었다: R3M 0.014에서 0.084, LIV 0.008에서 0.066, CLIP 0.005에서 0.073, DINOv2 0.012에서 0.055, 그리고 VIP 위의 GPT 스타일 트랜스포머 정책에서 0.039에서 0.213.
  • PPO를 사용한 FrankaKitchen RL: 마지막 프레임을 목표로 사용하는 목표 조건부 RL은 성공률 0.0에 그쳤다. UVD 보상을 쓰면 3개 시드에 대한 평균/최대 성공률은 VIP에서 0.65/1.0, R3M에서 0.649/1.0이었다.
  • 실제 Franka에서 20회 실행에 대한 도메인 외 성공률(GCBC 대 GCBC + UVD): Apple-in-Oven 0.0 대 0.25, Fries-and-Rack 0.0 대 0.25, Fold-Cloth 0.0 대 0.15.
  • 실행 중 사람의 간섭이 있을 때(10회 실행), 성공률은 Apple-in-Oven에서 0.0에서 0.5로, Fries-and-Rack에서 0.2에서 0.9로 올랐다.
  • RTX A6000에서의 분해 시간: 평균 227프레임 FrankaKitchen 에피소드에 0.0023 s, 698프레임 720p 영상에 0.011 s였으며, 이는 인코딩(0.155 s와 0.450 s) 이후의 시간이다.

한계

  • 완전히 관측 가능한 조작 작업에서만 검증되었다. 저자들은 내비게이션이나 기타 부분 관측 체화 작업에서는 직관적이거나 설명 가능한 하위 목표가 나오지 않을 수 있다고 언급한다.
  • 실제 세계의 도메인 외 테스트는 학습 작업보다 짧다. 실제 하위 작업들은 순차적으로 의존하므로, 사람이 이미 완료한 단계를 건너뛰는 것을 시험한다.
  • 하위 목표 감지는 사전에 정한 하위 목표 간 최소 간격과 평활화 단계에 의존하며, 추론 시 목표 릴레이는 거리 임계값에 의존한다.
  • 실제 로봇 평가는 세 가지 작업을 다루며, 각 작업에는 약 100개의 원격 조작 시연과 설정당 20회 실행이 있다.
  • 이득은 표현에 따라 달라진다. CLIP과 DINOv2의 도메인 내 성공률은 0.32에서 0.39 사이에 머물렀다.

분야에 미친 영향

IEEE ICRA 2024 Best Paper Award in Robot Vision 최종 후보에 올랐으며 인용 수는 44회다. 논문은 프로젝트 페이지를 링크하고 부록에 분해 과정의 Python 의사 코드를 제시하지만, 코드 저장소 링크는 제공하지 않는다.

초록

실제 세계의 로봇 작업은 긴 수평선에 걸쳐 있으며 여러 단계를 포함한다. 그러나 장기 수평선 조작 작업의 학습은 오랜 난제이며, 정책 학습과 처음 보는 작업으로의 일반화를 돕기 위해 전체 작업을 다루기 쉬운 여러 하위 작업으로 분해할 것을 요구한다. 기존의 작업 분해 방법은 작업별 지식을 필요로 하고, 계산 비용이 크며, 새로운 작업에 쉽게 적용할 수 없다. 이러한 단점을 해결하기 위해, 우리는 로봇 제어를 위해 설계된 사전 학습 시각 표현을 사용하는 시각적 장기 수평선 조작용 기성 작업 분해 방법인 Universal Visual Decomposer(UVD)를 제안한다. 높은 수준에서 보면, UVD는 사전 학습 표현의 임베딩 공간에서 위상 변화를 감지하여 하위 목표를 발견한다. 보조 정보 없이 순수하게 시각적 시연만으로 동작하는 UVD는 영상에 담긴 시각적 하위 목표를 효과적으로 추출할 수 있으며, 표준 시각운동 정책 학습 위에 추가 학습 비용이 전혀 들지 않는다. UVD가 발견한 하위 목표로 학습한 목표 조건부 정책은 테스트 시 처음 보는 작업에 대해 크게 향상된 조합적 일반화를 보인다. 또한 UVD가 발견한 하위 목표는 강화 학습에서 시간적으로 확장된 탐색을 촉진하는 목표 기반 보상 형성을 구성하는 데 사용될 수 있다. 우리는 시뮬레이션과 실제 세계 작업 모두에서 UVD를 광범위하게 평가했으며, 모든 경우에 UVD는 모방 학습과 강화 학습 설정에서 도메인 내와 도메인 외 작업 시퀀스 모두에 대해 베이스라인을 크게 능가하여, 단순하고 간결한 UVD 프레임워크 안에서 자동화된 시각적 작업 분해의 분명한 이점을 입증한다.

링크

  • arXiv 2310.08581: https://arxiv.org/abs/2310.08581
  • DOI 10.1109/ICRA57147.2024.10611125: https://doi.org/10.1109/ICRA57147.2024.10611125
  • PDF: https://arxiv.org/pdf/2310.08581v1
  • 프로젝트 페이지: https://zcczhang.github.io/UVD

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.