VLA 선행 연구 - 전체 목차12편

논문해석 - Diffusion Policy: Visuomotor Policy Learning via Action Diffusion

들어가며

10편 DDPM11편 Flow Matching은 잡음에서 이미지 같은 데이터를 만들어 내는 생성 모델이었습니다. 12편은 같은 생성 방식을 로봇 행동에 적용한 논문입니다. 생성하는 대상이 이미지의 픽셀 값에서 로봇 팔이 앞으로 움직일 위치 값의 목록으로 바뀝니다.

로봇 행동에 생성 모델이 필요한 이유는 사람 시연에 있습니다. 같은 장면에서도 사람은 물체를 왼쪽으로 돌아가며 밀기도 하고 오른쪽으로 돌아가며 밀기도 합니다. 두 방법 모두 옳은 답인데, 이미지를 넣으면 행동 하나를 바로 계산하는 회귀 정책은 두 답의 평균, 곧 물체 정중앙으로 들이받는 행동을 배우기 쉽습니다. Diffusion Policy 는 행동 하나를 직접 계산하지 않고, 확산 모델로 "그럴듯한 행동 묶음"을 표본으로 뽑아서 이 문제를 다룹니다.

이 방법은 이 블로그의 UMI 논문해석에서 모든 실험의 정책으로 쓰였고, 이후 VLA 계보의 행동 출력 방식에도 영향을 줍니다.

📄 Diffusion Policy: Visuomotor Policy Learning via Action Diffusion — Cheng Chi·Zhenjia Xu (공동 1저자), Siyuan Feng, Eric Cousineau, Yilun Du, Benjamin Burchfiel, Russ Tedrake, Shuran Song / Columbia University·Toyota Research Institute·MIT·Stanford University

학회판은 RSS 2023에 실렸고, 이 글은 양팔 과제와 추가 제거 실험을 더한 확장판(arxiv v5, 2024-03-14)을 기준으로 합니다. 코드와 데이터는 프로젝트 페이지 diffusion-policy.cs.columbia.edu에 공개돼 있습니다. arxiv 식별자는 2303.04137입니다.

초록 요약

Diffusion Policy는 로봇의 시각-운동 정책(visuomotor policy), 곧 카메라 영상을 받아 모터 명령을 내는 정책을 조건부 잡음 제거 확산 과정으로 표현합니다. 저자들은 로봇 조작 벤치마크 4개에서 과제 15개를 평가해, 기존 최고 성능 방법보다 평균 46.9% 높은 결과를 얻었다고 보고합니다.

정책은 행동 분포의 점수 함수(score function) 기울기를 학습하고, 추론할 때 이 기울기를 따라 여러 번 조금씩 행동을 고칩니다. 이 방식에서 저자들이 확인한 장점은 세 가지입니다. 한 장면에 옳은 행동이 여러 개인 분포를 표현할 수 있고, 행동 수십 개를 한 번에 내는 고차원 출력을 다룰 수 있으며, 학습이 안정적입니다. 실물 로봇에서 이 장점을 살리려고 후퇴 구간 제어(receding horizon control), 영상 조건화 구조, 시계열 확산 Transformer를 함께 제안합니다.

그림 1 — 정책 표현 방식 비교

그림 1 — (a) 명시적 정책 (b) 에너지 함수를 최소화하는 암시적 정책 (c) 학습한 기울기로 잡음을 행동으로 고치는 확산 정책.

(a)는 관측을 넣으면 행동을 바로 출력하는 명시적 정책이고, 출력 형태에 따라 스칼라 회귀, 가우시안 혼합, 구간 분류로 나뉩니다. (b)는 관측과 행동 후보를 함께 넣어 점수(에너지)를 매기고, 점수가 가장 낮은 행동을 찾는 암시적 정책입니다. (c)가 이 논문의 방식으로, 잡음에서 출발해 학습한 기울기 방향으로 행동을 여러 번 고칩니다.


1. 배경 — 행동 복제와 여러 정답이 있는 행동 분포

행동 복제의 기본 형태

시연으로 정책을 학습하는 가장 단순한 방법은 행동 복제(behavior cloning) 입니다. 시연 데이터에서 "이 관측을 봤을 때 사람이 한 행동"의 짝을 모아, 관측을 넣으면 그 행동이 나오도록 지도 학습합니다. 6편 BC-Z도 이 방식이었습니다.

로봇 행동을 예측하는 문제에는 일반적인 지도 학습과 다른 성질이 세 가지 있습니다.

성질구체적인 모습
여러 정답같은 장면에서 시연자가 왼쪽 경로와 오른쪽 경로를 둘 다 씀
시간 연속성이번 행동과 다음 행동이 같은 경로 위에 있어야 동작이 매끄러움
높은 정밀도물체를 목표 위치에 몇 밀리미터 단위로 맞춰야 함

여러 정답이 문제가 되는 이유

아래 그림 3의 Push-T 과제를 예로 듭니다. 로봇 끝(파란 원)이 T자 블록 아래쪽에 있고, 블록을 목표 위치로 밀어야 합니다. 블록을 밀려면 블록 옆으로 돌아 들어가야 하는데, 왼쪽으로 돌든 오른쪽으로 돌든 둘 다 과제를 해냅니다. 시연 데이터에도 두 경로가 섞여 있습니다.

이때 행동의 확률 분포를 그려 보면 "왼쪽으로 이동"과 "오른쪽으로 이동" 두 곳에서 확률이 높고 그 사이인 "정면으로 이동"은 확률이 낮습니다. 확률이 높은 곳이 둘 이상인 분포를 다봉 분포(multimodal distribution) 라고 합니다.

평균제곱오차로 학습하는 회귀 정책은 이 분포의 평균 하나를 출력합니다. 왼쪽 행동 1-1과 오른쪽 행동 +1+1이 반씩 섞인 데이터라면 평균은 00이고, 이 행동은 블록 정면으로 들이받는 동작이라 두 시연 어느 쪽에도 없던 행동입니다.

기존 해법과 한계

방식대표 방법여러 정답을 다루는 방법한계
직접 회귀기본 행동 복제다루지 못함평균 행동을 출력
가우시안 혼합LSTM-GMM (Robomimic의 BC-RNN)가우시안 여러 개를 섞어 출력조절값에 민감, 한 봉우리로 쏠림
행동 구간 분류행동 이산화행동 공간을 칸으로 나눠 확률 분류차원이 늘면 필요한 칸 수가 지수적으로 증가
군집 + 보정값BET (Behavior Transformer)k-평균 군집 중 하나를 고르고 보정값을 더함시점마다 다른 군집을 골라 경로가 흔들림
에너지 기반 암시적 정책IBC (Implicit BC)행동마다 에너지를 매기고 최소값을 탐색음성 표본 추정 때문에 학습이 불안정
확산 정책Diffusion Policy잡음에서 행동을 반복해서 복원추론에 여러 번의 계산이 필요

2. 확산 모델로 행동 생성

잡음 제거 확산 확률 모델

Diffusion Policy는 잡음 제거 확산 확률 모델(Denoising Diffusion Probabilistic Model, DDPM) 을 씁니다. 생성은 가우시안 잡음 xK\mathbf{x}^K에서 시작해 잡음을 KK번 조금씩 걷어내는 과정입니다. 한 번 걷어낼 때마다 잡음이 줄어든 중간 결과 xK1,,x1\mathbf{x}^{K-1}, \dots, \mathbf{x}^{1}이 나오고, 마지막에 잡음 없는 x0\mathbf{x}^0을 얻습니다.

xk1=α(xkγϵθ(xk,k)+N(0,σ2I))\mathbf{x}^{k-1}=\alpha\left(\mathbf{x}^{k}-\gamma\,\epsilon_{\theta}(\mathbf{x}^{k},k)+\mathcal{N}(0,\sigma^{2}I)\right)

ϵθ\epsilon_\theta는 잡음 예측 신경망입니다. 현재 값 xk\mathbf{x}^k와 단계 번호 kk를 받아 "이 값에 섞여 있는 잡음"을 예측하고, 그 예측을 빼서 값을 한 단계 깨끗하게 만듭니다. 매 단계 작은 가우시안 잡음 N(0,σ2I)\mathcal{N}(0,\sigma^2 I)을 다시 더하는 것은 표본이 한 지점에 고정되지 않게 하려는 장치입니다. α,γ,σ\alpha, \gamma, \sigma는 단계 kk에 따라 정해지는 값이고, 이 값들의 일정을 잡음 스케줄(noise schedule) 이라고 합니다.

