Behavior Cloning(행동 복제 학습) 완벽 가이드: 로봇이 시연을 보고 배우는 방법

로봇이나 자율주행 시스템이 사람의 행동을 그대로 따라 하며 똑똑해진다면 어떨까요? Behavior Cloning(행동 복제 학습)은 바로 이런 직관적인 아이디어에서 출발한 학습 방법이에요. 강화학습처럼 수많은 시행착오 없이도, 전문가의 시연 데이터를 그대로 흉내 내어 빠르게 정책(policy)을 만들어 낼 수 있는 가장 단순하면서도 강력한 모방학습(Imitation Learning) 기법이지요. 이 글에서는 Behavior Cloning의 원리부터 한계, 그리고 최신 로봇 연구에서 어떻게 활용되는지 차근차근 살펴봐요.

Behavior Cloning이란 무엇일까요?

Behavior Cloning(이하 BC)은 전문가가 수행한 (상태, 행동) 쌍 데이터를 모아 지도학습(supervised learning) 방식으로 정책을 학습시키는 기법이에요. 입력은 카메라 이미지, 관절 각도, 힘 센서값 같은 관찰(observation)이고, 출력은 그 상황에서 전문가가 취한 행동(action)이지요. 모델은 단순히 “이 상황에서 전문가는 어떻게 움직였는가?”를 회귀(regression) 또는 분류(classification) 문제로 풀어내는 거예요.

왜 단순한데 강력할까요?

강화학습(RL)은 보상 함수를 설계하고 수억 번의 시뮬레이션을 돌려야 안정적인 정책을 얻을 수 있어요. 반면 BC는 적당한 양의 시연 데이터만 있으면 단 몇 시간 만에 동작하는 정책을 만들 수 있어요. 보상 함수를 정의하기 어려운 복잡한 매니퓰레이션 작업, 가령 옷 개기나 식기 정리처럼 명확한 성공 지표가 없는 일에 특히 유리해요.

지도학습과 무엇이 다를까요?

일반 지도학습은 i.i.d. 가정(데이터가 독립적이고 동일 분포)을 깔고 가지만, 로봇 정책은 매 순간의 행동이 다음 상태에 영향을 미쳐요. 즉 순차적 의사결정(sequential decision making) 문제라는 점에서 본질적으로 다르고, 이 차이가 뒤에서 다룰 분포 이동(distribution shift) 문제의 출발점이 돼요.

로봇 팔과 디스플레이로 시연되는 행동 복제 학습 개념도
Photo by Alex Knight on Unsplash

Behavior Cloning의 수학적 정의와 학습 과정

BC의 목표는 전문가 분포 π_E(a|s)를 흉내 내는 정책 π_θ(a|s)를 찾는 것이에요. 학습은 다음과 같은 손실 함수를 최소화하는 방식으로 진행돼요.

핵심 손실 함수

  • 연속 행동(continuous action): 평균제곱오차(MSE) 또는 가우시안 음의 로그우도(NLL)를 최소화해요.
  • 이산 행동(discrete action): 크로스 엔트로피 손실을 사용해요.
  • 다중 모달 행동(multimodal action): 단일 가우시안으로는 표현이 어려워 가우시안 혼합 모델(GMM), 디퓨전(diffusion), 또는 트랜스포머 기반 토큰화 정책이 쓰여요.

일반적인 학습 파이프라인

  1. 전문가(사람·기존 컨트롤러·다른 정책)가 작업을 수행하며 (관찰, 행동) 시퀀스를 기록해요.
  2. 데이터를 셔플하고 미니배치로 나눠 신경망 입력으로 사용해요.
  3. 관찰을 인코더(CNN, ViT 등)에 통과시켜 표현 벡터를 추출해요.
  4. 정책 헤드가 행동 분포 또는 행동 시퀀스를 출력해요.
  5. 검증 손실이 수렴할 때까지 반복 학습해요.

데이터 수집 방식

최근에는 키네스세틱 티칭(직접 로봇 팔을 잡고 가르치기), VR 기반 텔레오퍼레이션, 마스터-슬레이브 햅틱 장치 등이 활발히 쓰여요. 특히 ALOHA, Mobile ALOHA, GELLO 같은 저가형 텔레오퍼레이션 시스템이 등장하면서 양손 매니퓰레이션 데이터 수집 비용이 크게 낮아졌어요.

Behavior Cloning의 결정적 약점: 공변량 이동

BC를 처음 써 보면 시연 데이터에서는 잘 동작하다가 실제 배포할 때 갑자기 무너지는 경험을 하게 돼요. 이 문제의 정체가 바로 공변량 이동(covariate shift) 또는 분포 이동(distribution shift)이에요.

왜 분포 이동이 생길까요?

학습 시 정책은 항상 전문가가 만든 상태 분포 안에서만 행동을 봐요. 그런데 실제 실행 시 정책이 조금만 실수해도 데이터 분포에서 벗어난 새로운 상태를 마주치고, 거기서는 무엇을 해야 할지 배운 적이 없어 더 큰 실수를 해요. 오류가 시간이 갈수록 누적되어 결국 작업 실패로 이어지는 거예요. 이를 이론적으로는 호라이즌 T에 대해 O(T²) 수준의 후회(regret) 증가로 분석해요.

