최근 몇 년 사이에 로봇이 사람의 시연을 보고 손동작이나 이동 경로를 따라 배우는 모습은 점점 자연스러워지고 있어요. 그 한가운데 자리 잡은 핵심 기술이 바로 Diffusion Policy 로봇 학습 알고리즘이에요. 이 글에서는 디퓨전 정책이 무엇이며 기존의 행동 복제(Behavior Cloning)와 어떻게 다른지, 그리고 실제 로봇 매니퓰레이션에서 왜 강력한 성능을 보이는지를 차근차근 살펴봐요. 처음 접하시는 분도 따라올 수 있도록 수식보다는 흐름과 직관 위주로 정리했어요.
Diffusion Policy 알고리즘이란 무엇인가요
Diffusion Policy는 2023년 콜롬비아대학교와 토요타 리서치 인스티튜트(TRI), MIT 연구진이 발표한 시각 기반 모방 학습 프레임워크예요. 한마디로 정리하면 이미지 생성에 쓰이던 디퓨전 모델을 로봇의 행동(action) 생성에 옮겨 온 것이라고 할 수 있어요. 입력은 카메라 이미지·관절 상태 같은 관측치이고, 출력은 앞으로 일정 시간(예: 0.5초~1초) 동안의 행동 시퀀스예요. 단일 시점의 액션을 예측하는 대신 액션의 분포를 학습한다는 점이 가장 큰 차별점이에요.