같은 식은 경사 하강 한 걸음으로도 읽을 수 있습니다.

x=xγE(x)\mathbf{x}' = \mathbf{x} - \gamma \nabla E(\mathbf{x})

잡음 예측 신경망이 에너지 함수의 기울기 E(x)\nabla E(\mathbf{x})를 예측하고, γ\gamma가 학습률 역할을 합니다. 잡음 스케줄은 경사 하강의 학습률 일정에 해당합니다.

학습

학습 데이터에서 깨끗한 표본 x0\mathbf{x}^0을 하나 꺼내고, 단계 kk를 무작위로 고른 뒤, 그 단계에 맞는 크기의 잡음 ϵk\epsilon^k를 만들어 더합니다. 신경망은 잡음이 섞인 값을 보고 더해진 잡음을 맞히도록 학습합니다.

L=MSE(ϵk, ϵθ(x0+ϵk,k))\mathcal{L}=\mathrm{MSE}\left(\epsilon^{k},\ \epsilon_{\theta}(\mathbf{x}^{0}+\epsilon^{k},k)\right)

이 손실을 줄이면 데이터 분포와 모델이 만드는 표본 분포 사이의 차이(KL 발산)의 변분 하한도 함께 줄어든다는 것이 DDPM 원 논문의 결과입니다.

이미지 대신 행동을 생성할 때 바뀌는 점

DDPM은 원래 이미지 생성에 쓰였고, 그때 x\mathbf{x}는 이미지입니다. 로봇 정책으로 쓰려면 두 가지를 바꿉니다.

  1. 출력 x\mathbf{x}를 로봇 행동으로 바꿉니다.
  2. 잡음 제거 과정이 현재 관측 Ot\mathbf{O}_t에 조건화되게 합니다.

Push-T에서 행동은 로봇 끝의 목표 위치 (x,y)(x, y) 두 숫자입니다. Diffusion Policy는 앞으로 16걸음의 행동을 한 번에 생성하므로, 생성 대상은 16×2=3216 \times 2 = 32개의 숫자입니다.

걸음목표 x목표 y
10.412−0.105
20.418−0.098
160.4970.012

표의 숫자는 행동 묶음의 모양을 보여 주기 위한 임의의 예시 값입니다.

추론은 이 32개 숫자를 전부 가우시안 잡음으로 채운 표에서 시작합니다. 잡음 예측 신경망이 카메라 영상과 현재 표를 보고 잡음을 예측하면 그만큼 빼고, 이것을 KK번 반복하면 잡음이 걷힌 16걸음짜리 경로가 남습니다. 시뮬레이션 실험에서 KK는 100입니다.


3. 정책으로 바꾸는 두 가지 설계

그림 2 — Diffusion Policy 개요

그림 2 — (a) 최근 ToT_o걸음 관측을 받아 TaT_a걸음 행동을 실행 (b) FiLM으로 관측을 넣는 CNN 구조 (c) 교차 주의로 관측을 넣는 Transformer 구조.

닫힌 루프 행동 묶음 예측

시점 tt에 정책은 최근 ToT_o걸음의 관측 Ot\mathbf{O}_t를 받아 앞으로 TpT_p걸음의 행동을 예측하고, 그중 앞쪽 TaT_a걸음만 로봇에서 다시 계획하지 않고 실행합니다. 세 값의 이름은 다음과 같습니다.

기호이름대부분 과제의 값
ToT_o관측 구간(observation horizon)입력으로 보는 과거 관측 걸음 수2
TpT_p행동 예측 구간(action prediction horizon)한 번에 생성하는 미래 행동 걸음 수16
TaT_a행동 실행 구간(action execution horizon)생성한 행동 중 실제로 실행하는 걸음 수8

실물 로봇의 정책 주기는 10 Hz입니다. 이 주기에서 위 값을 시간으로 바꾸면, 정책은 최근 0.2초의 영상 2장을 보고 앞으로 1.6초의 경로를 생성한 뒤 앞쪽 0.8초만 실행하고 다시 영상을 봅니다.

TaT_a걸음을 묶어서 실행하면 연속한 행동이 같은 경로에서 나오므로 동작이 일관됩니다. 반대로 TaT_a가 너무 길면 예상 밖의 변화에 늦게 반응합니다. 매번 TaT_a걸음 뒤에 새 관측으로 다시 생성하는 방식은 제어 이론의 후퇴 구간 제어 와 같은 구조입니다. 저자들은 직전에 예측한 행동 묶음으로 다음 추론을 시작하는 방식으로 동작을 더 매끄럽게 만들 수 있다고 적습니다.

관측 조건부 분포

선행 연구인 Diffuser(Janner et al., 2022)는 계획을 위해 관측과 행동을 함께 생성하는 결합 분포 p(At,Ot)p(\mathbf{A}_t, \mathbf{O}_t)를 확산 모델로 학습했습니다. Diffusion Policy는 관측을 생성하지 않고 조건으로만 받는 조건부 분포 p(AtOt)p(\mathbf{A}_t \mid \mathbf{O}_t)를 학습합니다. 식은 잡음 예측 신경망에 관측이 입력으로 추가되는 형태로 바뀝니다.

Atk1=α(Atkγϵθ(Ot,Atk,k)+N(0,σ2I))\mathbf{A}^{k-1}_{t}=\alpha\left(\mathbf{A}^{k}_{t}-\gamma\,\epsilon_{\theta}(\mathbf{O}_{t},\mathbf{A}^{k}_{t},k)+\mathcal{N}(0,\sigma^{2}I)\right) L=MSE(ϵk, ϵθ(Ot,At0+ϵk,k))\mathcal{L}=\mathrm{MSE}\left(\epsilon^{k},\ \epsilon_{\theta}(\mathbf{O}_{t},\mathbf{A}^{0}_{t}+\epsilon^{k},k)\right)

관측을 생성 대상에서 빼면 두 가지가 달라집니다. 미래 영상을 만들 필요가 없어 추론이 빨라지고, 영상 인코더는 잡음 제거를 100번 반복하는 동안 한 번만 실행하면 됩니다. 그래서 영상 인코더를 정책과 함께 끝까지 학습하는 것도 계산량 면에서 가능해집니다.


4. 잡음 예측 신경망 구조

잡음 예측 신경망 ϵθ\epsilon_\theta로 두 가지 구조를 비교합니다. 이 선택은 다음 절의 영상 인코더와 독립입니다.

CNN 기반 확산 정책

Diffuser의 1차원 시간축 합성곱 신경망(U-Net 형태)을 가져와 세 가지를 고쳤습니다.

  1. 관측 특징 Ot\mathbf{O}_t와 단계 번호 kkFiLM(Feature-wise Linear Modulation) 으로 모든 합성곱 층에 넣습니다.
  2. 관측과 행동을 이어 붙인 경로가 아니라 행동 경로만 예측합니다.
  3. 후퇴 구간 방식과 맞지 않는 인페인팅(inpainting) 기반 목표 조건화를 뺐습니다. 목표 조건이 필요하면 관측과 같은 FiLM 방식으로 넣을 수 있습니다.

1차원 시간축 합성곱은 행동 16걸음을 길이 16짜리 신호로 보고, 시간 방향으로 필터를 밀면서 특징을 뽑습니다. FiLM은 이 특징의 채널마다 곱할 값 γ\gamma와 더할 값 β\beta를 관측 특징에서 계산해 적용하는 층입니다. 합성곱 층의 채널이 256개라면 관측 특징에서 γ\gamma 256개와 β\beta 256개를 만들어 채널별로 특징 × γ + β를 계산합니다. 같은 행동 신경망이 관측에 따라 다른 특징을 강조하게 됩니다.

CNN 기반 구조는 대부분 과제에서 조절값을 거의 손대지 않아도 잘 동작했습니다. 다만 속도 명령처럼 행동이 시간에 따라 빠르고 급하게 바뀌어야 하는 과제에서는 성능이 낮았습니다. 저자들은 시간축 합성곱이 낮은 주파수 신호를 선호하는 성질 때문으로 추정합니다.

시계열 확산 Transformer

CNN의 과도한 평활화를 줄이려고 minGPT 구조를 가져온 Transformer 기반 확산 모델을 제안합니다. 입력 구성은 이렇습니다.

