검색
← 모듈 로드맵

저가 하드웨어로 정밀한 양팔 조작 학습 (ALOHA · ACT)

논문 · 전문가 · Tony Z. Zhao 외 · 2023 · arXiv

원제 · Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware

2만 달러 미만 양팔 로봇과 행동 묶음 모방 학습(ACT)으로 정밀 작업 80~90% 성공

먼저 알아야 할 것

모방 학습(행동 복제)트랜스포머변분 오토인코더(VAE)로봇 관절 제어 기초

다루는 내용

저가 양팔 원격조종 장치 ALOHA로 사람 시연을 모으고, 다음 k걸음 행동을 한 번에 예측하는 트랜스포머 기반 CVAE 정책 ACT로 정밀 양팔 조작을 학습합니다. 행동 묶음은 누적 오차를 줄이고, 시간 앙상블은 움직임을 부드럽게 하며, CVAE는 들쭉날쭉한 사람 시연을 다룹니다. 작업당 약 10분 분량 시연으로 배터리 끼우기 96%, 컵 뚜껑 열기 84% 등을 달성했습니다.

초록

저자가 쓴 초록을 옮긴 것입니다.

케이블 타이 꿰기나 배터리 끼우기 같은 정밀 조작은 로봇에게 어렵기로 악명 높습니다. 정밀도, 접촉력의 섬세한 조율, 닫힌 고리 시각 피드백이 모두 필요하기 때문입니다. 이런 작업은 보통 고급 로봇, 정확한 센서, 또는 세심한 보정이 있어야 하는데, 이는 비싸고 설치하기도 어렵습니다. 학습을 이용하면 값싸고 부정확한 하드웨어로도 이런 정밀 조작을 할 수 있을까요? 저희는 직접 만든 원격조종 인터페이스로 모은 실제 시연에서 곧바로 종단간(end-to-end) 모방 학습을 하는 저비용 시스템을 제시합니다. 그러나 모방 학습에는, 특히 정밀도가 높은 분야에서 고유한 어려움이 있습니다. 정책의 오차가 시간이 지나며 누적될 수 있고, 사람의 시연이 일정하지 않을(비정상적일) 수 있습니다. 이 문제를 풀기 위해 저희는 행동 시퀀스에 대한 생성 모델을 학습하는, 단순하지만 새로운 알고리즘인 트랜스포머 기반 행동 묶음(Action Chunking with Transformers, ACT)을 개발했습니다. ACT로 로봇은 반투명한 소스 컵 뚜껑 열기, 배터리 끼우기 같은 어려운 실제 작업 6가지를 단 10분 분량의 시연만으로 80~90% 성공률로 배웁니다. 프로젝트 웹사이트: tonyzhaozh.github.io/aloha

해설

저가 하드웨어로 정밀한 양팔 조작 학습 (ALOHA · ACT)

2만 달러 미만의 양팔 원격조종 장치(ALOHA)로 사람 시연을 모으고, 행동을 한 번에 여러 걸음씩 묶어 예측하는 모방 학습 알고리즘(ACT)으로 배터리 끼우기 · 컵 뚜껑 열기 같은 정밀 작업을 10분 남짓한 시연만으로 가르친 논문입니다. 이후 Mobile ALOHA와 여러 로봇 기반 모델이 이 '행동 묶음(action chunk)' 아이디어를 이어 씁니다.

항목내용
원제Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
저자Tony Z. Zhao · Vikash Kumar · Sergey Levine · Chelsea Finn (스탠퍼드 · UC 버클리 · Meta)
발표2023 · arXiv 2304.13705
트랙 · 수준피지컬 AI · 심화
먼저 알면 좋은 것모방 학습(행동 복제), 트랜스포머, 변분 오토인코더(VAE), ResNet 이미지 인코더, 로봇 관절 제어 기초

들어가기 전에

이 해설은 아래 내용을 안다고 보고 씁니다. 처음이라면 먼저 읽고 오면 수식과 손계산을 훨씬 쉽게 따라올 수 있습니다.

