본문 바로가기
ML Study/Robotics논문리뷰

3D Diffuser Actor 논문리뷰(3D Diffuser Actor: Policy Diffusion with 3D Scene Representations)

by 누워있는말티즈 2024. 8. 12.

3D Diffuser Actor: Policy Diffusion with 3D Scene Representations

3D Diffuser Actor: Policy Diffusion with 3D Scene Representations

Introduction

Manipulation task는 기본적으로 멀티모달 성격을 가진다. 가장 자연스러운 해결 메소드는 policy학습을 distribution learning problem으로 정의하고 policy를 deterministic map($\pi_\theta(x)$)이 아닌 현재 state($p(y|x)$)에 대한 action 분포를 학습시키는 것이다. 최근 연구들은 이 state conditioned action distribution 학습에 diffusion을 사용하여 이전 모델 대비 좋은 성능을 보이고 있다.

본 연구에서는 effective spatial reasoning을 위한 3D scene representation을 이용한 action prediction에 diffusion을 결합하여 멀티모달리티를 처리한다. 3D Diffuser Actor를 제시한다.

a novel 3D denoising policy transformer that takes as input a tokenized 3D scene representation, a language instruction and a noised end-effector’s future translation and rotation trajectory, and predicts the error in translations and rotations for the robot’s end-effector

scene tocken과 end effector location을 동일한 3D 공간에서 표현하며, 이 두 요소를 relative-position 3D attention을 통해 결합한다. 이를 통해 모델은 translation equivariance을 달성하며, 이는 모델의 generalization capability를 강화한다.

본 연구의 main contribution은 3D scene representation과 diffusion objective를 결합해 demonstration기반 robot policy 학습을 하는 것이다. 논문 전반에 걸쳐 비슷하지만 3D scene을 1D 임베딩하여 활용하는 3D diffusion policy와 비교한다.

Related Work

Learning manipulation policies from demonstrations

Diffusion models in robotics

2D and 3D scene representations for robot manipulation

Method

Appendix에서 가져온 자세한 모델 구조이다.

3D Diffuser Actor는 task에 대한 언어 지시와 함께 하는 {($o_1,a_1$),($o_2,a_2$),…}으로 표현되는 시연 궤적을 따라하도록 학습한다.

visual observation $o_t$ : RGB-D image(s)

end-effecter 3D location, rotation, gripper $a_t$ : ${a^{loc}_t} ∈ R^3, {a^{rot}_t} ∈ R^3, {a^{open}_t} ∈ R^2(0,1)$

quaternion의 불연속성을 방지하기 위해 [REF]의 6D representation을 사용한다. 매 timestep t마다 모델은 다음과 같은 구조의 prediction을 뱉는다. $\tau_t = (a^{loc}{t:t+T}, a^{rot}{t:t+T}), a^{open}_{t:t+T}$

위 이미지에서 3D Diffuser Actor의 구조를 보여준다. visual scene과 language instruction을 받아 전체 경로 $\tau$ 를 샘플 $\tau^0$에 노이즈를 적용한 기법을 역으로 건 디노이징을 거쳐 한 번에 생성한다. 디퓨전은 variance schedule의 노이즈 스케쥴어 영향을 받는다.

$$
\tau^i= \sqrt{\bar\alpha^i}\tau^0+\sqrt{1-\bar\alpha^i}\epsilon, \epsilon ∼ N (0, 1)
$$

and ${\beta^i∈(0,1)}^N_{i=1}, \alpha^i=1-\beta^i$ and $\bar\alpha^i=\Pi^i_{j=1}\alpha^j$

3D Relative Denoising Transformer

3D Diffuser Actor는 3D relative transformer $\hat\epsilon=\epsilon_\theta(\tau^i_t,i,o_t,l,c_t)$ 를 이용해 디노이징 과정의 learned gradient를 모델링한다. 이때 input은 timestep t, difusion step i의 noisy trajectory $\tau^i_t$ 와 language instruction $l$, observation $o_t$, proprioception $c_t$ 를 받아 noise component $\hat\epsilon$ 을 예측한다. 모든 t, i에 대해서 , observation $o_t$, proprioception $c_t$, trajectory $\tau^i_t$ 를 3D token으로 변환하고 relative 3D attention으로 결합, normal attention으로 language information 까지 합친다.

3D Tokenization

모든 diffusion step 에서 클린한 궤적 $\tau^0$ 의 noisy estimate $\tau^i$ 를 3D trajectory token으로 나타낸다. 이를 2D feature extrator를 이용해 $R^{HWc}$ 크기의 feature map을 추출한다. 이때, H,W,c의 크기는 pre-trained CLIP이미지 인코더를 따른다. 시야각에 대한 depth map을 가진 상태에서 HxW feature의 3D location(X,Y,Z)을 계산한다. 픽셀 좌표와 깊이 값을 카메라의 in-extrinsic parameter와 핀홀 카메라 모델을 사용해 3D 좌표로 매핑한다.

3D Relative Denoising Transformer는 모든 3D token에 self-attention을 적용하고, 언어토큰에 cross-attention을 적용한다. 3D self-attention에서 attention layer의 상대 위치 정보를 주기 위해 rotary positional embedding을 박는다. 어텐션 가중치 q,k를 이렇게 정의한다 $e_{q,k} \propto x_q^T M(p_q - p_k) x_k$.

최종 궤적을 MLP를 통과시켜 loc noise 와 rot noise를 $\tau^0$에 축한 값과 end effecter open state에 대한 예측값을 구한다.

Training and Inference

Loss function 형태는 아래와 같다. 특이하게 L1 loss를 사용한다.

Experiments and Results

성능 테스트는 벤치마크로 RLBench와 CALVIN에서 멀티태스킹 manipulation을 수행한다. 비교군으로 채용된 모델들은 3D input을 받는 모델들로 선정한다.

RLBench

CALVIN

Limitations

현 시점에 세 가지 한계가 존재한다.

  1. 모든 3D task 와 동일하게 카메라 캘리브레이션과 깊이 정보가 필요하다.
  2. RLBench와 CALVIN에서의 테스트는 거의 정적인 것으로 동적 테스크 수행은 현재 어렵다.
  3. diffusion 을 사용하지 않은 모델에 비해 느리다.
반응형

댓글