입력들어가는 위치
잡음 섞인 행동 AtkA_t^k 걸음마다 한 토큰복호기 블록의 입력 토큰
단계 번호 kk의 사인 임베딩맨 앞 첫 토큰
관측 Ot\mathbf{O}_t공유 MLP로 임베딩 열을 만든 뒤 각 복호기 블록의 교차 주의(cross-attention)에 입력

각 행동 토큰은 자기 자신과 앞선 행동 토큰만 볼 수 있도록 인과 주의 마스크(causal attention mask)를 씁니다. 복호기의 출력 토큰 하나하나가 해당 걸음의 잡음 ϵθ(Ot,Atk,k)\epsilon_\theta(\mathbf{O}_t, \mathbf{A}_t^k, k)를 예측합니다. 마스크와 교차 주의의 동작은 1편 Transformer에서 다룬 것과 같습니다.

상태 입력 실험에서는 대부분 최고 성능이 Transformer 구조에서 나왔고, 과제가 복잡하고 행동 변화가 빠를수록 차이가 컸습니다. 대신 조절값에 더 민감했습니다.

저자들의 권장 순서

새 과제에서는 CNN 기반 구조로 먼저 시도하고, 과제 복잡도나 빠른 행동 변화 때문에 성능이 낮으면 추가 조절을 감수하고 Transformer 구조로 바꾸기를 권합니다.


5. 영상 인코더

영상 인코더는 원시 영상 열을 잠재 임베딩 OtO_t로 바꾸고, 확산 정책과 함께 처음부터 끝까지 학습합니다. 카메라마다 별도의 인코더를 쓰고, 시점마다 영상을 따로 인코딩한 뒤 이어 붙여 OtO_t를 만듭니다.

인코더는 사전학습하지 않은 표준 ResNet-18에서 두 곳을 바꿨습니다.

바꾼 곳원래바꾼 뒤이유
마지막 풀링전역 평균 풀링공간 소프트맥스(spatial softmax) 풀링물체 위치 정보 유지
정규화 층배치 정규화(BatchNorm)그룹 정규화(GroupNorm)지수 이동 평균(EMA)과 함께 쓸 때 학습 안정

전역 평균 풀링은 특징 지도의 채널마다 전체 픽셀 값을 평균 내 숫자 하나를 남깁니다. 이러면 "블록 모양의 특징이 강하다"는 정보는 남지만 "화면 어디에 있는지"는 사라집니다. 공간 소프트맥스는 채널마다 특징 지도를 확률 지도로 바꾸고, 그 확률로 가중 평균한 (x,y)(x, y) 좌표를 출력합니다. 채널이 512개라면 좌표 512×2=1024512 \times 2 = 1024개가 남아, 각 채널이 반응하는 위치가 숫자로 전달됩니다.

배치 정규화는 학습 중 배치 통계로 값을 정규화합니다. 확산 모델은 흔히 가중치의 지수 이동 평균을 평가에 쓰는데, 이때 배치 정규화의 누적 통계와 평균 가중치가 어긋나 불안정해질 수 있습니다. 그룹 정규화는 배치와 무관하게 채널 묶음 안에서 정규화하므로 이 문제가 없습니다.


6. 잡음 스케줄과 추론 가속

잡음 스케줄은 확산 정책이 행동 신호의 높은 주파수와 낮은 주파수 성분을 어느 정도 담는지를 정합니다. 저자들은 iDDPM이 제안한 제곱 코사인 스케줄(square cosine schedule)이 로봇 과제에서 가장 좋았다고 보고합니다.

확산 정책은 추론마다 잡음 제거를 여러 번 반복하므로 실시간 제어에서는 속도가 문제입니다. DDIM(Denoising Diffusion Implicit Models) 은 학습 때의 반복 횟수와 추론 때의 반복 횟수를 분리해서, 학습은 100단계로 하고 추론은 더 적은 단계로 할 수 있게 합니다. 3.4절은 학습 100단계·추론 10단계로 Nvidia 3080 GPU에서 추론 지연 0.1초를 얻었다고 적습니다.

부록 A.4와 하이퍼파라미터 표 7·8은 실물 과제의 추론 단계를 16으로 적고 있어 3.4절의 10과 다릅니다. 논문은 두 값의 관계를 설명하지 않아 두 값을 모두 적습니다.


7. 확산 정책의 성질

여러 정답의 표현

그림 3 — 다봉 행동

그림 3 — 같은 상태에서 Diffusion Policy는 왼쪽·오른쪽 경로를 모두 배우고 실행마다 한쪽을 끝까지 따릅니다.

그림 3은 Push-T에서 로봇 끝(파란 원)이 블록 아래에 있는 상태로, 이 상태를 직접 시연한 데이터는 없습니다. 각 방법으로 40걸음씩 실행한 행동을 겹쳐 그렸습니다. Diffusion Policy는 왼쪽과 오른쪽 두 경로를 모두 만들고, 한 번의 실행 안에서는 한쪽만 따릅니다. LSTM-GMM과 IBC는 한쪽 경로로 쏠리고, BET는 한 경로를 끝까지 따르지 못하고 오갑니다.

확산 정책에서 서로 다른 정답이 나오는 원인은 두 가지 무작위성입니다. 첫째, 매 표본의 출발점 AtK\mathbf{A}_t^K를 표준 가우시안에서 새로 뽑으므로 출발점에 따라 도착하는 봉우리가 달라집니다. 둘째, 잡음 제거를 반복하는 동안 매 단계 작은 가우시안 잡음을 더하므로 표본이 봉우리 사이를 옮겨 가다가 한 곳에 수렴할 수 있습니다.

위치 제어와의 조합

그림 4 — 속도 제어와 위치 제어

그림 4 — 속도 제어에서 위치 제어로 바꿨을 때 성공률 변화. BCRNN과 BET는 낮아지고 Diffusion Policy는 높아집니다.

행동을 표현하는 방법에는 두 가지가 있습니다. 위치 제어 행동은 "다음 순간 로봇 끝이 있어야 할 자세" 자체이고, 속도 제어 행동은 "현재 목표 자세에서 얼마나 움직일지"라는 변화량입니다. 부록 D의 UR5 실험에서도 위치 제어 정책은 원하는 말단장치 자세를 직접 예측하고, 속도 제어 정책은 현재 설정점과 이전 설정점의 차이를 예측합니다.

최근 행동 복제 연구는 대부분 속도 제어를 썼습니다. Diffusion Policy는 반대로 위치 제어에서 일관되게 더 좋았고, 기준선 방법은 속도 제어에서 더 좋았습니다. 저자들은 원인을 두 가지로 추정합니다. 위치 제어에서는 여러 정답 문제가 더 두드러지는데 Diffusion Policy는 이 문제에 강합니다. 또 위치 제어는 속도 제어보다 오차 누적이 적어 행동 묶음 예측과 잘 맞습니다. 속도 명령은 앞 걸음의 작은 오차가 이후 모든 위치에 그대로 더해지지만, 위치 명령은 각 걸음이 절대 위치를 지정하므로 오차가 쌓이지 않습니다.

행동 묶음 예측의 이점

대부분의 정책 학습 방법은 고차원 출력에서 표본을 뽑기 어려워 행동 묶음 예측을 피합니다. IBC는 매끄럽지 않은 에너지 지형에서 고차원 행동을 탐색하기 어렵고, BC-RNN과 BET는 가우시안 혼합이나 k-평균에 필요한 봉우리 개수를 미리 정해야 합니다. DDPM은 이미지 생성에서 보였듯 출력 차원이 커져도 표현력이 유지되므로, 행동 묶음을 한 번에 생성할 수 있습니다. 이 방식은 두 가지 문제를 줄입니다.

문제한 걸음씩 예측할 때행동 묶음으로 예측할 때
시간 일관성걸음마다 독립적으로 봉우리를 골라 왼쪽·오른쪽 경로를 번갈아 실행하며 떨림16걸음이 같은 경로에서 한꺼번에 나옴
멈춤 행동시연 중 멈춘 구간(같은 위치 반복, 속도 0)에 과적합해 로봇이 멈춰 버림멈춤 구간 뒤의 행동까지 함께 예측

멈춤 행동은 원격조작 중에 흔하고, 액체를 따르는 과제처럼 일부러 멈춰야 하는 경우도 있습니다. 실물 실험에서 BC-RNN과 IBC는 학습 데이터에서 멈춤 구간을 따로 지우지 않으면 자주 멈춰 버렸습니다.