한눈에 보기

  • 값싼 로봇 팔로도 '학습'을 붙이면 밀리미터 단위 정밀 작업이 된다는 것을 보여 줍니다.
  • 모방 학습의 고질병인 누적 오차(compounding error) 가 무엇이고, 행동을 kk걸음씩 묶어 예측하면 왜 줄어드는지 압니다.
  • 겹치는 예측을 지수 가중 평균하는 시간 앙상블(temporal ensembling) 로 움직임을 부드럽게 만드는 법을 압니다.
  • 사람 시연의 들쭉날쭉함을 조건부 VAE(CVAE) 로 다루는 이유와, 그것이 빠지면 성능이 얼마나 떨어지는지 압니다.

초록 (번역)

케이블 타이 꿰기나 배터리 끼우기 같은 정밀 조작은 로봇에게 어렵기로 악명 높습니다. 정밀도, 접촉력의 섬세한 조율, 닫힌 고리 시각 피드백이 모두 필요하기 때문입니다. 이런 작업은 보통 고급 로봇, 정확한 센서, 또는 세심한 보정이 있어야 하는데, 이는 비싸고 설치하기도 어렵습니다. 학습을 이용하면 값싸고 부정확한 하드웨어로도 이런 정밀 조작을 할 수 있을까요? 저희는 직접 만든 원격조종 인터페이스로 모은 실제 시연에서 곧바로 종단간(end-to-end) 모방 학습을 하는 저비용 시스템을 제시합니다. 그러나 모방 학습에는, 특히 정밀도가 높은 분야에서 고유한 어려움이 있습니다. 정책의 오차가 시간이 지나며 누적될 수 있고, 사람의 시연이 일정하지 않을(비정상적일) 수 있습니다. 이 문제를 풀기 위해 저희는 행동 시퀀스에 대한 생성 모델을 학습하는, 단순하지만 새로운 알고리즘인 트랜스포머 기반 행동 묶음(Action Chunking with Transformers, ACT)을 개발했습니다. ACT로 로봇은 반투명한 소스 컵 뚜껑 열기, 배터리 끼우기 같은 어려운 실제 작업 6가지를 단 10분 분량의 시연만으로 80~90% 성공률로 배웁니다. 프로젝트 웹사이트: tonyzhaozh.github.io/aloha

무엇을 풀었나

정밀 조작을 하던 기존 시스템은 비싼 로봇과 고급 센서로 상태를 정확히 추정하는 데 기댔습니다. 저자들은 반대로 "사람도 산업용 수준의 고유감각이 없지만 눈으로 보며 오차를 고친다"는 데서 출발해, 카메라 영상에서 바로 관절 목표값을 내는 정책을 학습합니다.

그런데 모방 학습에는 두 가지 벽이 있었습니다.

  1. 누적 오차: 행동 복제(behavioral cloning, BC)는 관찰 → 행동을 지도학습으로 배웁니다. 한 걸음의 작은 실수가 다음 상태를 학습 데이터 밖으로 밀고, 거기서 또 실수해 점점 벗어납니다. 정밀 작업에선 몇 밀리미터만 어긋나도 실패합니다. 전문가가 중간에 고쳐 주는 DAgger류 방법은 원격조종 환경에서 번거롭고, 시연 중에 잡음을 넣는 방법은 정밀 작업 자체를 망칩니다.
  2. 사람 시연의 들쭉날쭉함: 같은 장면에서도 사람은 매번 조금씩 다르게 움직이고, 중간에 멈칫하기도 합니다. 지금 상태만 보고 한 걸음을 내는 정책(마르코프 정책)은 '멈춤' 같은 시간 의존 행동을 흉내 내기 어렵습니다.

핵심 아이디어

