오늘 끝나면
모방학습
- ✓모방학습의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 모방학습이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
사람의 시연을 보고 따라 배우기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
Physical AI · 15
모방
학습
보상을 잘 짜기 어려울 때는 사람 시연을 그냥 따라 배운다.
전문가가 한 행동을 지도학습으로 외우는 것이 행동 복제(BC)다.
단 시연에 없던 상황에 약하다. 한번 빗나가면 오차가 눈덩이로 불어난다.
보상 설계가 어려울 때
강화학습(RL)은 보상 함수가 있어야 굴러간다. 그런데 보상을 글로 정의하기가 의외로 지독하게 어렵다.
“컵을 자연스럽게 따라”를 숫자로 어떻게 적을까.
쏟으면 -10, 따르면 +1. 이렇게 짜면 에이전트가 허점을 파고든다. 컵 근처에서 안 쏟고 가만히 있는 식으로 점수만 챙긴다.
이런 것을 보상 해킹(reward hacking)이라 한다.
그래서 발상을 뒤집는다. 보상을 안 짜고 시연(demonstration)을 보여준다.
전문가가 직접 하는 모습을 데이터로 모아 “이렇게 하라”고 가르친다.
이것이 모방학습(imitation learning)이다.
로봇 팔을 사람이 손으로 잡아 움직여 주거나(kinesthetic teaching), 조이스틱으로 끌고 다니며 궤적을 녹화한다.
보상을 설계하는 대신 잘하는 모습을 보여주는 쪽으로 문제를 바꾸는 것이다.
보상을 짜는 대신 시연을 보여준다. 문제를 다른 모양으로 바꾸는 것이다.
행동 복제, 시연을 지도학습으로
모방학습의 가장 단순한 방법이 행동 복제(Behavior Cloning, BC)다.
시연을 “상태와 행동” 쌍으로 잘게 쪼갠다.
이 순간 카메라와 관절 각도가 상태(state)이고, 그때 전문가가 준 조향과 토크가 행동(action)이다.
상태가 입력, 행동이 정답 라벨인 평범한 지도학습 문제가 된다.
상태를 넣으면 전문가가 했을 행동을 뱉도록 신경망을 학습시킨다.
보상도, 시행착오도, 환경과의 상호작용도 없다. 그냥 라벨 맞히기다.
그래서 빠르고 안정적으로 학습된다. 자율주행 초창기 ALVINN(1989)부터 쓰던 고전 방식이다.
데이터만 충분하면 꽤 잘 따라 한다.
단 결정적 함정이 하나 있다. 시연이 다 가르쳐 주지 않은 상황이다.
보상도 시행착오도 없다. 그냥 지도학습이다. 그래서 빠르고 안정적이다.
시연 따라하기, 직접 굴려 보기
말로만 들으면 와닿지 않는다. 오른쪽에서 에이전트에게 시연을 따라 시켜 보면 함정이 바로 보인다.
점선이 전문가 시연 경로다. 에이전트는 매 스텝 자기 위치에서 가장 비슷한 시연 상태를 찾아 그때의 행동을 그대로 복제한다.
시연 시작점에서 출발시키면 굵은 선이 점선에 딱 붙어 따라간다. 잘 외운 구간만 밟기 때문이다.
이제 출발 위치를 완전 새 위치로 옮겨 본다.
시연에 없던 자리라 에이전트는 가장 가까운 행동을 골라 흉내 내지만 살짝 빗나간다.
빗나간 상태는 시연에서 더 멀어진 또 다른 새 상태다. 그래서 다음 행동은 더 빗나가고, 오차가 눈덩이처럼 불어난다.
아래 막대가 그 이탈량이다.
시작점이 시연에서 멀어질수록 경로가 흔들리고 무너진다. 이것이 다음 장의 핵심 약점이다.
시연 시작점 근처라 잘 외운 구간만 밟아 거의 그대로 따라간다.
분포 이동, 약점의 정체
행동 복제의 치명적 약점이 분포 이동(distribution shift)이다.
BC는 전문가가 지나간 상태만 본다. 전문가는 잘하니까 실수한 상태나 코스를 벗어난 상태는 데이터에 거의 없다.
그런데 에이전트는 완벽하지 않아 언젠가 살짝 빗나간다.
빗나간 그 상태는 시연에 없던 상태, 즉 학습 분포 밖(out-of-distribution)이다.
여기서 사슬이 시작된다.
본 적 없는 상태에서 엉뚱한 행동이 나오고, 그래서 더 낯선 상태로 들어가 더 엉뚱한 행동을 한다.
한 스텝의 작은 오차가 다음 스텝의 더 큰 오차를 부르며 누적된다. 이것을 복합 오차(compounding error)라 부른다.
해결책의 핵심은 회복 데이터다.
전문가가 일부러 벗어났다가 돌아오는 시연을 추가하거나, 에이전트를 굴려 본 뒤 그 상태마다 전문가에게 정답 행동을 물어 데이터에 더한다.
이 반복 라벨링이 DAgger다. 분포 이동을 메우는 표준 처방이다.
본 적 없는 상태에서 엉뚱한 행동이 나오고 더 낯선 상태로 들어간다. 복합 오차다.
RL과 결합, 따라 배운 뒤 스스로 갈고닦기
그래서 현실에서는 모방학습과 강화학습을 섞어 쓴다. 서로 약점을 메운다.
RL은 보상만 주면 시연 없이도 새 상황을 다룬다. 단 처음엔 마구잡이라 학습이 더디고 위험하다.
모방학습은 빠르게 그럴듯한 출발점을 준다. 단 시연 밖에 약하다.
그래서 BC로 정책을 먼저 띄워(부트스트랩) 합리적인 시작점을 만든 뒤, RL로 시연 너머까지 갈고닦는다.
이 흐름은 최신 로봇에도 그대로 살아 있다.
수많은 시연으로 VLA(Vision-Language-Action) 모델을 행동 복제로 사전학습하고 현장 데이터로 보강한다. 사람 시연이 여전히 출발점이다.
알파고도 프로 기보를 모방한 뒤 자기 대국(RL)으로 넘어선 같은 레시피였다.
Q. 모방학습(행동 복제)의 가장 큰 약점은?
시연에 없던 상황에서 무너진다. 분포 이동(distribution shift)이다.BC는 전문가가 지나간 상태만 배운다. 에이전트가 한 번 빗나가면 시연에 없던 새 상태로 들어간다.
본 적 없는 상태에서는 행동이 엉키고, 그 오차가 다음 상태를 더 낯설게 만들며 복합 오차로 누적된다.
그래서 회복 시연을 더하거나 DAgger로 그 상태마다 전문가 정답을 다시 받아 메운다.
VLA 사전학습도 알파고도 사람 모방으로 출발해 RL로 넘어선 같은 레시피다.