그림 5 — 행동 실행 구간과 지연 제거 실험

그림 5 — 왼쪽: 행동 실행 구간에 따른 일관성과 반응성의 균형. 오른쪽: 위치 제어 확산 정책의 지연 강건성.

세로축은 과제별 최고 성공률 대비 성공률 차이입니다. 왼쪽 그래프에서 실행 구간이 1보다 크면 행동이 일관돼 성능이 오르고, 너무 길면 반응이 늦어 성능이 내려갑니다. 시험한 대부분 과제에서 최적값은 8걸음이었습니다. 오른쪽 그래프의 지연은 마지막 관측 프레임과 실행 가능한 첫 행동 사이의 걸음 수로, Diffusion Policy는 4걸음 지연까지 최고 성능을 유지했습니다. 속도 제어는 위치 제어보다 지연에 더 크게 영향을 받았습니다.

학습 안정성

그림 6 — 학습 안정성

그림 6 — 왼쪽: IBC는 에너지 손실이 줄어도 학습 행동 예측 오차가 줄지 않음. 오른쪽: IBC의 평가 성공률이 크게 오르내림.

IBC는 이론상 확산 정책과 비슷한 장점을 가지지만 실제로는 학습이 불안정합니다. 그림 6처럼 학습 오차가 튀고 평가 성능이 오르내려서, IBC 원 논문은 모든 체크포인트를 평가해 최고 성능 체크포인트를 보고했습니다. 실물 로봇에서는 이 방식이 하드웨어로 정책 여러 개를 평가해야 한다는 뜻입니다.

암시적 정책은 행동 분포를 에너지 기반 모델(Energy-Based Model, EBM) 로 표현합니다.

pθ(ao)=eEθ(o,a)Z(o,θ)p_{\theta}(\mathbf{a}\mid\mathbf{o})=\frac{e^{-E_{\theta}(\mathbf{o},\mathbf{a})}}{Z(\mathbf{o},\theta)}

EθE_\theta는 관측 o\mathbf{o}에서 행동 a\mathbf{a}가 얼마나 부적절한지를 매기는 숫자이고, 값이 낮을수록 확률이 높습니다. 분모 ZZ는 가능한 모든 행동에 대해 eEe^{-E}를 더한 값으로, 확률의 합을 1로 맞추는 정규화 상수입니다. 2차원 행동만 해도 가능한 행동이 연속적으로 무한히 많아 ZZ를 정확히 계산할 수 없습니다.

IBC는 InfoNCE 형태의 손실로 학습하면서, 시연에 없던 행동 NnegN_{neg}개를 음성 표본 a~j\widetilde{\mathbf{a}}^j로 뽑아 ZZ를 근사합니다.

LinfoNCE=log(eEθ(o,a)eEθ(o,a)+j=1NnegeEθ(o,a~j))\mathcal{L}_{infoNCE}=-\log\left(\frac{e^{-E_{\theta}(\mathbf{o},\mathbf{a})}}{e^{-E_{\theta}(\mathbf{o},\mathbf{a})}+\sum_{j=1}^{N_{neg}}e^{-E_{\theta}(\mathbf{o},\widetilde{\mathbf{a}}^{j})}}\right)

음성 표본이 행동 공간을 제대로 대표하지 못하면 ZZ 근사가 부정확해지고, 이것이 EBM 학습 불안정의 원인으로 알려져 있습니다.

확산 정책은 같은 분포의 점수 함수, 곧 로그 확률을 행동에 대해 미분한 값을 학습합니다.

alogp(ao)=aEθ(a,o)alogZ(o,θ)=0ϵθ(a,o)\nabla_{\mathbf{a}}\log p(\mathbf{a}\mid\mathbf{o})=-\nabla_{\mathbf{a}}E_{\theta}(\mathbf{a},\mathbf{o})-\underbrace{\nabla_{\mathbf{a}}\log Z(\mathbf{o},\theta)}_{=0}\approx-\epsilon_{\theta}(\mathbf{a},\mathbf{o})

ZZ는 행동 a\mathbf{a}와 무관한 값이라 행동으로 미분하면 0이 됩니다. 그래서 잡음 예측 신경망은 ZZ를 몰라도 점수 함수를 근사할 수 있고, 학습(식 5)과 추론(식 4) 어디에서도 ZZ를 계산하지 않습니다. 저자들은 이 차이가 확산 정책의 학습이 더 안정적인 이유라고 설명합니다.

제어 이론과의 연결

과제가 아주 단순하면 확산 정책의 동작을 제어 이론으로 확인할 수 있습니다. 선형 동역학 시스템을 생각합니다.

st+1=Ast+Bat+wt,wtN(0,Σw)\mathbf{s}_{t+1}=\mathbf{A}\mathbf{s}_{t}+\mathbf{B}\mathbf{a}_{t}+\mathbf{w}_{t},\qquad \mathbf{w}_{t}\sim\mathcal{N}(0,\Sigma_{w})

시연이 선형 되먹임 정책 at=Kst\mathbf{a}_t=-\mathbf{K}\mathbf{s}_t(예: 선형 이차 조절기 LQR의 해)에서 나왔다고 합니다. 예측 구간이 한 걸음(Tp=1T_p=1)이면 손실 MSE(ϵk,ϵθ(st,Kst+ϵk,k))\mathrm{MSE}(\epsilon^k, \epsilon_\theta(\mathbf{s}_t, -\mathbf{K}\mathbf{s}_t+\epsilon^k, k))를 최소화하는 최적 잡음 예측기는 ϵθ(s,a,k)=1σk[a+Ks]\epsilon_\theta(\mathbf{s},\mathbf{a},k)=\frac{1}{\sigma_k}[\mathbf{a}+\mathbf{K}\mathbf{s}]이고, DDIM 표본 추출은 전역 최소점 a=Ks\mathbf{a}=-\mathbf{K}\mathbf{s}로 수렴합니다.

예측 구간이 여러 걸음(Tp>1T_p>1)이면 최적 잡음 예측기는 at+t=K(ABK)tst\mathbf{a}_{t+t'}=-\mathbf{K}(\mathbf{A}-\mathbf{B}\mathbf{K})^{t'}\mathbf{s}_t를 만듭니다. 미래 행동을 현재 상태의 함수로 맞히려면 시스템이 앞으로 어떻게 변할지, 곧 과제에 필요한 동역학 모델을 암묵적으로 배워야 한다는 뜻입니다. 시스템이나 정책이 비선형이면 미래 행동 예측은 훨씬 어려워지고 다시 여러 정답 문제가 생깁니다.


8. 시뮬레이션 평가

과제 구성

벤치마크 4개의 과제를 평가합니다.

Robomimic 은 모방 학습과 오프라인 강화 학습 연구용 대규모 조작 벤치마크입니다. 과제 5개에 대해 숙련된 사람(PH)의 원격조작 시연이 있고, 그중 4개에는 숙련자와 비숙련자가 섞인(MH) 시연이 추가로 있어 변형이 모두 9개입니다. 각 변형을 상태 관측과 영상 관측 두 방식으로 평가합니다.

Push-T 는 IBC에서 가져온 과제로, 원형 말단장치(파란색)로 T자 블록(회색)을 고정된 목표(빨간색)까지 밀어야 합니다. T 블록과 말단장치의 시작 위치는 무작위입니다. 점 접촉으로 블록을 정밀하게 밀어야 하므로 접촉이 많은 물체 역학을 다뤄야 합니다. 관측은 RGB 영상 버전과 T 블록의 실제 자세에서 얻은 2차원 키포인트 9개 버전이 있고, 둘 다 말단장치 위치를 함께 받습니다.

Multimodal Block Pushing 은 BET에서 가져온 과제로, 블록 2개를 사각형 목표 2곳에 순서와 상관없이 밀어 넣습니다. 시연은 실제 상태를 아는 스크립트 정책이 만들었고, 처음 밀 블록과 목표를 무작위로 고릅니다. 관측 하나에서 행동 하나로 가는 단일 함수로는 표현할 수 없는 긴 구간의 여러 정답이 들어 있습니다.

Franka Kitchen 은 Relay Policy Learning이 제안한 환경으로, 상호작용할 물체 7개와 사람 시연 데이터가 있고 시연마다 과제 4개를 임의 순서로 수행합니다. 순서와 상관없이 시연된 과제를 최대한 많이 수행하는 것이 목표입니다.