mermaid
flowchart LR
  A[사람이 리더 팔을 움직여 시연<br/>50Hz 기록] --> B[관찰: 카메라 4대 영상 + 관절 위치]
  B --> C[ResNet18 특징 + 트랜스포머 인코더]
  C --> D[트랜스포머 디코더: 다음 k걸음 행동 묶음]
  D --> E[시간 앙상블: 겹친 예측 가중 평균]
  E --> F[팔로워 팔 모터의 PID 제어기]

1. ALOHA: 2만 달러 미만 양팔 원격조종 장치

직관: 작은 팔(리더)을 손으로 움직이면 큰 팔(팔로워)이 거울처럼 따라 합니다. 인형극 조종대처럼 '관절 대 관절'로 잇습니다(해설용 비유).

단계: ① 사람이 리더 팔(WidowX, 약 3,300달러)을 손으로 움직입니다. ② 각 관절 각도가 그대로 팔로워 팔(ViperX 6자유도, 약 5,600달러)의 목표 각도가 됩니다. ③ 카메라 4대(위 · 앞 · 양쪽 손목)가 영상을 찍고, 원격조종과 기록은 모두 50Hz로 합니다. ④ 리더 팔의 관절 위치를 '행동'으로 저장합니다.

왜 이렇게 했나: VR 컨트롤러로 손 위치를 재고 역기구학(IK)으로 관절을 푸는 '작업 공간 매핑'은 정밀 작업이 자주 일어나는 특이점 근처에서 IK가 자주 실패합니다. 관절 공간 매핑은 계산이 적고 지연이 짧으며, 리더 팔의 무게가 너무 빠른 동작과 잔떨림을 눌러 줍니다. 리더 쪽 관절 위치를 행동으로 쓰는 이유는, 팔로워와의 차이가 PID 제어기를 통해 '가하는 힘'을 암묵적으로 정하기 때문입니다.

  • 3D 프린팅한 '손잡이와 가위' 장치로 그리퍼를 연속 조절하고, 고무줄로 중력을 일부 상쇄해 30분 넘는 조종도 가능하게 했습니다.
  • 기성품 로봇과 3D 프린팅 부품만 써서 비전문가도 2시간 안에 조립할 수 있고, 하드웨어 · 소프트웨어를 모두 공개했습니다.

2. 행동 묶음(Action Chunking): k걸음을 한꺼번에

직관: 피아노를 칠 때 음 하나하나가 아니라 한 마디를 덩어리로 기억해 칩니다. 심리학의 '청킹' 개념에서 따온 아이디어입니다.

단계: ① 관찰을 받습니다. ② 다음 kk걸음의 관절 목표값을 한 번에 예측합니다. ③ (단순판) 그 kk개를 차례로 실행한 뒤 다시 관찰합니다.

πθ(at:t+k∣st)대신에 기존 방법은πθ(at∣st)\pi_\theta(a_{t:t+k} \mid s_t) \quad \text{대신에 기존 방법은} \quad \pi_\theta(a_t \mid s_t)
기호뜻
sts_t시점 tt의 관찰(영상 + 관절 위치)
at:t+ka_{t:t+k}시점 tt부터 kk걸음 동안의 관절 목표값 묶음
kk묶음 크기(chunk size). 논문 설정은 100

왜 이렇게 했나: 결정을 내리는 횟수가 kk분의 1로 줄어 '실효 수평선(effective horizon)'이 짧아지므로 오차가 쌓일 기회가 줄어듭니다. 또 묶음 안에서는 '잠깐 멈춤' 같은 시간 의존 행동도 그대로 흉내 낼 수 있습니다. 과거 관찰 기록을 넣는 방법은 인과 혼동(causal confusion) 문제를 일으킬 수 있는데, 묶음 방식은 그 문제를 끌어들이지 않는다고 저자들은 설명합니다.

숫자로 해 보기(논문 수치로 계산): 실제 작업 한 번은 50Hz에서 400~700걸음입니다. k=1k=1이면 결정을 400~700번 내려야 하지만, k=100k=100이면 4~7번(단순판 기준)이면 됩니다.

3. 시간 앙상블: 겹친 예측을 부드럽게 섞기