대표적 완화 기법들

  • DAgger(Dataset Aggregation): 학습된 정책을 실제로 굴리면서 전문가가 그 상태에 대한 정답 행동을 보강해 데이터셋을 키워 가는 온라인 방식이에요.
  • 노이즈 주입 시연(Noisy Demonstrations): 전문가가 일부러 실수와 복구를 보여 줘 정책이 회복 행동을 배울 수 있게 해요.
  • 액션 청킹(Action Chunking): 한 번에 여러 시간 스텝의 행동을 묶어 예측해 누적 오류를 줄여요. ACT가 대표 사례예요.
  • 디퓨전 정책(Diffusion Policy): 다중 모달 행동을 자연스럽게 표현해 분포 외 상황에서도 부드러운 거동을 보여요.

최신 로봇 연구에서의 Behavior Cloning

2023~2025년을 거치며 BC는 단순 베이스라인을 넘어 대규모 로봇 파운데이션 모델의 핵심 학습 신호로 자리 잡았어요. 구글 RT-1, RT-2, Octo, OpenVLA, π0 같은 모델들이 모두 본질적으로는 대규모 BC를 변형·확장한 구조예요.

대규모 다중 작업 BC

구글 딥마인드의 RT-1은 13만 건이 넘는 시연을 모아 단일 트랜스포머 정책을 학습했고, RT-2는 여기에 비전-언어 모델(VLM)을 결합해 자연어 명령에서 직접 행동을 디코딩해요. Open X-Embodiment 프로젝트는 22개 로봇 플랫폼의 약 100만 건 시연을 통합해 BC의 범용성을 한 단계 끌어올렸어요.

액션 청킹 트랜스포머(ACT)

ALOHA 프로젝트에서 제안된 ACT는 매 스텝마다 행동을 출력하는 대신 약 100스텝의 행동 청크를 한 번에 예측해요. 이렇게 하면 분포 이동에 의한 작은 오류가 즉시 다음 입력으로 들어가는 악순환을 끊고, 다중 모달 시연도 CVAE 기반으로 흡수할 수 있어요.

휴먼 데이터와 시뮬레이션 데이터의 결합

최근에는 사람의 비디오에서 추출한 잠재 행동(latent action), 시뮬레이션에서 생성한 합성 시연, 실제 로봇 텔레오퍼레이션 데이터를 모두 섞어 BC를 돌리는 흐름이 강해지고 있어요. NVIDIA GR00T, 1X World Model 등이 이 방향을 적극 추구하고 있지요.

Behavior Cloning을 잘 쓰려면 기억해야 할 것들

BC는 진입 장벽이 낮지만, 실전에서 안정적으로 동작시키려면 몇 가지 실용적인 노하우가 필요해요.

데이터 품질이 모델 품질을 결정해요

BC는 결국 데이터가 전부예요. 시연자가 일관된 전략으로 작업했는지, 카메라 시점·조명·물체 배치의 다양성이 충분한지, 실패 회복 데이터가 포함됐는지가 성능을 좌우해요. 같은 작업을 같은 방식으로 수백 번 반복하기보다는, 다양한 초기 조건과 약간의 노이즈가 섞인 시연이 일반화에 훨씬 유리해요.

관찰 인코더와 정책 헤드의 분리

최근 트렌드는 사전학습된 시각 표현(R3M, VC-1, DINOv2 등)을 인코더로 가져오고, 그 위에 비교적 가벼운 정책 헤드(Transformer, Diffusion, MLP)를 얹는 거예요. 이렇게 하면 시연 데이터가 적어도 일반화가 잘 되고, 멀티태스크 확장도 쉬워져요.

평가와 안전

BC 정책은 학습 손실이 낮다고 해서 실제 작업 성공률이 높은 건 아니에요. 반드시 실제 로봇에서 다양한 시드와 초기 조건으로 롤아웃 평가를 해야 하고, 위험한 상태에서는 안전 컨트롤러로 폴백하는 안전망을 설계해 두어야 해요.

마무리: BC는 시작점, 그러나 충분히 강력한 시작점

Behavior Cloning은 모방학습의 가장 기초적인 형태이지만, 동시에 현대 로봇 파운데이션 모델의 가장 단단한 토대이기도 해요. 분포 이동이라는 본질적 약점을 안고 있음에도, 대규모 데이터와 액션 청킹·디퓨전 같은 정교한 표현이 더해지면서 실제 매니퓰레이션 작업에서 놀라운 성과를 보여 주고 있어요. 만약 여러분이 Physical AI나 로봇 학습을 막 시작했다면, BC부터 차근차근 구현해 보는 것이 가장 빠른 학습 경로가 될 거예요. 더 깊이 공부하고 싶다면 위키백과 Imitation Learning 항목이나 DAgger 원논문을 함께 읽어 보시기를 권해요.