본문은 Franka Kitchen 시연을 566개라고 적고, 표 3은 656개라고 적습니다. 논문 안에서는 어느 쪽이 맞는지 확인할 근거가 없어 두 값을 모두 적습니다.

과제로봇 수물체 수행동 차원PH 시연MH 시연최대 걸음영상고정밀
시뮬레이션
Lift117200300400아니오
Can117200300400아니오
Square117200300400
Transport2314200300700아니오
ToolHang1272000700
Push-T1122000300
BlockPush12200350아니오아니오
Kitchen1796560280아니오아니오
실물
Push-T1121360600
6DoF Pour1액체6900600아니오
Periodic Spread1액체6900600아니오
Mug Flip1172500600아니오

표 3 — 과제 요약. BlockPush는 스크립트 시연 1000 에피소드를 씁니다.

평가 방법

기준선마다 가능한 출처 중 가장 좋은 결과를 씁니다. LSTM-GMM은 저자들이 재현한 결과이고, BET와 IBC는 원 논문 수치입니다. 결과는 체크포인트 마지막 10개(50 에폭마다 저장)를 학습 시드 3개와 환경 초기 조건 50개로 평가한 평균이며, 전체 평균 1500번의 실험입니다. 대부분 과제의 지표는 성공률이고, Push-T는 목표 영역 덮임 비율을 씁니다.

본문은 환경 초기 조건을 50개라고 적었지만, 각주는 평가 코드의 버그로 Robomimic 과제에는 22개만 쓰였다고 밝힙니다. 모든 기준선이 같은 방식으로 평가됐으므로 결론은 달라지지 않는다는 것이 저자들의 설명입니다.

Robomimic과 Push-T는 원 논문과 맞추려고 최고 성능 체크포인트의 평균도 함께 보고합니다. 상태 입력 과제는 4500 에폭, 영상 입력 과제는 3000 에폭 학습합니다. 각 방법은 가장 좋은 행동 공간으로 평가합니다. Diffusion Policy는 위치 제어, 기준선은 속도 제어입니다.

표 1 — 시뮬레이션 과제 장면

표 1·2 과제 장면 — Lift, Can, Square, Transport, ToolHang, Push-T.

방법Lift phLift mhCan phCan mhSquare phSquare mhTransport phTransport mhToolHang phPush-T ph
LSTM-GMM1.00/0.961.00/0.931.00/0.911.00/0.810.95/0.730.86/0.590.76/0.470.62/0.200.67/0.310.67/0.61
IBC0.79/0.410.15/0.020.00/0.000.01/0.010.00/0.000.00/0.000.00/0.000.00/0.000.00/0.000.90/0.84
BET1.00/0.961.00/0.991.00/0.891.00/0.900.76/0.520.68/0.430.38/0.140.21/0.060.58/0.200.79/0.70
DiffusionPolicy-C1.00/0.981.00/0.971.00/0.961.00/0.961.00/0.930.97/0.820.94/0.820.68/0.460.50/0.300.95/0.91
DiffusionPolicy-T1.00/1.001.00/1.001.00/1.001.00/0.941.00/0.890.95/0.811.00/0.840.62/0.351.00/0.870.95/0.79

표 1 — 상태 입력 정책의 행동 복제 벤치마크. 각 칸은 (최고 성능)/(마지막 체크포인트 10개 평균)이고, 시드 3개 × 초기 조건 50개(총 150번) 평균입니다.

방법Lift phLift mhCan phCan mhSquare phSquare mhTransport phTransport mhToolHang phPush-T ph
LSTM-GMM1.00/0.961.00/0.951.00/0.880.98/0.900.82/0.590.64/0.380.88/0.620.44/0.240.68/0.490.69/0.54
IBC0.94/0.730.39/0.050.08/0.010.00/0.000.03/0.000.00/0.000.00/0.000.00/0.000.00/0.000.75/0.64
DiffusionPolicy-C1.00/1.001.00/1.001.00/0.971.00/0.960.98/0.920.98/0.841.00/0.930.89/0.690.95/0.730.91/0.84
DiffusionPolicy-T1.00/1.001.00/0.991.00/0.981.00/0.981.00/0.900.94/0.800.98/0.810.73/0.500.76/0.470.78/0.66

표 2 — 영상 입력 정책의 행동 복제 벤치마크. 형식은 표 1과 같습니다.

LSTM-GMM은 Robomimic의 BC-RNN에 해당하며, 저자들의 재현 결과가 원 논문보다 조금 높았습니다. 영상 입력에서는 특히 Transport와 ToolHang처럼 복잡한 과제에서 차이가 큽니다. 부록 A.4에 따르면 표 2의 DiffusionPolicy-C Push-T 결과는 FiLM 대신 인페인팅으로 관측을 넣은 모델입니다. CNN 기반 구조에서 FiLM이 인페인팅보다 나빴던 과제는 Push-T 하나였습니다.

표 4 — 다단계 과제 장면

표 4 과제 장면 — Multimodal Block Pushing과 Franka Kitchen.

방법BlockPush p1BlockPush p2Kitchen p1Kitchen p2Kitchen p3Kitchen p4
LSTM-GMM0.030.011.000.900.740.34
IBC0.010.000.990.870.610.24
BET0.960.710.990.930.710.44
DiffusionPolicy-C0.360.111.001.001.000.99
DiffusionPolicy-T0.990.941.000.990.990.96

표 4 — 다단계 과제(상태 입력). BlockPush의 pxpx는 블록 xx개를 목표에 넣은 비율, Kitchen의 pxpx는 물체 xx개 이상과 상호작용한 비율입니다.

주요 결과

모든 과제와 변형, 상태 입력과 영상 입력 모두에서 Diffusion Policy가 기준선보다 높았고, 저자들이 보고한 평균 향상은 46.9%입니다. 부록 B.2의 계산 방식은 표 1·2·4의 과제별(mh 제외)로 기준선 최고값과 Diffusion Policy 두 변형의 최고값을 골라 (oursbaseline)/baseline(\text{ours}-\text{baseline})/\text{baseline}을 구하고 평균 내는 것이며, 결과를 0.46858로 적습니다. 표에 인쇄된 값에 같은 방식을 적용하면 최고 성능 값으로는 약 21.7%, 마지막 10개 평균 값으로는 약 39.7%가 나와 46.9%와 일치하는 조합을 찾지 못했습니다. 논문은 어느 값을 썼는지 적지 않습니다.

발견내용
짧은 구간의 여러 정답같은 직접 목표를 이루는 여러 방법. Push-T에서 왼쪽·오른쪽 접근을 같은 빈도로 선택 (그림 3)
긴 구간의 여러 정답하위 목표를 수행하는 순서가 제각각인 경우. BlockPush p2에서 32%, Kitchen p4에서 213% 향상
위치 제어 활용Diffusion Policy는 위치 제어에서, 기준선은 속도 제어에서 성능이 높음 (그림 4)
행동 실행 구간1보다 길면 일관성이 오르고 너무 길면 반응이 늦음. 대부분 과제에서 8걸음이 최적 (그림 5 왼쪽)
지연 강건성모의 지연 4걸음까지 최고 성능 유지 (그림 5 오른쪽)
학습 안정성최적 조절값이 과제 사이에서 대체로 같음

BlockPush p2의 32%는 BET 0.71에서 DiffusionPolicy-T 0.94로 오른 값과 맞습니다. Kitchen p4의 213%는 표 4에서 가장 높은 기준선인 BET 0.44와 DiffusionPolicy-C 0.99로 계산하면 약 125%라서 표와 일치하지 않고, 논문은 계산 기준을 밝히지 않아 두 값을 함께 적습니다.


9. 제거 실험

영상 인코더 비교

Robomimic Square(PH) 과제에서 CNN 기반 확산 정책으로 영상 인코더 구조 3개와 학습 방식 3개를 비교합니다. 사전학습은 ResNet에 ImageNet-21k, ViT-B/16에 CLIP을 썼습니다. 사전학습 인코더를 미세조정할 때는 정책 신경망보다 10배 낮은 학습률을 씁니다. 각 모델은 500 에폭 학습하고 50 에폭마다 초기 조건 50개로 평가합니다.

