Post

VQ-ACE: Efficient Policy Search for Dexterous Robotic Manipulation via Action Chunking Embedding

VQ-ACE: Efficient Policy Search for Dexterous Robotic Manipulation via Action Chunking Embedding

연구 개요

본 논문은 고차원 손 조작 동작, 영어로 dexterous manipulation라고 하는 문제에서의 정책 탐색을 개선하기 위해 제안된 Vector Quantized Action Chunking Embedding, 줄여서 VQ-ACE라는 프레임워크를 소개한다. VQ-ACE는 사람 손의 복잡한 동작 시퀀스를 벡터 양자화된 이산 latent 공간으로 임베딩하여, 행동 공간의 차원을 줄이면서도 중요한 동작 특성을 유지한다. 이 latent 표현은 샘플링 기반 모델 예측 제어(MPC)강화학습(RL)에 통합되어 정책 탐색의 효율성과 자연스러움을 동시에 향상시킨다.

Chapter 3. Action Chunking Embedding

본 장에서는 복잡한 손 조작 동작을 저차원 이산 latent로 임베딩하는 방법과 그 활용에 대해 설명한다.
VQ-ACE는 크게 다음 세 부분으로 구성된다.

  • 데이터 수집(Data Collection)
  • 벡터 양자화된 액션 청크 임베딩
  • 임베딩을 활용한 두 가지 제어 방법
    • Latent Sampling MPC
    • Action Chunked RL

3.1 데이터 수집

  • 모션 캡처 장갑을 이용하여 11 DoF 로봇 손에 맞게 변환된 54분 분량의 사람 손 동작 데이터를 수집 (50Hz)
  • 동작은 일상 물체 조작, 장난감 조작, 케이블 꼬기, 수화 등 다양한 활동 포함

3.2 Vector-Quantized Action Chunk Embedding

✅ 구조

  • CVAE (Conditional VAE) 기반 인코더-디코더 구조 사용
  • 입력: 현재 관절 상태 ( q_t ), 행동 시퀀스 ( a_{t:t+n} )
  • 인코더 출력: 이산 latent 벡터 ( z_{k:k+m} ) → 벡터 양자화(Nearest Neighbor Look-up)
  • 디코더 입력: ( z_{k:k+m} ), ( q_t ) → 예측된 행동 시퀀스 ( \hat{a}_{t:t+n} )

✅ 특징

  • Transformer 기반 구조 사용
  • 시계열 정보를 반영하기 위해 Positional Embedding + Causal Mask 적용
  • 시간 인덱스 t와 latent 인덱스 k 간의 관계를 아래와 같이 정의:

[ t(k) = \frac{k \cdot n}{m} ]

✅ 손실 함수 (Loss)

[ L = L_{\text{recon}} + \lambda_{\text{commit}} L_{\text{commit}} ]

  • ( L_{\text{recon}} ): L1 재구성 손실
  • ( L_{\text{commit}} ): 벡터 양자화된 latent에 대한 커밋 손실 (EMA 방식으로 업데이트)

3.3 Latent Sampling MPC (예측 기반 샘플링 제어)

  • 기존 MPC는 spline 기반 행동을 샘플링하지만, VQ-ACE는 latent token 조합을 샘플링하여 행동을 생성
  • 새로운 latent 조합 생성 방식:

[ z^{(i)}_j = \begin{cases} z_j, & \text{probability } 1-p
e_r, & \text{probability } p, \quad r \sim \text{Uniform}(1,K) \end{cases} ]

  • 샘플링된 latent로부터 디코더를 통해 행동 생성 → MuJoCo 시뮬레이터에서 평가
  • 성능 우수한 샘플을 기준으로 다음 샘플 생성 (time-shift + noise 추가)

3.4 Action Chunked Reinforcement Learning

  • 강화학습에서 정책이 선택한 action chunk를 기반으로 다단계 행동 수행
  • 행동 = 청크 + 잔차:
    [ u(t) = a_t + \delta_t ]

  • chunk는 특정 조건이 만족되면 갱신되고, 그렇지 않으면 유지
  • chunk 선택은 agent의 상태(xs)액션(us) 공간에 포함됨

✅ chunk selection 메커니즘

  • 선택 조건:

[ \text{triggert} = \mathbb{1} \left{ \max(xs(t) + us(t)) > 1 \right} ]

  • 갱신:

[ A_{t+1} = \begin{cases} \psi(q_t, \arg\max(xs + us)), & \text{if triggered}
A_t, & \text{otherwise} \end{cases} ]

  • chunk selection은 정책의 일부로 포함되어 학습됨 → 효율적인 탐색 가능

이 장의 핵심은, 기존의 고차원 연속 행동 공간을 이산 latent 토큰 기반의 청크 형태로 단순화하고, 이를 이용해 정책 탐색 및 제어를 보다 효율적이고 자연스럽게 수행할 수 있도록 한 것이다.

This post is licensed under CC BY 4.0 by the author.