직관: 단순판은 kk걸음마다 새 관찰이 '뚝' 반영돼 움직임이 덜컥거립니다. 그래서 매 걸음 예측을 새로 하고, 같은 시점에 대해 쌓인 여러 예측을 평균합니다. 여러 사람의 일기예보를 가중 평균하는 것과 같습니다.

단계: ① 매 시점 정책을 불러 kk걸음 묶음을 예측합니다. ② 각 예측을 해당 시점의 버퍼에 넣습니다. ③ 지금 시점 버퍼에 쌓인 예측들을 지수 가중 평균해 실행합니다.

at=∑iwi At[i]∑iwi,wi=exp⁡(−m⋅i)a_t = \frac{\sum_i w_i\, A_t[i]}{\sum_i w_i}, \qquad w_i = \exp(-m \cdot i)
기호뜻
At[i]A_t[i]시점 tt에 대해 서로 다른 때 만든 ii번째 예측
w0w_0가장 오래된 예측의 가중치
mm새 관찰을 얼마나 빨리 반영할지 정하는 값. 작을수록 빨리 반영

왜 이렇게 했나: 보통의 평활화는 이웃 시점의 행동을 섞어 편향이 생기지만, 이 방법은 '같은 시점'에 대한 예측끼리만 섞어서 그런 편향이 없습니다. 추가 학습 비용 없이 추론 계산만 늘어납니다.

숫자로 해 보기(해설용 예, 논문 값 아님): 지금 시점에 대한 예측이 세 개, 오래된 순으로 0.30 · 0.34 · 0.40(라디안)이고 m=0.5m=0.5라 합시다. 가중치는 1, e−0.5≈0.607, e−1≈0.3681,\ e^{-0.5}\approx0.607,\ e^{-1}\approx0.368입니다. 가중 평균은 (0.30+0.34×0.607+0.40×0.368)/1.975≈0.331(0.30 + 0.34\times0.607 + 0.40\times0.368) / 1.975 \approx 0.331입니다. 오래된 예측에 무게가 더 실려 값이 급하게 튀지 않습니다.

4. 조건부 VAE로 사람 시연의 '스타일' 다루기

직관: 같은 일을 해도 사람마다, 매번마다 '손버릇'이 다릅니다. 이 손버릇을 작은 잠재 변수 zz(스타일 변수)로 빼내면, 정책은 나머지 '해야 할 일'에 집중할 수 있습니다.

단계: ① 학습 때 CVAE 인코더가 관절 위치와 실제 행동 묶음을 보고 zz의 평균 · 분산을 냅니다(빠른 학습을 위해 영상은 넣지 않음). ② 디코더(=정책)가 영상 · 관절 위치 · zz로 행동 묶음을 복원합니다. ③ 복원 오차와 'zz가 표준 정규분포에서 너무 멀지 않게' 하는 항을 함께 줄입니다. ④ 실제 실행 때는 인코더를 버리고 z=0z=0(사전분포의 평균)으로 둬 결정적으로 행동을 냅니다.

L=MSE(a^t:t+k, at:t+k)⏟복원+β DKL(qϕ(z∣at:t+k,oˉt) ∥ N(0,I))⏟규제\mathcal{L} = \underbrace{\mathrm{MSE}\big(\hat{a}_{t:t+k},\, a_{t:t+k}\big)}_{\text{복원}} + \beta\, \underbrace{D_{\mathrm{KL}}\big(q_\phi(z \mid a_{t:t+k}, \bar{o}_t)\,\|\,\mathcal{N}(0, I)\big)}_{\text{규제}}
기호뜻
a^t:t+k\hat{a}_{t:t+k}정책이 예측한 행동 묶음
qϕq_\phiCVAE 인코더. oˉt\bar{o}_t는 영상을 뺀 관찰(관절 위치)
DKLD_{\mathrm{KL}}두 분포가 얼마나 다른지 재는 값
β\beta규제 항의 가중치. 클수록 zz에 담기는 정보가 줄어듦. 논문 설정은 10

