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

Diffusion Policy: diffusion을 로봇 action 생성에 적용한 방식

by 강렬한 스포트라이트 2026. 7. 2.

1. 논문 정보

  • 논문명: Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
  • 저자: Cheng Chi, Siyuan Feng, Yilun Du, Zhenjia Xu, Eric Cousineau, Benjamin C. M. Burchfiel, Shuran Song
  • 소속: Columbia University, Toyota Research Institute, MIT
  • 발표: Robotics: Science and Systems, RSS 2023
  • 확장 버전: IJRR 2024 버전에는 Russ Tedrake가 공저자로 포함됨
  • 분야: Robot Learning, Imitation Learning, Visuomotor Policy, Diffusion Model, Behavior Cloning
  • 키워드: Diffusion Policy, Action Diffusion, Visuomotor Control, Receding Horizon Control, DDPM, Behavior Cloning

2. 한 줄 요약

 

Diffusion Policy는 로봇 action을 직접 회귀해서 한 번에 출력하는 대신, 노이즈에서 시작해 여러 번 denoising하면서 미래 action sequence를 생성하는 방식으로 visuomotor policy를 학습하는 방법이다.

 

조금 더 풀어서 말하면, 기존 behavior cloning은 보통 다음과 같이 학습한다.

현재 이미지 관측
→ policy network
→ 다음 action 직접 출력

 

반면 Diffusion Policy는 다음과 같이 동작한다.

현재 이미지 관측
→ 랜덤 노이즈 action sequence 생성
→ 관측에 조건화하여 action sequence를 점진적으로 denoising
→ 미래 action trajectory 생성
→ 앞부분 action만 실행
→ 다시 관측하고 재계획

 

즉, 이미지 생성에서 diffusion model이 “노이즈 이미지 → 실제 이미지”를 생성하듯이, Diffusion Policy는 “노이즈 action sequence → 실행 가능한 로봇 action sequence”를 생성한다.

3. 왜 이 논문을 읽었는가?

이 논문은 diffusion model을 로봇 action generation에 본격적으로 적용한 대표적인 연구이다.

Diffusion model은 이미지 생성 분야에서 강력한 generative model로 사용되어 왔다. 그런데 이 논문은 생성 대상을 이미지가 아니라 로봇 행동으로 바꾼다. 즉, “로봇이 다음에 어떤 행동을 해야 하는가?”를 단순 regression 문제가 아니라 “가능한 action distribution에서 좋은 action trajectory를 생성하는 문제”로 본다.

로봇 조작에서는 같은 목표를 달성하는 행동이 여러 개 존재할 수 있다. 예를 들어 T자 블록을 밀 때 왼쪽에서 접근해도 되고, 오른쪽에서 접근해도 된다. 컵을 뒤집을 때도 잡아서 돌릴 수도 있고, 밀어서 정렬할 수도 있다. 이런 상황에서 평균적인 action을 예측하면 오히려 애매하고 실패하기 쉬운 행동이 나온다.

Diffusion Policy는 이런 multimodal action distribution을 자연스럽게 표현할 수 있다는 점에서 중요하다. 논문은 diffusion formulation이 multimodal action distribution을 다루고, high-dimensional action space에 적합하며, training stability가 좋다고 설명한다.

4. 기존 behavior cloning 방식의 한계

로봇 imitation learning, 특히 behavior cloning은 demonstration data에서 observation-action mapping을 학습한다. 가장 단순한 방식은 이미지나 state를 입력받아 다음 action을 supervised regression으로 예측하는 것이다.

문제는 로봇 action에는 다음과 같은 특성이 있다는 점이다.

첫째, action distribution이 multimodal하다. 같은 상태에서 여러 행동이 모두 정답일 수 있다. 예를 들어 물체를 왼쪽으로 돌아서 밀 수도 있고, 오른쪽으로 돌아서 밀 수도 있다. 이때 MSE 기반 regression은 여러 mode의 평균을 예측하기 쉬운데, 평균 action은 실제로는 아무 mode에도 속하지 않는 나쁜 행동이 될 수 있다.

둘째, action은 시간적으로 연결되어야 한다. 로봇은 한 step의 action만 잘 내는 것이 아니라, 여러 step에 걸쳐 일관된 trajectory를 만들어야 한다. 한 step마다 서로 다른 mode를 선택하면 행동이 흔들리거나 jitter가 생길 수 있다.

셋째, 고차원 action space가 어렵다. 6DoF end-effector pose, 양팔 로봇, 여러 step의 미래 action sequence를 한 번에 예측하려면 출력 차원이 커진다.