구조 (사전학습 데이터)처음부터 학습사전학습 고정사전학습 미세조정
ResNet-18 (in21)0.940.580.92
ResNet-34 (in21)0.920.400.94
ViT-base (CLIP)0.220.700.98

표 5 — 영상 인코더 비교.

ViT를 처음부터 학습하면 데이터가 적어 22%에 그쳤습니다. 사전학습 인코더를 고정하면 성능이 낮았는데, 저자들은 확산 정책이 일반적인 사전학습 방법이 주는 표현과 다른 영상 표현을 필요로 한다고 해석합니다. 사전학습 인코더를 작은 학습률로 미세조정하는 방식이 전체적으로 가장 좋았고, CLIP으로 학습한 ViT-B/16은 50 에폭만에 98%에 도달했습니다. 구조 사이의 최고 성능 차이는 이론상 용량 차이에 비해 크지 않았고, 저자들은 더 복잡한 과제에서는 차이가 커질 것으로 봅니다. 4편 CLIP과 3편 ViT의 인코더가 여기서 행동 정책의 입력 처리에 쓰입니다.

관측 구간

그림 14 — 관측 구간 제거 실험

그림 14 — 상태 입력 확산 정책은 관측 구간에 둔감하고, 영상 입력은 1보다 크되 짧은 구간을 선호합니다.

상태 입력 정책은 관측 구간을 바꿔도 성능 차이가 거의 없었습니다. 영상 입력 정책, 특히 CNN 구조는 관측 구간이 길어질수록 성능이 떨어졌습니다. 실제로는 상태와 영상 모두 관측 구간 2가 대부분 과제에 적절했습니다.

데이터 효율

그림 15 — 데이터 효율 제거 실험

그림 15 — 모든 학습 데이터 크기에서 Diffusion Policy가 LSTM-GMM보다 높습니다.


10. 실물 로봇 평가 — 한 팔 과제

실물 평가는 하드웨어 2종에서 과제 4개로 하고, 하드웨어마다 시연자가 다릅니다. 모든 과제에서 CNN 구조와 끝까지 학습한 영상 인코더를 쓴 Diffusion Policy가 가장 좋았습니다.

실물 Push-T

표 6 — 실물 Push-T 설정

표 6 그림 — (a) UR5 하드웨어 설정 (b) 블록을 목표에 넣고 말단장치를 종료 구역으로 옮기는 과제 (c) IoU 계산에 쓰는 정답 최종 상태.

실물 Push-T는 시뮬레이션보다 세 가지 이유로 어렵습니다.

  1. 과제가 두 단계입니다. T 블록을 목표에 넣은 다음, 카메라를 가리지 않도록 말단장치를 지정된 종료 구역으로 옮겨야 합니다.
  2. 종료 구역으로 가기 전에 T 블록이 목표 안에 완전히 들어갔는지 미세 조정해야 해서 짧은 구간의 여러 정답이 추가됩니다.
  3. IoU(겹침 비율) 지표를 전체 걸음 중 최대값이 아니라 마지막 걸음에서 잽니다. 성공 기준은 사람 시연 데이터에서 나온 가장 낮은 IoU입니다.

하드웨어는 UR5 로봇입니다. 정책이 10 Hz로 로봇 명령을 내면 125 Hz로 선형 보간해 실행합니다. 보간 제어기는 안전을 위해 말단장치 속도를 0.43 m/s 이하로, 위치를 탁자 위 1 cm 이상의 영역으로 제한합니다. RealSense D415 카메라 5대가 720p RGB를 30 fps로 기록하고, 정책 관측에는 그중 2대의 영상을 320×240, 10 fps로 줄여 씁니다. 시연자는 3Dconnexion SpaceMouse로 10 Hz 원격조작했습니다.

시연은 136개이고, 시작 조건은 T 블록을 탁자에 무작위로 밀거나 던져서 바꿨습니다. 시연자는 수집 전에 이 과제를 오랜 시간 연습한 숙련자입니다. 각 방법은 12시간 동안 학습하고 마지막 체크포인트로 평가하며, IBC만 학습 안정성 문제 때문에 학습 데이터 행동 예측 오차가 가장 낮은 체크포인트를 씁니다. 각 방법은 같은 시작 조건 20개로 평가하고, 에피소드는 말단장치가 종료 구역에 0.5초 넘게 머물거나 60초 제한에 닿으면 끝납니다.

지표사람 시연IBC 위치IBC 속도LSTM-GMM 위치LSTM-GMM 속도DP T-E2EDP ImgNetDP R3MDP E2E
IoU0.840.140.190.240.250.530.240.660.80
성공률1.000.000.000.200.100.650.150.800.95
소요 시간(초)20.356.341.647.351.757.555.831.722.9

표 6 — 실물 Push-T. DP는 Diffusion Policy, T-E2E는 끝까지 학습한 Transformer 기반, E2E는 끝까지 학습한 CNN 기반입니다.

그림 7 — 실물 Push-T 비교

그림 7 — 1–4열은 주요 순간의 행동 궤적, 마지막 열은 최종 상태 영상의 평균. A: DP(End2End) B: DP(R3M) C: LSTM-GMM D: IBC.

Diffusion Policy는 성공률 95%, 평균 IoU 0.8로 사람(0.84)에 가까웠고, 가장 좋은 IBC와 LSTM-GMM 변형은 성공률이 각각 0%와 20%였습니다. 기준선의 가장 흔한 실패는 두 단계 사이의 전환 구간에서 났습니다. 이 구간은 여러 정답이 많고 판단 경계가 모호합니다. LSTM-GMM은 평가 20번 중 8번 T 블록 근처에서 멈췄고(그림 7 C행), IBC는 20번 중 6번 블록을 너무 일찍 떠났습니다(D행). 과제 특성상 학습 데이터에서 멈춤 행동을 지우지 않았고, 이것도 LSTM-GMM과 IBC가 작은 행동에 과적합해 멈추는 원인이 됐습니다.

사전학습 인코더와 비교하면, R3M 인코더를 쓴 Diffusion Policy는 성공률 80%였지만 행동이 떨리고 끝까지 학습한 버전보다 자주 멈췄습니다(그림 7 B행). ImageNet 인코더는 행동이 급하게 튀고 성능도 낮았습니다. 영상 관측을 넣는 가장 효과적인 방법은 여전히 끝까지 학습하는 방식이었습니다.

그림 8 — 강건성 시험

그림 8 — 왼쪽: 카메라 앞 손 흔들기 중에도 동작 유지. 가운데: 밀린 블록을 즉시 바로잡음. 오른쪽: 종료 구역으로 가다가 블록이 밀리자 돌아가서 다시 맞춤.

표 6과 별도의 에피소드에서 세 가지 교란을 줬습니다.

  1. 앞쪽 카메라를 손으로 3초 동안 가렸습니다. 약간 떨렸지만 경로를 유지하고 블록을 목표에 넣었습니다.
  2. Diffusion Policy가 T 블록 위치를 미세 조정하는 도중에 블록을 옮겼습니다. 정책은 곧바로 반대 방향에서 밀도록 다시 계획했습니다.
  3. 첫 단계를 끝내고 종료 구역으로 가는 도중에 블록을 옮겼습니다. 정책은 경로를 바꿔 블록을 목표로 되돌린 뒤 다시 종료 구역으로 갔습니다. 이 동작은 시연에 없던 행동입니다.

머그 뒤집기

그림 9 — 6자유도 머그 뒤집기 과제

그림 9 — 무작위로 놓인 머그를 집어 입구가 아래로 가게 놓고, 손잡이가 왼쪽을 향하게 돌립니다.

머그 뒤집기는 복잡한 3차원 회전을 로봇 기구학 한계 가까이에서 다루는 능력을 시험합니다. 머그의 시작 자세에 따라 시연자는 머그를 바로 원하는 방향으로 놓기도 하고, 손잡이를 추가로 밀어 돌리기도 합니다. 그래서 시연 데이터에는 집기와 밀기, 정방향과 역방향 집기, 머그 축을 따라 도는 잡기 조정 같은 여러 정답이 섞여 있습니다.

사람LSTM-GMMDiffusion Policy
성공률1.00.00.9

그림 9 표 — 머그 뒤집기 성공률.

Diffusion Policy는 20번 중 90%를 성공했습니다. 시연에 없던 동작이지만 필요할 때 손잡이를 여러 번 밀어 맞추거나 떨어뜨린 머그를 다시 잡았습니다. 같은 데이터의 일부로 학습한 LSTM-GMM은 분포 안의 시작 조건 20개에서 머그에 제대로 다가가지 못하고 모든 시행에서 집기에 실패했습니다.