(식은 논문의 알고리즘 1을 한 줄로 모아 쓴 것입니다.)

왜 이렇게 했나: 사람 데이터는 같은 관찰에 여러 답이 있어(다봉성), 평균 하나로 회귀하면 어중간한 행동이 나옵니다. 생성 모델로 학습하면 정밀도가 중요한 구간에 집중할 수 있다고 저자들은 봅니다.

5. 구현 세부

  • 카메라 영상마다 ResNet18로 특징 지도를 뽑아 펼치고, 2차원 사인 위치 임베딩을 더해 트랜스포머 인코더에 넣습니다. 관절 위치와 zz도 같은 차원으로 투영해 함께 넣습니다.
  • 디코더는 인코더 출력을 키 · 값으로 보는 교차 어텐션으로 행동 묶음을 냅니다.
  • 하이퍼파라미터(부록 표 III): 학습률 1e-5, 배치 8, 인코더 4층 · 디코더 7층, 피드포워드 3200, 은닉 512, 헤드 8, 묶음 크기 100, β\beta 10, 드롭아웃 0.1.
  • 모델은 약 8,000만(80M) 파라미터이고 작업마다 처음부터 학습합니다. RTX 2080 Ti(11GB) 한 장으로 약 5시간, 추론은 약 0.01초입니다.

결과

과제: 시뮬레이션(MuJoCo) 2개(큐브 옮기기 · 양팔 끼우기)와 실제 6개(지퍼백 열기 · 배터리 끼우기 · 컵 뚜껑 열기 · 벨크로 꿰기 · 테이프 붙이기 · 신발 신기기). 실제 작업은 작업마다 시연 50개(벨크로는 100개), 한 번에 8~14초, 작업당 약 10~20분 분량입니다.

과제ACT 최종 성공률비교
큐브 옮기기(시뮬, 스크립트 | 사람 데이터)86% | 50%기존 최고 방법보다 큰 차이
양팔 끼우기(시뮬, 스크립트 | 사람 데이터)32% | 20%〃
지퍼백 열기(실제)88%다른 방법은 첫 단계 이후 진전 없음
배터리 끼우기(실제)96%〃
컵 뚜껑 열기(실제)84%BeT 최종 0%
벨크로 꿰기(실제)20%BeT 최종 0%
테이프 붙이기(실제)64%BeT 최종 0%
신발 신기기(실제)92%BeT 최종 0%
  • 시뮬레이션 평가는 시드 3개 × 50회, 실제는 시드 1개 × 25회입니다. 시뮬레이션 네 설정에서 ACT는 기존 최고 방법보다 성공률이 59%, 49%, 29%, 20% 높았습니다. 비교 대상은 BC-ConvMLP · BeT · RT-1 · VINN입니다.
  • 묶음 크기 실험: 시간 앙상블을 끈 채로 보면 평균 성공률이 k=1k=1에서 1%, k=100k=100에서 44%로 크게 오르고, 그보다 크면(200 · 400, 거의 열린 고리 제어) 조금 내려갑니다. BC-ConvMLP · VINN에 묶음을 붙여도 같은 경향이 나와, 묶음이 모방 학습 전반에 쓸모 있음을 보였습니다.
  • 시간 앙상블: ACT는 3.3%, BC-ConvMLP는 4% 좋아졌고, 데이터에서 실제 행동을 꺼내 쓰는 VINN은 오히려 떨어졌습니다.
  • CVAE: 스크립트 데이터에선 차이가 거의 없지만, 사람 데이터에선 CVAE를 빼면 성공률이 35.3%에서 2%로 떨어졌습니다.
  • 조종 주파수 사용자 연구(6명): 50Hz 대신 5Hz로 조종하면 작업 시간이 평균 62% 늘었습니다(케이블 타이 꿰기 20초 → 33초, 컵 분리 10초 → 16초).