넷째, implicit policy나 energy-based policy는 multimodality를 표현할 수 있지만, negative sampling이나 energy optimization 때문에 학습과 inference가 불안정하거나 느려질 수 있다. Diffusion Policy 논문도 implicit policy가 multimodal distribution을 표현할 수 있지만, negative sample 기반 학습 때문에 instability가 생길 수 있다고 설명한다.

Diffusion Policy는 이 문제를 action space 위의 diffusion process로 해결하려 한다.

5. Diffusion Policy의 핵심 아이디어

핵심 아이디어는 다음과 같다.

로봇 policy를 “관측이 주어졌을 때 action sequence를 생성하는 conditional diffusion model”로 만든다.

일반적인 DDPM은 이미지에 노이즈를 추가하고, 모델이 그 노이즈를 제거하는 방법을 학습한다. Diffusion Policy는 이 구조를 이미지가 아니라 action sequence에 적용한다. 논문은 DDPM을 visuomotor policy로 사용하기 위해 출력 대상을 robot action으로 바꾸고, denoising process를 observation에 조건화한다고 설명한다.

학습 과정은 다음과 같이 이해할 수 있다.

먼저 demonstration data에서 실제 action sequence를 가져온다. 여기에 임의의 diffusion step에 해당하는 Gaussian noise를 섞는다. 모델은 noisy action sequence와 현재 observation을 입력받고, 섞인 noise를 예측하도록 학습한다.

즉, 모델이 직접 “정답 action”을 맞히는 것이 아니라, “이 noisy action에서 어떤 noise를 제거해야 expert action sequence가 되는가?”를 학습한다.

inference 시에는 반대로 진행된다.

처음에는 완전한 Gaussian noise로 이루어진 action sequence를 만든다. 그런 다음 현재 이미지 관측에 조건화하여 여러 번 denoising한다. 마지막에는 실행 가능한 action sequence가 생성된다.

이 방식의 장점은 action을 하나의 점으로 예측하지 않고, 가능한 action distribution 전체를 생성 모델로 다룰 수 있다는 점이다. 논문은 Diffusion Policy가 action distribution의 score function gradient를 학습하고, inference 때 stochastic Langevin dynamics step을 통해 action을 반복적으로 최적화한다고 설명한다.

6. 아키텍처 개요

 

Diffusion Policy의 전체 구조는 크게 세 부분으로 볼 수 있다.

첫째, visual encoder이다. 카메라 이미지나 여러 시점의 이미지를 latent representation으로 바꾼다. 논문에서는 vision encoder로 ResNet-18을 사용하고, spatial information을 보존하기 위해 global average pooling 대신 spatial softmax pooling을 사용하며, 안정적인 학습을 위해 BatchNorm 대신 GroupNorm을 사용했다고 설명한다.

둘째, noise prediction network이다. 이 네트워크는 noisy action sequence, diffusion timestep, observation feature를 입력받아 action sequence에 포함된 noise를 예측한다.

논문에서는 두 가지 backbone을 비교한다.

하나는 CNN-based Diffusion Policy이다. 1D temporal CNN을 사용해 action sequence의 시간적 구조를 처리하고, observation feature는 FiLM 방식으로 조건화한다. 논문은 CNN backbone이 대부분의 task에서 hyperparameter tuning 없이 잘 작동하지만, action이 빠르게 변하는 task에서는 temporal convolution의 low-frequency bias 때문에 성능이 떨어질 수 있다고 설명한다.

다른 하나는 Time-Series Diffusion Transformer이다. noisy action들을 token으로 보고 Transformer decoder block에 넣는다. observation embedding은 cross-attention을 통해 action token에 조건으로 제공된다. 이 구조는 빠르게 변하는 action sequence나 velocity control처럼 고주파 action 변화가 중요한 task에서 유리할 수 있다.

셋째, receding horizon control이다. Diffusion Policy는 미래 action sequence 전체를 예측하지만, 그중 일부 action만 실행한다. 이후 다시 새로운 observation을 받고, 다시 action sequence를 생성한다. 논문에서는 observation horizon, action prediction horizon, action execution horizon을 구분하며, 이 구조가 temporal consistency와 responsiveness 사이의 균형을 만든다고 설명한다.

정리하면 Diffusion Policy는 다음과 같이 동작한다.

 

현재 이미지 관측
→ visual encoder
→ observation feature
→ noisy action sequence와 함께 diffusion model에 입력
→ denoising 반복
→ 미래 action sequence 생성
→ 앞부분만 실행
→ 다시 관측하고 재계획

 