소스 붓기와 펴 바르기

그림 10 — 실물 소스 조작

그림 10 — 왼쪽: 국자로 소스를 떠서 피자 도우 중앙에 붓는 6자유도 과제. 오른쪽: 숟가락으로 소스를 나선형으로 펴 바르는 주기 과제.

두 과제는 강체가 아닌 물체, 6자유도 행동 공간, 주기 동작을 다루는 능력을 시험합니다. 하드웨어는 Franka Panda입니다. 붓기의 지표는 부은 소스 영역과 도우 중앙의 기준 원 사이 IoU이고, 펴 바르기의 지표는 소스 덮임 비율입니다. 평가마다 도우와 소스 그릇 위치를 무작위로 바꾸고, 성공 기준은 사람 성능의 최소값입니다. 두 과제 모두 Push-T와 같은 조절값으로 학습했고 첫 시도에서 성공적인 정책을 얻었습니다.

붓기에서는 국자에 점성 있는 토마토 소스가 차도록 로봇이 한동안 멈춰 있어야 합니다. 이런 멈춤 행동은 행동 복제에서 어렵다고 알려져 흔히 데이터에서 걸러집니다. 펴 바르기는 요리사의 기법을 따라, 넓게 덮기 위한 긴 주기 동작과 덩어리로 떨어지는 소스를 고르게 펴기 위한 짧은 되먹임이 함께 필요합니다. 두 과제 모두 정책이 국자나 숟가락을 들어 올려 스스로 종료해야 합니다.

방법붓기 IoU붓기 성공률펴 바르기 덮임펴 바르기 성공률
사람0.791.000.791.00
LSTM-GMM0.060.000.270.00
Diffusion Policy0.740.790.771.00

그림 10 표 — 소스 조작 결과.

Diffusion Policy는 두 과제 모두 사람에 가까웠고, 붓기와 펴 바르기 도중 손으로 도우를 옮기는 교란에도 대응했습니다. LSTM-GMM은 붓기 20번 중 15번 소스를 뜬 뒤 국자를 들어 올리지 못했고, 들어 올린 경우에도 중앙에서 벗어나게 부었으며, 모든 시행에서 스스로 종료하지 못했습니다. 펴 바르기에서는 20번 모두 시작 직후 숟가락을 들어 올려 소스에 닿지도 못했습니다. 저자들은 LSTM-GMM의 은닉 상태가 국자를 담그는 단계와 들어 올리는 단계를 구분할 만큼 긴 이력을 담지 못했다고 추정합니다.

소스 과제의 시연은 과제마다 50개를 모아 90%를 학습에 썼다고 부록 C.2에 적혀 있지만, 표 3은 두 과제의 시연 수를 90으로 적습니다. 논문은 두 값의 관계를 설명하지 않아 두 값을 모두 적습니다.


11. 실물 로봇 평가 — 양팔 과제

확장판은 양팔 과제 3개를 추가했습니다. 작업의 대부분은 여러 팔을 원격조작하고 제어하도록 로봇 소프트웨어를 확장하는 데 들었고, Diffusion Policy는 조절값 변경 없이 그대로 동작했습니다.

관측·행동 공간과 원격조작

항목구성
자기 상태 관측두 말단장치 자세와 두 집게 폭의 실제 값과 목표 값
영상 관측장면 카메라 2대 + 팔마다 손목 카메라 1대
행동두 말단장치의 목표 자세와 두 집게의 목표 폭

SpaceMouse 2개를 동시에 쓰는 원격조작은 시연자에게 어려워 두 방식을 새로 만들었습니다. 하나는 컨트롤러 2개가 달린 Meta Quest Pro VR 기기이고, 다른 하나는 Haption Virtuose 6D HF TAO 기기 2대와 Franka Panda 팔을 위치-위치 양방향 결합으로 연결한 힘 되먹임(haptic) 조종입니다.

양팔 달걀 거품기

그림 11 — 양팔 달걀 거품기 조작

그림 11 — 그릇 위치 조정, 오른팔로 거품기 집기, 그릇에 넣기, 손잡이 잡기, 손잡이 3번 이상 돌리기.

도구를 두 팔로 함께 쓰는 일상 과제에서도 원격조작에 힘 되먹임이 중요하다는 것을 보이려고 고른 과제입니다. 힘 되먹임 없이 숙련자가 시도한 시연 10번은 모두 실패했습니다. 5번은 로봇이 손잡이를 거품기에서 뽑아 버렸고, 3번은 손잡이를 놓쳤고, 2번은 토크 한계에 걸렸습니다. 같은 시연자가 힘 되먹임을 쓰면 10번 모두 쉽게 성공했고 시연도 더 빠르고 질이 좋았습니다.

Diffusion Policy는 시연 210개로 학습해 20번 중 55%를 성공했습니다. 주된 실패는 거품기의 시작 위치가 학습 분포 밖이었던 경우, 손잡이를 놓치거나 잡지 못한 경우였습니다.

양팔 매트 펴기

그림 12 — 양팔 매트 펴기

그림 12 — 한쪽 끝 집기, 들어 올려 펴기, 양쪽 끝 잡기, 들어 올리기, 탁자에 맞춰 놓기, 놓기.

풍부한 힘 되먹임이 필요 없어 VR로 원격조작했습니다. 시작 조건에 따라 왼쪽이나 오른쪽 어느 방향으로도 펼 수 있게 가르쳤습니다. 시연 162개로 학습해 20번 중 75%를 성공했습니다. 주된 실패는 처음 매트를 잡을 때 놓치고, 스스로 바로잡지 못한 채 같은 동작을 반복한 경우였습니다.

양팔 셔츠 개기

그림 13 — 양팔 셔츠 개기

그림 13 — 소매 잡아 접기 두 번, 셔츠 끌어오기, 옷깃을 잡아 반으로 접기, 가운데로 옮겨 펴기까지 최대 9단계.

반소매 티셔츠를 VR 원격조작으로 시연했습니다. 기구학과 작업 공간 제약 때문에 최대 9단계로 길고, 마지막 몇 단계에서는 두 집게가 서로 매우 가까워집니다. 그래서 중간 단계 제어기가 충돌 회피를 명시적으로 처리하는 것이 원격조작과 정책 실행 모두에서 중요했습니다. 시연 284개로 학습해 20번 중 75%를 성공했습니다. 주된 실패는 처음 접을 때 소매와 옷깃을 잡지 못한 경우와, 마지막에 셔츠 조정을 멈추지 못한 경우였습니다.

시작·최종 상태

초록 상자는 성공, 빨간 상자는 실패한 시행입니다. 매트와 셔츠는 매우 납작한 물체라 호모그래피 투영으로 위에서 내려다본 모습으로 바꿨습니다.

그림 16 — 매트 펴기 시작 상태

그림 16 — 매트 펴기 시작 상태.

그림 17 — 매트 펴기 최종 상태

그림 17 — 매트 펴기 최종 상태.

그림 18 — 달걀 거품기 시작 상태

그림 18 — 달걀 거품기 시작 상태.

그림 19 — 달걀 거품기 최종 상태

그림 19 — 달걀 거품기 최종 상태.

그림 20 — 셔츠 개기 시작 상태

그림 20 — 셔츠 개기 시작 상태.

그림 21 — 셔츠 개기 최종 상태

그림 21 — 셔츠 개기 최종 상태.

Franka 하드웨어의 제어 구성

구성 요소내용
정책·원격조작 주기10 Hz
정책 실행용 중간 단계 제어기이차 계획법(QP)으로 미분 기구학을 풀어 목표 말단장치 속도를 관절 속도로 변환, 적분한 관절 위치를 관절 제어기가 추종. 약 1 kHz. 두 팔·탁자 충돌 회피, 말단장치 안전 영역, 관절 한계를 제약으로 둠
힘 되먹임 원격조작용 제어기작업 공간 제어(Operational Space Control) 기반 순수 토크 제어기, 200 Hz. 충돌 회피는 아직 없음
카메라RealSense D415 RGBD 2대, VGA 30 fps → 정책 입력 320×240, 10 fps

추론에는 힘 되먹임이 아닌 제어기를 씁니다.


12. 구현 세부

행동 정규화