왜 중요한가 · 이후 영향

  • "하드웨어 대신 학습"이라는 방향을 보여 줬습니다. 팔 하나 약 5천 달러급 장비로 정밀 작업을 해내, 로봇 학습 연구의 문턱을 크게 낮췄습니다.
  • 행동 묶음이 표준 기법이 됐습니다. 같은 팀의 Mobile ALOHA가 ACT를 그대로 쓰고, Octo · π0 같은 범용 로봇 정책도 여러 걸음 행동을 한 번에 내는 설계를 씁니다(해설자의 연결).
  • 데이터 수집 장치를 공개했습니다. 저렴하고 재현 가능한 원격조종 장치가 있어야 대규모 로봇 데이터도 모을 수 있습니다.

한계 · 주의할 점

  • 하드웨어: 양손 여러 손가락이 필요한 일(누르며 돌리는 약병), 큰 힘이 필요한 일(무거운 물건, 밀봉된 병뚜껑), 손톱이 필요한 일(캔 따기)은 못 합니다.
  • 학습: 사탕 포장 벗기기(10번 중 집기 10 · 양끝 당기기 8 · 벗기기 0)와 바닥에 놓인 작은 지퍼백 열기는 실패했습니다. 저자들은 인식의 어려움과 데이터 부족을 원인으로 보고, 사전학습 · 더 많은 데이터 · 더 나은 인식을 해법 후보로 꼽습니다.
  • 작업마다 따로 학습합니다. 여러 작업을 한 모델로 하거나 새 장면에 일반화하는 것은 이 논문의 범위가 아닙니다.
  • 실제 작업 평가는 시드 1개 · 25회라 성공률 차이에 통계적 여유가 크지 않습니다.

이어서 읽을 것

용어 정리

용어쉬운 뜻
모방 학습(imitation learning)보상 대신 사람 시연을 따라 하며 배우는 방법
행동 복제(behavioral cloning)관찰 → 행동을 지도학습으로 그대로 배우는 가장 단순한 모방 학습
누적 오차(compounding error)작은 실수가 쌓여 학습 데이터에 없던 상태로 점점 벗어나는 현상
원격조종(teleoperation)사람이 조종 장치로 로봇을 직접 움직이는 것
리더 · 팔로워사람이 움직이는 조종용 팔 · 그 움직임을 따라 하는 작업용 팔
행동 묶음(action chunk)여러 걸음의 행동을 한 덩어리로 예측 · 실행하는 단위
시간 앙상블같은 시점에 대한 여러 예측을 가중 평균하는 것
CVAE조건(관찰)을 받아 데이터를 생성하는 변분 오토인코더
고유감각(proprioception)로봇이 자기 관절 위치 등을 재는 감각
열린 고리 제어실행 중 관찰을 반영하지 않고 정해진 행동만 하는 제어

스스로 점검

  1. 행동 묶음이 누적 오차를 줄이는 이유는? — 결정 횟수가 kk분의 1로 줄어 실효 수평선이 짧아지고, 실수가 쌓일 기회가 줄기 때문입니다.
  2. 묶음 크기를 에피소드 전체 길이로 키우면 왜 성능이 조금 떨어지나? — 사실상 열린 고리 제어가 되어 중간 상황에 반응하지 못하고, 긴 시퀀스를 모델링하기도 어려워서입니다.
  3. CVAE를 빼면 스크립트 데이터와 사람 데이터에서 각각 어떻게 되나? — 결정적인 스크립트 데이터에선 차이가 거의 없지만, 들쭉날쭉한 사람 데이터에선 35.3%에서 2%로 크게 떨어집니다.

다음에 볼 것

이 글을 이해했다면 이어서 보면 좋은 항목입니다.

출처

AI 원리부터 이해하기 · 피지컬 AI 모듈

피지컬 AI 모듈 학습

이 글은 피지컬 AI 모듈의 학습 자료입니다. 전체 26개 자료 중 16번째입니다.

AI 기초 과정은 현재 진도 저장을 지원하지 않습니다.

출처·원문

원문 보기

요약만

arXiv (논문별 상이)

arXiv 2304.13705