이 점에서 Diffusion Policy는 open-loop trajectory generator가 아니라 closed-loop visuomotor policy에 가깝다.

7. Receding Horizon Control이 중요한 이유

Diffusion Policy에서 특히 중요한 설계는 action sequence prediction과 receding horizon control을 결합한 부분이다.

로봇 action을 한 step씩 예측하면 반응성은 좋지만, 행동이 끊기거나 불안정해질 수 있다. 반대로 긴 trajectory를 한 번에 모두 실행하면 행동은 부드러울 수 있지만, 중간에 물체가 움직이거나 관측이 바뀌었을 때 대응하기 어렵다.

Diffusion Policy는 이 둘 사이의 절충안을 선택한다.

모델은 여러 step의 미래 action sequence를 예측한다. 하지만 실제로는 그중 앞쪽 몇 step만 실행한다. 그 다음 다시 관측하고 action sequence를 새로 생성한다. 이 방식은 MPC나 receding horizon control과 비슷하다.

논문은 action horizon이 1보다 크면 temporal consistency가 좋아지고 demonstration 안의 idle action에도 더 robust해지지만, 너무 길면 반응이 느려져 성능이 떨어진다고 분석한다. 실험에서는 많은 task에서 action horizon 8 step이 적절했다고 보고한다.

이 설계가 중요한 이유는 실제 로봇에서는 image processing, policy inference, network delay 등으로 latency가 발생하기 때문이다. 논문은 receding horizon position control이 이러한 latency gap을 완화하며, simulated latency 실험에서 최대 4 step latency까지 peak performance를 유지했다고 보고한다.

8. 실험 결과

Diffusion Policy는 4개 benchmark의 12개 task에서 평가되었다. 논문은 simulation과 real-world 환경을 모두 포함하며, 2DoF부터 6DoF action, single-task와 multi-task, rigid object와 fluid object를 포함한다고 설명한다. 평균적으로 기존 state-of-the-art 대비 46.9%의 success-rate improvement를 보였다고 보고한다.

Simulation benchmark에는 Robomimic의 Lift, Can, Square, Transport, ToolHang, Push-T, BlockPush, Franka Kitchen 등이 포함된다. 논문은 state observation과 image observation 모두에서 Diffusion Policy가 baseline보다 전반적으로 좋은 성능을 보였다고 보고한다.

특히 중요한 결과는 multimodality 처리 능력이다.

Push-T task에서는 같은 목표를 달성하기 위해 왼쪽 또는 오른쪽으로 접근하는 여러 행동 mode가 존재한다. Diffusion Policy는 두 mode를 모두 학습하고 rollout 안에서는 하나의 mode에 일관되게 commit하는 모습을 보였다. 반면 LSTM-GMM과 IBC는 한쪽 mode로 bias가 생기거나, BET는 하나의 mode에 안정적으로 commit하지 못하는 문제가 있었다고 논문은 설명한다.

Long-horizon multimodality에서도 효과가 나타났다. Block Push에서는 여러 블록을 어떤 순서로 밀지가 달라질 수 있고, Kitchen task에서는 여러 sub-goal의 순서가 달라질 수 있다. 논문은 Diffusion Policy가 Block Push p2 metric에서 32%, Kitchen p4 metric에서 213% improvement를 보였다고 보고한다.

Real-world 실험도 중요하다. 논문은 UR5와 Franka 두 로봇 플랫폼에서 Push-T, 6DoF mug flipping, 6DoF sauce pouring, periodic sauce spreading task를 평가했다.

Real-world Push-T에서는 Diffusion Policy가 95% success rate와 0.80 IoU를 기록했고, human demonstration은 100% success rate와 0.84 IoU를 기록했다. 반면 best-performing IBC와 LSTM-GMM variant는 각각 0%와 20% success rate에 그쳤다고 보고된다.

6DoF mug flipping에서는 Diffusion Policy가 20 trial에서 90% success rate를 보였고, LSTM-GMM은 같은 조건에서 grasp에 실패했다고 설명한다. Sauce pouring과 spreading에서는 Diffusion Policy가 pouring 79% success, spreading 100% success를 기록했다.

9. 로봇을 공부하는 입장에서 본 의미

이 논문에서 가장 중요한 관점은 “로봇 action도 생성 모델의 대상이 될 수 있다”는 점이다.