행동의 차원마다 최솟값과 최댓값을 따로 [1,1][-1, 1] 구간으로 맞추는 방식이 대부분 과제에서 잘 동작했습니다. DDPM은 안정성을 위해 매 반복마다 예측값을 [1,1][-1, 1]로 자르는데, 흔히 쓰는 평균 0·분산 1 정규화를 쓰면 원래 값의 일부가 이 구간 밖으로 나가 그 행동을 영영 생성할 수 없게 됩니다. 예를 들어 평균 0·표준편차 1로 맞춘 데이터에서 2.3에 해당하는 행동은 매번 1로 잘립니다. 분산이 매우 작은 차원(거의 상수)은 수치 문제를 피하려고 크기는 바꾸지 않고 평균만 0으로 옮깁니다. 쿼터니언 같은 회전 표현 차원은 정규화하지 않습니다.

회전 표현과 영상 증강

속도 제어 행동 공간에서는 Robomimic 관례대로 회전을 3차원 축-각도로 표현합니다. 속도 명령은 대개 0에 가까워 축-각도 표현의 특이점과 불연속이 문제가 되지 않습니다. 위치 제어 행동 공간을 쓰는 모든 환경에서는 Zhou et al.(2019)의 6차원 회전 표현을 씁니다. 학습 중에는 무작위 자르기로 영상을 증강하고, 추론할 때는 같은 크기로 가운데를 자릅니다.

학습 설정

시뮬레이션 벤치마크는 iDDPM 알고리즘으로 학습과 추론 모두 잡음 제거 100단계를 씁니다. 실물 벤치마크는 추론 지연을 줄이려고 DDIM으로 추론 단계를 16으로 줄였습니다. 배치 크기는 상태 입력 실험 256, 영상 입력 실험 64이고, 학습률은 선형 워밍업 후 코사인 일정이며 워밍업은 CNN 구조 500걸음, Transformer 구조 1000걸음입니다.

CNN 구조의 최적 조절값은 과제 사이에서 일정했고, 파라미터 수를 늘리면 항상 성능이 올라 모델 크기는 계산량과 메모리로 제한됐습니다. Transformer 구조는 주의 드롭아웃과 가중치 감쇠의 최적값이 과제마다 크게 달랐고, 크기(특히 층 수)를 늘리면 성능이 떨어지기도 했습니다. Block Push는 스크립트 정책이 마르코프 성질을 가진 시연을 만들기 때문에 관측·행동 구간의 최적값이 사람 시연 과제와 크게 달랐습니다.

과제제어ToT_oTaT_aTpT_p영상 해상도자르기 해상도확산 신경망(M)영상 인코더(M)추론 단계
Lift · Can · Square위치28162x84x842x76x7625622100
Transport위치28164x84x854x76x7626445100
ToolHang위치28162x240x2402x216x21625622100
Push-T위치28161x96x961x84x8425622100
Block Push위치3112N/AN/A2560100
Kitchen위치2816N/AN/A2560100
실물 Push-T위치26162x320x2402x288x216672216
실물 Pour · Spread · Mug Flip위치28162x320x2402x288x216672216

표 7 — CNN 기반 Diffusion Policy 조절값. 값이 모두 같은 과제는 한 줄로 묶었고, 전 과제 공통으로 학습률 1e-4, 가중치 감쇠 1e-6, 학습 확산 단계 100입니다.

과제제어ToT_oTaT_aTpT_p확산 신경망(M)영상 인코더(M)층 수임베딩 차원주의 드롭아웃가중치 감쇠추론 단계
Lift · Can · Square · ToolHang위치281092282560.31e-3100
Transport위치281094582560.31e-3100
Push-T위치281692282560.011e-1100
Block Push속도3159082560.31e-3100
Kitchen위치481680087680.11e-3100
실물 Push-T위치2616802287680.31e-316

표 8 — Transformer 기반 Diffusion Policy 조절값. 값이 모두 같은 과제는 한 줄로 묶었고, 전 과제 공통으로 학습률 1e-4, 학습 확산 단계 100입니다.

표 7의 Transport 영상 해상도 4x84x85는 다른 Robomimic 과제의 84x84, 같은 줄의 자르기 해상도 76x76과 맞지 않아 인쇄 오류로 보이지만, 논문에 설명이 없어 인쇄된 값을 그대로 둡니다. 표 7은 Block Push를 위치 제어로, 표 8은 속도 제어로 적습니다.


13. 논문 안의 번호 표기 오류

본문의 표·그림 번호 참조 가운데 실제 번호와 다른 곳은 다음과 같습니다. 이 글의 본문은 실제 번호를 따릅니다.

위치인쇄된 참조가리키는 대상
표 2 캡션, 5.2절, 5.3절, 부록 B.2"Tab 2 and Tab 2" 식의 중복표 1과 표 2
6.1절UR5 설정이 "Fig 6"에 있다고 적음표 6의 (a) 그림
부록 C.1.2IBC 학습 어려움이 "Fig. 7"에 있다고 적음그림 6
7.3–7.5절시작·최종 상태를 "19 and 19", "17 and 17", "21 and 21"로 적음그림 18·19, 16·17, 20·21
부록 D.2"네 가지 양팔 과제"의 시작·최종 상태실린 과제는 3개
6.3절붓기 결과를 "coverage 0.74 vs 0.79"로 적음그림 10 표에서 붓기 지표는 IoU

14. 저자가 밝힌 한계

첫째, 행동 복제의 한계를 그대로 가집니다. 시연 데이터가 충분하지 않으면 성능이 낮습니다. 저자들은 확산 정책을 강화 학습 같은 다른 틀에 적용해 최적이 아닌 데이터나 실패 데이터까지 활용하는 방향을 제시합니다.

둘째, LSTM-GMM 같은 단순한 방법보다 계산 비용과 추론 지연이 큽니다. 행동 묶음 예측이 이 문제를 일부 줄이지만, 매우 빠른 주기의 제어가 필요한 과제에는 부족할 수 있습니다. 새 잡음 스케줄, 추론 풀이기, 일관성 모델(consistency model) 같은 확산 모델 가속 기법으로 추론 단계를 줄이는 것이 후속 과제입니다.


15. 정리 — VLA 선행 연구에서의 위치

Diffusion Policy는 로봇 정책을 "관측을 넣으면 행동 하나를 계산하는 함수"에서 "관측을 조건으로 행동 묶음을 생성하는 확산 모델"로 바꿨습니다.

  • 확산 모델로 행동을 생성 해서 한 장면에 옳은 행동이 여럿인 시연 데이터를 평균 내지 않고 그중 하나를 골라 실행합니다.
  • 점수 함수를 학습 해서 에너지 기반 정책의 정규화 상수 추정을 피하고 학습을 안정시켰습니다.
  • 행동 16걸음을 생성하고 8걸음을 실행한 뒤 다시 생성 하는 방식으로 동작의 일관성과 반응성을 함께 얻었습니다.
  • 위치 제어, 끝까지 학습하는 영상 인코더, 관측 조건부 구조 가 실물 로봇에서 성능을 결정한 설계였습니다.

VLA와의 연결

항목Diffusion PolicyUMIπ0 (VLA 계보 5편)
행동 생성 방식DDPM 잡음 제거Diffusion Policy 그대로 사용flow matching
한 번에 내는 행동행동 묶음 (TpT_p걸음)행동 묶음행동 묶음
관측 처리ResNet-18 또는 사전학습 인코더 미세조정CLIP ViT 인코더 미세조정사전학습 시각-언어 모델
언어 지시없음없음있음

행동 묶음을 한 번에 예측하는 방식은 비슷한 시기에 발표된 13편 ACT에서도 action chunking이라는 이름으로 제안됐습니다. UMI는 Diffusion Policy를 정책으로 그대로 쓰면서 사람이 손에 든 집게로 모은 데이터를 학습했습니다. VLA 계보의 π0은 행동 묶음을 생성하는 구조를 시각-언어 모델 안으로 옮기고, 생성 방식을 DDPM에서 11편의 flow matching으로 바꿉니다. 이미지와 언어를 이해하는 부분은 사전학습된 시각-언어 모델이 맡고, 연속적인 행동 값을 만드는 부분은 확산이나 flow matching 같은 생성 모델이 맡는 구성이 이 논문 이후 VLA에서 자주 쓰입니다.

전체 목록은 VLA 선행 연구 목차에서 볼 수 있습니다.