왜 디퓨전 모델을 행동 학습에 도입했을까요
로봇 시연 데이터를 모아 학습하다 보면 동일한 상황에서도 사람이 매번 조금씩 다른 경로로 움직인다는 사실을 마주해요. 예를 들어 컵을 잡을 때 어떤 사람은 위에서, 어떤 사람은 옆에서 접근해요. 이런 다중 모드(multimodal) 분포를 평균값 회귀로 학습하면 양 경로의 중간을 향해 어색하게 움직이거나 충돌하는 결과가 나오기 쉽죠. 디퓨전 모델은 이미지를 생성할 때 여러 그럴듯한 결과를 모두 표현할 수 있는 강력한 분포 모델링 능력을 갖추고 있어요. 그래서 모방 학습의 다중 모드 문제와 궁합이 잘 맞아요.
이미지 생성과 어떻게 연결되나요
디퓨전 모델은 데이터를 점진적으로 노이즈로 망가뜨린 뒤, 그 과정을 역으로 거슬러 올라가며 깨끗한 데이터를 복원하도록 학습돼요. Diffusion Policy도 동일한 원리를 적용해요. 학습 시에는 정답 액션 시퀀스에 가우시안 노이즈를 단계적으로 더한 뒤, 신경망이 그 노이즈를 예측하도록 훈련해요. 추론 시에는 무작위 노이즈에서 출발해 관측치를 조건으로 노이즈를 단계적으로 제거하며 자연스러운 행동 시퀀스를 만들어내요.
Diffusion Policy의 핵심 구조와 입력·출력
Diffusion Policy의 구조는 크게 세 가지 축으로 이루어져 있어요. 관측 인코더, 시간 단계 임베딩, 그리고 노이즈 예측 네트워크예요. 관측 인코더는 이미지(보통 ResNet-18을 GroupNorm으로 수정해서 사용해요)와 로봇 상태를 임베딩하고, 이 정보를 조건으로 노이즈 제거 네트워크에 주입해요. 노이즈 제거 네트워크는 두 가지 변형이 자주 사용돼요. 1D 컨볼루션 기반 U-Net은 매니퓰레이션처럼 부드러운 경로 생성에 강하고, Transformer 기반 변형은 짧고 정밀한 액션이 많은 과제에 적합해요.
관측 호라이즌과 액션 호라이즌
이 알고리즘에서 자주 등장하는 용어가 관측 호라이즌(To)과 액션 호라이즌(Ta)이에요. 관측 호라이즌은 모델이 동시에 보는 과거 관측의 길이, 액션 호라이즌은 한 번에 예측하는 미래 행동의 길이예요. 예를 들어 To=2, 예측 호라이즌 Tp=16, 실제 실행 Ta=8이라면 카메라로 두 프레임을 보고 16스텝 분량의 행동을 생성하지만, 그중 앞부분 8스텝만 실행한 뒤 다시 새로 관측을 받아 재계획해요. 이 Receding Horizon Control 방식은 예측의 일관성과 반응성의 균형을 맞춰 줘요.
조건부 제너레이션의 역할
이미지 디퓨전이 텍스트 프롬프트를 조건으로 받아 그림을 그리듯, Diffusion Policy는 관측 임베딩을 조건으로 받아 행동을 그려요. 조건은 보통 FiLM(Feature-wise Linear Modulation) 레이어나 크로스 어텐션을 통해 디노이저에 주입되며, 시간 단계 t는 사인-코사인 임베딩으로 함께 들어가요. 덕분에 같은 시각 입력이라도 진행 단계에 따라 자연스럽게 행동이 변형돼요.
기존 모방 학습 알고리즘과의 비교
로봇 모방 학습의 전통적인 접근에는 LSTM-GMM 기반 행동 복제, IBC(Implicit Behavior Cloning), BC-RNN 등이 있어요. Diffusion Policy 논문에서는 이러한 베이스라인 대비 평균 약 46.9%의 성공률 향상을 보고했어요. 단순 수치만이 아니라 학습 안정성과 다중 모드 표현 능력이라는 두 측면에서 의미 있는 차이를 보여줘요.
다중 모드와 부드러운 경로
BC-RNN처럼 행동을 가우시안 평균으로 회귀하는 방식은 한 가지 평균 경로만 만들어내기 쉬워요. IBC는 에너지 기반 모델로 다중 모드를 다루지만 학습이 불안정하기로 유명해요. Diffusion Policy는 디퓨전 손실(MSE 형태) 덕분에 학습이 비교적 안정적이고, 동시에 다양한 모드를 표현할 수 있어 같은 시연 데이터에서도 풍부한 행동 분포를 끌어내요.
고차원 액션 공간 대응
양손 매니퓰레이션이나 멀티핑거 그리퍼처럼 액션 차원이 14, 20을 훌쩍 넘는 경우 기존 방식은 차원 저주(curse of dimensionality) 때문에 성능이 급격히 떨어져요. 디퓨전 모델은 본래 고해상도 이미지 같은 고차원 공간에서 잘 작동하도록 설계됐기 때문에, 양손 휴머노이드의 다관절 제어 같은 복잡한 시나리오에서도 일관된 성능을 보여요. 실제로 ALOHA 양손 시스템 같은 플랫폼에서 표준 베이스라인으로 자리 잡았어요.
실제 로봇과 시뮬레이션 적용 사례
Diffusion Policy는 발표 이후 학계뿐 아니라 산업 현장에서도 빠르게 채택되고 있어요. Toyota Research Institute는 디퓨전 정책을 ‘Large Behavior Models’의 핵심 빌딩 블록 중 하나로 삼아, 식기 정리·요리 보조처럼 비정형적 일상 작업을 학습시키는 연구를 공개했어요. Stanford ALOHA 팀, Mobile ALOHA 프로젝트 역시 디퓨전 정책 변형을 활용해 실생활에서 옷 개기, 음식 조리 같은 작업을 성공적으로 시연했고요. 시뮬레이션에서는 RoboMimic, PushT, Square Assembly 같은 표준 벤치마크에서 강력한 성능을 보여줘요.
Hugging Face LeRobot과 오픈소스 생태계
현재 가장 접근하기 좋은 구현은 Hugging Face LeRobot이에요. PyTorch 기반으로 Diffusion Policy, ACT, TD-MPC 같은 알고리즘을 한 인터페이스에 모아 두었고, 학습 데이터와 사전학습 가중치를 함께 제공해요. 또 원저자들이 공개한 GitHub 저장소(columbia-ai-robotics/diffusion_policy)에는 시뮬레이션 환경 셋업과 Push-T 데모 등이 포함돼 있어 입문자가 따라 해 보기에 적합해요.
VLA·파운데이션 모델과의 결합
최근 흐름은 디퓨전 정책을 단독으로 쓰기보다 비전-언어-액션(VLA) 파운데이션 모델 안에 디코더로 결합하는 방향이에요. 예를 들어 Physical Intelligence의 π0 모델, Octo, RDT-1B 같은 모델은 트랜스포머 백본 위에 디퓨전 액션 헤드를 얹어 자연어 명령으로부터 다관절 행동을 생성해요. 이 구조는 다양한 로봇 본체와 작업으로 일반화하는 능력을 키워 주고, 적은 양의 미세조정만으로도 새로운 과제에 적응할 수 있게 만들어요.
한계와 개선 방향
강력한 알고리즘이지만 만능은 아니에요. 첫째, 추론 비용이 큰 편이에요. 일반적인 DDPM 샘플링은 50~100단계가 필요해, 100Hz 같은 고주파 제어가 요구되는 시나리오에서는 부담이 돼요. 이를 해결하기 위해 DDIM, Consistency Model, Flow Matching처럼 단계 수를 줄이는 변형이 활발히 연구되고 있고, 일부는 1~4스텝만으로도 비슷한 성능을 보여줘요.
데이터 다양성과 분포 외 일반화
둘째, 디퓨전 정책도 결국 모방 학습이라는 점을 잊으면 안 돼요. 시연 데이터에서 본 적 없는 환경 변화, 예컨대 처음 보는 조명·물체 색상·배치에는 여전히 취약해요. 이 한계를 보완하기 위해 도메인 무작위화, 합성 데이터 증강, 시뮬레이션-실제 전이 기법(Sim-to-Real)이 함께 사용돼요. 또 강화학습으로 사후 미세조정해 안전성과 강건성을 끌어올리는 시도도 늘어나고 있어요.
안전성과 실시간 제어
셋째, 생성 모델 특유의 불확실성이 안전 위험으로 이어질 수 있어요. 가끔 환경에 충돌하거나 제어 한계를 벗어나는 행동이 샘플링될 수 있는데요. 이를 막기 위해 모델 위에 안전 필터, 제약 기반 제어기(예: Control Barrier Functions, MPC 후처리)를 씌우는 하이브리드 구조가 자주 사용돼요. 이러한 결합은 실험실 데모를 넘어 실제 현장 배포로 이어지는 다리 역할을 해요.
입문자가 시작할 수 있는 학습 로드맵
Diffusion Policy를 직접 다뤄 보고 싶다면 단계별로 접근하는 것이 좋아요. 우선 디퓨전 모델의 기본 원리를 이해하기 위해 DDPM과 Score-based 모델 강의를 한 번 훑어 두면 도움이 돼요. 이후 PyTorch로 Push-T 환경을 띄우고 LeRobot의 예제를 돌려 보면, 데이터셋 구조부터 학습 루프, 평가 지표까지 자연스럽게 익힐 수 있어요. 로컬 GPU가 부담스럽다면 Colab Pro나 Hugging Face Spaces의 GPU 워크스테이션도 좋은 선택이에요.
추천 자료와 커뮤니티
- 원논문: Cheng Chi 외, “Diffusion Policy: Visuomotor Policy Learning via Action Diffusion” (RSS 2023)
- 오픈소스 구현: Hugging Face LeRobot
- 위키 개괄: Diffusion model (Wikipedia)
- 커뮤니티: LeRobot Discord, ROS Discourse의 Learning 카테고리
실험 시 자주 마주치는 함정
- 액션 정규화 누락으로 학습이 발산하는 사례가 많아요. min-max 또는 unit-Gaussian 정규화를 적용해 주세요.
- 시뮬레이션과 실제 로봇의 카메라 인트린식·노출이 달라 분포가 어긋나는 경우가 흔해요. 색상·노출 증강을 적극 사용하세요.
- 액션 호라이즌이 길수록 부드럽지만 반응이 느려져요. 과제 특성에 맞춰 Tp/Ta 값을 튜닝해야 해요.
마무리하며
Diffusion Policy 로봇 학습 알고리즘은 단순한 트렌드를 넘어, 모방 학습이 다룰 수 있는 행동 표현의 폭을 한 단계 넓힌 방법론이에요. 이미지 생성 분야에서 검증된 디퓨전의 강력한 분포 모델링 능력이 로봇이라는 물리 세계와 만나면서, 더 자연스럽고 다양한 행동을 만들어 낼 수 있게 됐어요. 앞으로는 추론 가속, 강화학습과의 결합, 파운데이션 모델로의 통합이라는 세 갈래가 빠르게 발전할 거예요. 이 글이 첫걸음을 떼는 분께 든든한 안내서가 되었기를 바라요.