기존에는 policy를 observation에서 action으로 가는 함수로 보는 경우가 많았다. 즉, 이미지를 넣으면 action vector가 바로 나오는 구조이다. 하지만 Diffusion Policy는 action을 하나의 deterministic output이 아니라, 조건부 확률분포에서 샘플링되는 trajectory로 본다.

이 관점은 로봇 learning에서 매우 중요하다.

첫째, 사람의 demonstration은 본질적으로 multimodal하다. 같은 task를 사람마다 다른 방식으로 수행하고, 같은 사람도 상황에 따라 다른 행동을 한다. Diffusion Policy는 이 다양성을 평균내서 없애지 않고, distribution으로 표현한다.

둘째, action sequence를 한 번에 생성하기 때문에 temporal consistency가 좋아진다. 단일 action만 반복적으로 예측하면 매 step마다 다른 mode가 선택되어 행동이 흔들릴 수 있다. Diffusion Policy는 sequence 전체를 생성하므로 하나의 rollout 안에서 더 일관된 행동을 만들 수 있다.

셋째, high-dimensional action을 다루기 좋다. 6DoF pose나 여러 step trajectory처럼 출력 차원이 큰 문제는 일반적인 regression이나 implicit policy에서 어려울 수 있다. diffusion model은 원래 고차원 생성 문제에 강하기 때문에 action sequence 생성에도 잘 맞는다.

넷째, 실제 로봇 적용을 고려한 설계가 포함되어 있다. 단순히 diffusion을 action에 적용한 것이 아니라, receding horizon control, visual conditioning, inference acceleration, position control 선택 등 실제 real-time robot control에 필요한 요소들을 함께 다뤘다. 논문은 DDIM을 사용해 training denoising step과 inference denoising step 수를 분리하고, real-world 실험에서 100 training iteration과 10 inference iteration을 사용해 Nvidia 3080 GPU 기준 0.1초 inference latency를 달성했다고 설명한다.

따라서 Diffusion Policy는 “diffusion model을 로봇에 적용했다”는 것 이상으로, 로봇 policy의 출력 표현 자체를 바꾼 논문이라고 볼 수 있다.

10. 한계점

Diffusion Policy에도 한계는 있다.

첫째, behavior cloning의 한계를 그대로 가진다. Demonstration data가 부족하거나 suboptimal하면 policy 성능도 제한된다. 논문도 Diffusion Policy가 behavior cloning 기반 구현이기 때문에 inadequate demonstration data에 취약할 수 있다고 설명한다.

둘째, inference cost가 크다. Diffusion model은 여러 denoising step을 반복해야 하므로 LSTM-GMM 같은 단순한 policy보다 계산 비용과 latency가 높다. 논문은 action sequence prediction이 이 문제를 일부 완화하지만, high-rate control이 필요한 task에서는 충분하지 않을 수 있다고 언급한다.

셋째, 실시간 제어에서는 denoising step 수, action horizon, observation horizon, execution horizon 같은 hyperparameter 선택이 중요하다. 너무 짧은 horizon은 consistency를 해치고, 너무 긴 horizon은 반응성을 떨어뜨린다.

넷째, diffusion policy가 항상 transformer보다 좋은지, CNN보다 좋은지는 task에 따라 다르다. 논문은 CNN-based backbone이 대부분의 task에서 안정적으로 잘 작동하지만, action이 빠르게 바뀌는 복잡한 task에서는 Time-Series Diffusion Transformer가 유리할 수 있다고 설명한다. 다만 transformer는 hyperparameter에 더 민감하다고 보고한다.

다섯째, 이 논문은 강력한 single-task 또는 benchmark-level 결과를 보여주지만, 대규모 언어 지시를 이해하거나 open-world task를 수행하는 generalist robot foundation model 자체를 제안한 것은 아니다. 즉, VIMA나 RT 계열 연구가 “task specification”이나 “web-scale knowledge transfer”에 초점을 둔다면, Diffusion Policy는 “action generation representation”에 초점을 둔 연구라고 보는 것이 더 정확하다.

 

결론적으로 Diffusion Policy는 로봇 action을 단순히 회귀하는 대신 diffusion process로 생성함으로써, multimodal action, temporal consistency, high-dimensional action sequence 문제를 효과적으로 다룬 논문이다. 이후 많은 로봇 imitation learning 연구에서 diffusion-based policy가 강력한 baseline이 된 이유를 이해하려면 반드시 짚고 넘어가야 하는 논문이다.

 

논문 링크

[2303.04137] Diffusion Policy: Visuomotor Policy Learning via Action Diffusion

반응형
SMALL