Skip to main content
Summary

손으로 짜기 어려운 행동을 어떻게 가르칠까

앞선 장들에서 우리는 카메라로 물체를 찾고, 3D 위치를 계산하고, 로봇팔의 목표 자세를 만들고, Pick and Place를 실행하는 흐름을 만들었다. 이 방식은 매우 중요하다. 로봇 시스템을 이해하려면 인식, 좌표 변환, 경로 계획, 그리퍼 제어가 어떻게 연결되는지 반드시 알아야 한다.

그런데 실제 작업은 점점 더 복잡해진다. 책상 위의 컵을 집는 것과 찬장 안의 컵을 꺼내는 것은 다르다. 단단한 블록을 집는 것과 흐물거리는 천을 집는 것도 다르다. 같은 컵이라도 손잡이가 있는 컵, 미끄러운 컵, 종이컵, 안에 물이 담긴 컵은 모두 다르게 다뤄야 한다.

모든 상황을 규칙으로 직접 작성하려고 하면 금방 벽에 부딪힌다.

"물체 중심으로 접근한다."

이 규칙은 단순한 상자에는 잘 동작할 수 있다. 하지만 컵의 손잡이가 옆으로 나와 있거나, 물체가 비스듬히 놓여 있거나, 다른 물체와 붙어 있으면 어떨까? 그때마다 예외 규칙을 추가하다 보면 로봇 코드는 점점 복잡해지고, 한 곳을 고치면 다른 곳이 망가지는 일이 생긴다.

사람은 이런 작업을 훨씬 자연스럽게 한다. 컵을 집을 때 우리는 머릿속으로 수십 개의 수식을 풀지 않는다. 컵의 모양을 보고, 손을 어디로 넣을지 정하고, 살짝 잡아 보고, 미끄러지면 힘을 조절한다. 많은 행동은 명시적인 규칙보다 경험과 예시를 통해 배운다.

모방학습은 바로 이 지점에서 출발한다. 사람이 먼저 작업을 보여 주고, 로봇은 그 시연을 데이터로 삼아 행동하는 법을 배운다.

모방학습이란 무엇인가

모방학습의 핵심 아이디어

모방학습, 즉 Imitation Learning은 말 그대로 전문가의 행동을 따라 배우는 학습 방법이다. 여기서 전문가는 반드시 박사급 로봇 연구자일 필요는 없다. 로봇팔을 조이스틱으로 조작하는 사람일 수도 있고, 마우스로 시뮬레이션 로봇을 움직이는 사람일 수도 있으며, 직접 로봇팔을 손으로 잡고 경로를 보여 주는 작업자일 수도 있다.

중요한 것은 로봇이 배울 수 있는 형태로 행동 예시를 기록하는 것이다. 이 예시를 보통 시연 데이터, 또는 Demonstration이라고 부른다. Demonstration은 "이 상황에서는 이렇게 행동했다"라는 기록이다.

예를 들어 사람이 로봇팔을 조작해 빨간 컵을 집어 오른쪽에 놓는 장면을 보여 주었다고 하자. 이때 로봇 시스템은 단순히 결과만 저장하지 않는다. 작업 중간중간의 카메라 이미지, 로봇팔 관절 각도, 그리퍼 상태, 엔드 이펙터 위치, 그리고 그 순간 사람이 내린 조작 명령을 함께 기록한다.

다시 말해 시연 데이터는 다음과 같은 관계를 담고 있다.

현재 상태를 보니, 사람은 이 행동을 선택했다.

이 관계가 많이 쌓이면 로봇은 새로운 상황을 만났을 때 "이전에 사람이 비슷한 상황에서 어떻게 했더라?"를 학습된 모델을 통해 추정할 수 있다. 이때 모델이 출력하는 것은 단순한 설명이 아니라 실제 로봇이 실행할 행동이다. 그래서 모방학습은 로봇에게 매우 직접적인 의미를 가진다. 말로만 이해하는 것이 아니라 움직임으로 이어지기 때문이다.

Demonstration: 사람이 보여 주는 데이터

로봇에게 "컵을 집어"라고 말하는 것과, 실제로 컵을 집는 과정을 보여 주는 것은 다르다. 자연어 명령은 목표를 알려 주지만, Demonstration은 목표에 도달하는 방법을 알려 준다.

컵을 집는 시연에는 많은 정보가 숨어 있다. 사람은 컵 바로 위에서 수직으로 내려가지 않을 수도 있다. 주변 장애물을 피하려고 살짝 옆에서 접근할 수도 있다. 그리퍼를 너무 일찍 닫지 않고 컵의 양옆에 충분히 들어간 뒤 닫을 수도 있다. 컵을 들어 올릴 때는 흔들리지 않게 천천히 위로 움직일 수도 있다.

이런 세부 행동은 말로 전부 적기 어렵다. 하지만 시연 데이터에는 자연스럽게 남는다. 모방학습의 매력은 여기에 있다. 사람이 굳이 모든 규칙을 설명하지 않아도, 로봇은 상태와 행동의 쌍을 통해 그 패턴을 배울 수 있다.

Demonstration을 수집하는 방법은 여러 가지다.

  • 사람이 조이스틱, 키보드, 게임패드로 로봇을 원격 조작한다.

  • 사람이 로봇팔을 직접 잡고 움직이며 경로를 기록한다.

  • VR 컨트롤러나 모션 캡처 장비로 손의 움직임을 로봇 행동으로 변환한다.

  • 시뮬레이션에서 마우스나 스크립트로 작업 성공 예시를 만든다.

방법은 달라도 핵심은 같다. 로봇이 본 상태와 사람이 선택한 행동을 시간 순서대로 저장하는 것이다. 나중에 이 데이터는 학습 모델의 교재가 된다.

상태와 행동이라는 언어

모방학습을 이해하려면 먼저 로봇의 상태와 행동을 구분해야 한다. 상태는 로봇이 현재 알고 있는 정보다. 행동은 그 상태에서 로봇이 다음에 할 일이다.

사람에게는 "책상 위에 빨간 컵이 있고, 로봇팔은 왼쪽에 있으며, 그리퍼는 열려 있다"라는 장면이 하나의 상황으로 보인다. 로봇에게 이 상황은 숫자로 표현된다. 카메라 이미지는 픽셀 배열이고, 관절 각도는 벡터이며, 엔드 이펙터 위치는 좌표값이다. 이 모든 것이 상태가 될 수 있다.

행동도 마찬가지다. 사람은 "조금 오른쪽으로 움직여"라고 말하지만, 로봇에게는 더 구체적인 값이 필요하다. 예를 들어 엔드 이펙터의 x, y, z 방향 속도일 수도 있고, 다음 목표 위치일 수도 있으며, 각 관절을 얼마나 움직일지 나타내는 값일 수도 있다. 그리퍼를 열지 닫을지도 행동에 포함될 수 있다.

간단히 표현하면 모방학습은 다음 질문에 답하는 모델을 만드는 과정이다.

이 상태가 입력으로 들어왔을 때, 어떤 행동을 출력해야 하는가?

이 질문은 앞으로 계속 등장한다. 20장에서는 상태와 행동을 실제로 어떻게 표현하는지 더 자세히 살펴볼 것이다. 지금은 큰 구조만 잡으면 된다. 모방학습은 로봇의 경험을 "상태 → 행동"의 데이터로 바꾸고, 그 관계를 학습한다.

Behavior Cloning: 따라 하기의 가장 기본적인 형태

모방학습에서 가장 대표적인 방법은 Behavior Cloning이다. 한국어로 옮기면 행동 복제 정도로 이해할 수 있다. 이름 그대로 전문가의 행동을 복제하는 모델을 학습한다.

Behavior Cloning의 구조는 생각보다 단순하다. 입력은 상태이고, 출력은 행동이다. 학습 데이터는 사람이 시연한 상태와 행동의 쌍이다. 딥러닝 관점에서 보면 일반적인 지도학습과 비슷하다.

이미지 분류 모델은 고양이 사진을 입력받고 "고양이"라는 정답을 맞히도록 학습한다. Behavior Cloning 모델은 로봇의 현재 상태를 입력받고 "전문가라면 이때 했을 행동"을 맞히도록 학습한다.

예를 들어 컵 집기 시연 데이터를 수집했다고 하자. 매 시점마다 다음과 같은 데이터가 저장되어 있다.

  • 카메라 이미지

  • 로봇팔 관절 각도

  • 그리퍼 열림 정도

  • 사람이 입력한 다음 행동

모델은 이 데이터를 보고 학습한다. 컵이 왼쪽에 있으면 왼쪽으로 접근하고, 그리퍼가 컵 양옆에 오면 닫고, 컵을 잡은 뒤에는 위로 들어 올리는 식의 패턴을 숫자 관계로 익힌다.

학습이 끝나면 사람의 조작 없이도 모델이 행동을 출력한다. 카메라와 로봇 상태를 입력으로 넣으면 모델은 다음 행동을 예측한다. 로봇은 그 행동을 실행하고, 다시 새로운 상태를 관찰한다. 그리고 다시 행동을 예측한다. 이 과정이 반복되면서 하나의 작업이 수행된다.

즉 Behavior Cloning은 로봇에게 긴 계획표를 한 번에 주는 방식이 아니다. 매 순간 현재 상태를 보고 다음 행동을 결정하는 정책을 만드는 방식이다.

정책이라는 말의 의미

로봇 학습에서 자주 등장하는 단어가 정책, 즉 Policy다. 처음 들으면 조금 딱딱하게 느껴질 수 있지만 의미는 간단하다. 정책은 "상태를 보고 행동을 고르는 규칙"이다.

전통적인 로봇 프로그램에서는 사람이 이 규칙을 직접 작성한다. 예를 들어 물체 중심점보다 그리퍼가 왼쪽에 있으면 오른쪽으로 이동하고, 목표 높이에 도달하면 아래로 내려가라는 식이다.

모방학습에서는 이 규칙을 데이터로부터 학습한다. 사람이 모든 조건문을 직접 쓰는 대신, 모델이 시연 데이터를 보고 스스로 상태와 행동의 관계를 근사한다.

정책은 다음처럼 생각할 수 있다.

현재 로봇이 보는 것과 느끼는 것을 입력하면, 다음에 움직일 방향과 그리퍼 명령을 출력하는 함수.

이 함수가 잘 학습되면 로봇은 사람이 보여 준 것과 비슷한 방식으로 행동한다. 반대로 정책이 잘못 학습되면 로봇은 애매한 상황에서 이상한 행동을 하거나, 조금만 환경이 달라져도 멈칫거리게 된다.

여기서 중요한 점은 정책이 단순히 "동작을 녹화해서 재생하는 것"이 아니라는 사실이다. 녹화 재생은 같은 위치, 같은 물체, 같은 초기 자세에서만 잘 동작한다. Behavior Cloning 정책은 다양한 상태와 행동의 관계를 배워 새로운 입력에 대응하려고 한다. 물론 얼마나 잘 대응하는지는 데이터와 모델의 품질에 달려 있다.

단순 재생과 모방학습의 차이

처음 모방학습을 접하면 이런 생각이 들 수 있다.

"그냥 사람이 움직인 경로를 저장했다가 그대로 재생하면 되는 것 아닌가?"

실제로 산업 현장에서는 티칭 펜던트로 로봇 경로를 기록하고 반복 재생하는 방식이 널리 쓰였다. 정해진 위치에 부품이 놓이고, 같은 작업을 수천 번 반복하는 환경에서는 이 방식이 매우 강력하다. 빠르고 안정적이며 검증하기도 쉽다.

하지만 AI 로봇 에이전트가 다루려는 환경은 조금 다르다. 컵의 위치가 매번 달라질 수 있고, 사용자가 말하는 목표도 바뀔 수 있으며, 책상 위 물체 배치도 조금씩 달라진다. 이때는 단순 재생만으로 부족하다.

모방학습은 경로 자체보다 판단 방식을 배우려고 한다. 컵이 왼쪽에 있으면 왼쪽으로 가고, 오른쪽에 있으면 오른쪽으로 가며, 조금 멀리 있으면 더 크게 이동하고, 가까이 있으면 천천히 접근하는 식의 대응 관계를 배우는 것이다.

물론 모방학습이 마법은 아니다. 시연 데이터에 없던 상황을 완벽하게 처리하지는 못한다. 하지만 단순 재생보다 훨씬 유연한 출발점을 제공한다. 특히 카메라 입력처럼 매번 달라지는 정보가 중요한 작업에서는 학습 기반 정책이 큰 장점을 가진다.

좋은 시연 데이터가 좋은 정책을 만든다

Behavior Cloning은 전문가 행동을 따라 배우는 방식이므로, 데이터 품질이 곧 정책 품질을 좌우한다. 사람이 잘못 조작한 데이터가 많으면 로봇도 그 잘못을 배운다. 사람이 매번 다른 기준으로 행동하면 모델은 어떤 행동이 정답인지 혼란스러워한다.

좋은 시연 데이터에는 몇 가지 특징이 있다.

  • 작업 성공으로 이어지는 행동이 충분히 많이 포함되어 있다.

  • 물체 위치, 방향, 조명, 배경처럼 실제로 달라질 요소가 다양하게 들어 있다.

  • 같은 상황에서 행동 방식이 지나치게 흔들리지 않고 일관성을 가진다.

  • 로봇이 관찰할 수 있는 상태 정보와 사람이 수행한 행동이 시간적으로 잘 맞아 있다.

  • 실패 직전의 위험한 행동이나 복구 행동도 필요한 범위 안에서 기록되어 있다.

여기서 다양성은 특히 중요하다. 모든 컵이 항상 책상 중앙에 놓인 데이터만으로 학습하면, 로봇은 컵이 오른쪽 끝에 있을 때 당황할 수 있다. 모든 시연이 밝은 조명에서만 수집되었다면, 그림자가 강한 환경에서 물체를 제대로 다루지 못할 수 있다.

반복 횟수도 중요하다. 한두 번의 시연만으로는 모델이 우연과 규칙을 구분하기 어렵다. 사람이 한 번은 컵을 왼쪽에서 잡고, 한 번은 오른쪽에서 잡았다면 모델은 둘 중 무엇이 일반적인 전략인지 판단하기 어렵다. 여러 번 반복된 시연은 모델에게 "이 행동은 우연이 아니라 중요한 패턴"이라는 신호를 준다.

하지만 단순히 데이터가 많다고 무조건 좋은 것은 아니다. 품질 낮은 데이터가 많이 쌓이면 모델은 나쁜 습관까지 배운다. 로봇팔이 컵에 부딪힌 시연, 그리퍼를 너무 일찍 닫은 시연, 물체를 놓친 시연이 성공 데이터처럼 섞여 있으면 정책은 불안정해진다. 그래서 데이터 수집 후에는 정리와 검수 과정이 필요하다.

시연자의 실력이 모델의 성격을 만든다

모방학습에서 로봇은 시연자의 습관까지 배울 수 있다. 사람이 항상 조심스럽게 접근하면 로봇도 느리고 안정적인 정책을 배울 가능성이 높다. 사람이 빠르게 움직이지만 가끔 충돌한다면, 로봇도 공격적인 움직임을 흉내 낼 수 있다.

이것은 장점이자 위험이다. 숙련자의 노하우를 데이터로 담을 수 있다는 점은 큰 장점이다. 예를 들어 부드러운 물체를 집을 때 힘을 조금씩 조절하는 방식, 좁은 공간에서 그리퍼 각도를 바꾸는 방식, 물체를 들어 올린 뒤 흔들림을 줄이는 방식은 규칙으로 쓰기 어렵지만 시연에는 자연스럽게 들어간다.

반대로 시연자가 불안정하게 조작하면 그 불안정함도 데이터에 남는다. 모델은 "정답 행동"과 "실수 행동"을 구분하지 못한다. 학습 데이터에 들어간 행동은 기본적으로 따라 해야 할 대상으로 취급된다.

그래서 모방학습 프로젝트에서는 데이터 수집 자체가 중요한 설계 작업이다. 단순히 로봇을 여러 번 움직여 보는 것이 아니라, 어떤 상황을 보여 줄지, 어떤 행동을 정답으로 삼을지, 실패한 시연을 어떻게 처리할지 결정해야 한다.

수작업 제어와 강화학습 사이의 현실적인 위치

로봇 행동을 만드는 방법은 크게 세 가지 축으로 생각할 수 있다. 첫째는 사람이 규칙과 제어 로직을 직접 작성하는 방식이다. 둘째는 사람이 시연을 제공하고 로봇이 따라 배우는 모방학습이다. 셋째는 로봇이 시행착오를 통해 보상을 최대화하도록 배우는 강화학습이다.

수작업 제어는 명확하고 검증하기 쉽다. 로봇이 반드시 지켜야 하는 안전 조건, 정밀한 경로 계획, 충돌 회피, 속도 제한 같은 부분에는 여전히 필수적이다. 하지만 복잡하고 다양한 상황에 대응하는 행동을 모두 규칙으로 쓰기는 어렵다.

강화학습은 매우 매력적이다. 로봇이 직접 시도하고, 실패하고, 보상을 받으며 더 나은 정책을 찾아간다. 사람이 정답 행동을 일일이 보여 주지 않아도 된다는 장점이 있다. 하지만 로봇에서는 비용이 크다. 실제 로봇이 수만 번 실패하며 학습하도록 두는 것은 위험하고 느리다. 시뮬레이션을 쓰더라도 현실로 옮기는 과정에서 차이가 생긴다.

모방학습은 이 둘 사이에서 실용적인 위치를 차지한다. 사람이 어느 정도 좋은 행동을 보여 주면, 로봇은 그 행동을 출발점으로 삼을 수 있다. 처음부터 무작위로 시행착오를 하는 것보다 훨씬 안전하고 빠르다. 모든 규칙을 직접 작성하는 것보다 유연하다.

그래서 실제 로봇 학습에서는 모방학습이 단독으로 쓰이기도 하고, 강화학습의 초기 정책을 만드는 데 쓰이기도 한다. 먼저 사람의 시연으로 기본 행동을 익힌 뒤, 시뮬레이션이나 제한된 실제 환경에서 강화학습으로 더 다듬는 식이다. 이렇게 하면 로봇은 처음부터 엉뚱한 행동을 반복하지 않고, 어느 정도 사람다운 출발점에서 개선을 시작할 수 있다.

로봇 스킬과 모방학습은 경쟁 관계가 아니다

앞선 장에서 우리는 detect_object, pick, place처럼 로봇 스킬을 설계하는 방향을 계속 쌓아 왔다. 그렇다면 모방학습은 이런 스킬 구조를 대체하는 것일까? 꼭 그렇지는 않다.

오히려 모방학습은 스킬 내부를 더 똑똑하게 만드는 방법으로 볼 수 있다. 예를 들어 pick이라는 스킬을 생각해 보자. 전통적인 방식에서는 물체 중심점, 접근 방향, 그리퍼 폭, 들어 올리기 높이를 사람이 규칙으로 정한다. 하지만 물체가 다양해지면 이 규칙이 점점 복잡해진다.

모방학습을 사용하면 pick 스킬 안의 일부 판단을 학습 모델에 맡길 수 있다. 카메라 이미지와 로봇 상태를 보고 다음 접근 방향을 출력하거나, 그리퍼를 닫을 타이밍을 결정하거나, 물체가 살짝 밀렸을 때 보정 행동을 선택할 수 있다.

이때도 안전 제어와 상위 구조는 여전히 중요하다. 학습 정책이 출력한 행동이 너무 빠르거나, 작업 공간 밖으로 나가거나, 충돌 위험이 있다면 실행 전에 막아야 한다. 모방학습 모델은 행동 후보를 제안하고, 로봇 시스템은 그 행동이 안전한지 확인한 뒤 실행한다.

이 관점은 앞으로 LLM 로봇 에이전트를 만들 때도 중요하다. LLM은 "컵을 집어서 오른쪽에 놓아라"라는 명령을 작업 단계로 나눌 수 있다. 하지만 실제로 컵을 어떻게 잡을지는 저수준 로봇 스킬이 담당해야 한다. 그 스킬이 수작업 규칙으로 만들어질 수도 있고, 모방학습으로 학습될 수도 있다.

모방학습이 잘 맞는 작업

모방학습은 특히 사람이 쉽게 보여 줄 수 있지만, 규칙으로 설명하기 어려운 작업에 잘 맞는다. 예를 들어 물체를 부드럽게 정렬하거나, 그리퍼를 조금씩 움직이며 적절한 잡기 자세를 찾거나, 장애물 사이로 손을 넣어 물체를 꺼내는 행동은 시연 기반 학습의 좋은 후보가 된다.

반대로 정답이 매우 명확하고 규칙으로 쉽게 표현되는 작업이라면 굳이 모방학습을 쓸 필요가 없을 수도 있다. 예를 들어 로봇팔을 특정 좌표로 이동시키는 단순 동작은 MoveIt2 같은 경로 계획기로 충분히 처리할 수 있다. 안전 정지, 작업 공간 제한, 속도 제한처럼 반드시 지켜야 하는 조건도 학습 모델에만 맡기면 안 된다.

즉 모방학습은 모든 것을 대체하는 만능 도구가 아니다. 좋은 로봇 시스템은 규칙 기반 제어, 모델 기반 계획, 학습 기반 정책을 적절히 섞는다. 모방학습은 그중에서 사람의 행동 노하우를 로봇 정책으로 옮기는 강력한 연결고리다.

작은 예시: 컵을 집는 행동을 배우기

간단한 장면을 상상해 보자. 책상 위에 컵이 놓여 있고, 로봇팔은 카메라를 통해 컵을 본다. 우리는 조이스틱으로 로봇팔을 조작해 컵을 집는 시연을 여러 번 수행한다. 컵은 매번 조금씩 다른 위치에 놓는다. 어떤 때는 왼쪽에, 어떤 때는 오른쪽에, 어떤 때는 로봇에서 조금 멀리 둔다.

데이터 수집 중에는 매 순간 다음 정보가 저장된다. 카메라 이미지, 로봇팔 관절 각도, 엔드 이펙터 위치, 그리퍼 상태, 그리고 조이스틱으로 입력한 이동 명령이다.

학습 모델은 이 데이터를 보고 "이런 이미지와 로봇 상태에서는 이런 방향으로 움직였구나"를 배운다. 컵이 화면 오른쪽에 있고 그리퍼가 아직 멀리 있으면 오른쪽 앞으로 접근한다. 컵이 그리퍼 사이에 들어오면 그리퍼를 닫는다. 컵을 잡은 뒤에는 위로 들어 올린다.

테스트 단계에서는 사람이 조이스틱을 잡지 않는다. 로봇은 카메라 이미지와 자기 상태를 모델에 넣고 행동을 얻는다. 그리고 조금 움직인다. 다시 이미지를 보고, 다시 행동을 얻는다. 이 반복이 성공하면 로봇은 사람이 보여 준 방식과 비슷하게 컵을 집는다.

물론 처음부터 완벽하지 않을 수 있다. 컵이 시연 데이터보다 훨씬 멀리 있으면 제대로 접근하지 못할 수 있다. 조명이 바뀌면 컵을 다른 물체로 착각할 수 있다. 그리퍼가 컵을 살짝 밀었을 때 복구 행동을 배우지 못했다면 실패할 수 있다. 이런 문제들은 이후 장에서 더 자세히 다룰 것이다.

모방학습의 첫 번째 한계: 본 적 없는 상황

모방학습은 사람이 보여 준 행동에서 배운다. 따라서 시연 데이터에 충분히 들어 있지 않은 상황에서는 약해질 수 있다. 컵이 항상 똑바로 서 있는 데이터만 봤다면, 옆으로 누운 컵을 만났을 때 이상한 행동을 할 수 있다. 항상 빈 책상에서만 학습했다면, 컵 주변에 숟가락과 책이 놓인 장면에서 그리퍼를 어디로 넣어야 할지 모를 수 있다.

이 문제는 사람의 학습과도 비슷하다. 운전 연습을 텅 빈 주차장에서만 한 사람은 복잡한 도로에서 긴장한다. 로봇도 마찬가지다. 다양한 상황을 경험하지 못한 정책은 실제 환경에서 쉽게 흔들린다.

그래서 모방학습에서 데이터 다양성은 선택 사항이 아니라 핵심이다. 실제로 만날 수 있는 변화들을 데이터에 넣어야 한다. 물체 위치, 물체 방향, 배경, 조명, 카메라 각도, 로봇 초기 자세가 조금씩 달라져야 한다. 그래야 정책이 특정 장면을 외우는 것이 아니라 행동 원리를 더 넓게 배울 가능성이 높아진다.

모방학습의 두 번째 한계: 작은 실수의 누적

Behavior Cloning은 매 순간 전문가의 행동을 맞히도록 학습한다. 그런데 실제 실행에서는 모델이 스스로 만든 상태를 다시 입력으로 받는다. 여기서 문제가 생긴다.

모델이 아주 작은 실수를 했다고 하자. 원래는 컵 중앙으로 접근해야 하는데 1cm 정도 옆으로 치우쳤다. 사람이라면 바로 보정할 수 있다. 하지만 학습 데이터에 그런 치우친 상태에서 복구하는 예시가 거의 없었다면 모델은 다음 행동도 조금 틀릴 수 있다. 그러면 오차가 더 커지고, 결국 그리퍼가 컵을 제대로 잡지 못한다.

이처럼 작은 오차가 시간이 지나며 커지는 현상은 모방학습에서 중요한 문제다. 지금은 개념만 기억해 두자. 22장에서 모방학습의 한계를 다룰 때 이 문제를 더 깊게 살펴볼 것이다.

흥미로운 점은 실패 데이터와 복구 데이터가 여기서 큰 역할을 한다는 것이다. 항상 완벽한 시연만 있으면 로봇은 완벽한 상태에서의 행동만 배운다. 하지만 실제 실행 중에는 완벽하지 않은 상태가 자주 발생한다. 살짝 빗나간 상태에서 어떻게 다시 중심을 맞추는지, 물체가 밀렸을 때 어떻게 재접근하는지 보여 주면 정책은 더 튼튼해진다.

AI 로봇 에이전트에서 모방학습이 맡는 역할

이 책의 최종 목표는 자연어 명령을 받아 물리 세계에서 행동하는 AI 로봇 에이전트를 만드는 것이다. 이 에이전트는 여러 층으로 구성된다. 사용자의 말을 이해하는 층이 있고, 작업을 나누는 층이 있으며, 물체를 인식하는 층이 있고, 실제 로봇을 움직이는 층이 있다.

모방학습은 주로 실제 움직임에 가까운 층에서 힘을 발휘한다. LLM이 "빨간 컵을 집어 오른쪽에 놓기"라는 계획을 세웠다고 하자. 이 계획은 다음과 같은 스킬 호출로 나뉠 수 있다.

  • 빨간 컵을 찾는다.

  • 컵을 집는다.

  • 오른쪽 목표 위치로 이동한다.

  • 컵을 내려놓는다.

여기서 "컵을 집는다"는 짧은 문장 안에는 매우 복잡한 조작 문제가 숨어 있다. 접근 방향을 정하고, 손을 맞추고, 그리퍼를 닫고, 들어 올리며, 실패하면 다시 시도해야 한다. 이 저수준 조작을 모방학습 정책이 담당할 수 있다.

그러면 전체 시스템은 더 유연해진다. 상위 에이전트는 어떤 일을 해야 하는지 결정하고, 하위 학습 정책은 그 일을 어떻게 움직여 수행할지 담당한다. 사람의 언어와 로봇의 운동 사이에 여러 단계의 번역기가 생기는 셈이다.

모방학습을 시작할 때의 현실적인 질문들

모방학습 프로젝트를 시작할 때는 모델 구조보다 먼저 질문해야 할 것들이 있다. 어떤 데이터를 모을 것인가? 어떤 상태를 입력으로 줄 것인가? 행동은 어떤 형태로 출력할 것인가? 성공과 실패를 어떻게 구분할 것인가?

예를 들어 카메라 이미지만 입력으로 사용할 수도 있고, 이미지와 관절 상태를 함께 사용할 수도 있다. 행동은 각 관절의 목표 각도일 수도 있고, 엔드 이펙터의 이동량일 수도 있다. 그리퍼 명령을 별도 출력으로 둘 수도 있다.

이 선택은 학습 난이도와 실행 안정성에 큰 영향을 준다. 이미지에는 풍부한 정보가 있지만 학습하기 어렵다. 관절 상태는 숫자로 깔끔하지만 외부 물체 정보를 담지 못한다. 엔드 이펙터 이동량은 직관적이지만 로봇의 실제 관절 제어와 연결해야 한다.

따라서 좋은 모방학습 시스템은 데이터 수집, 상태 표현, 행동 표현, 모델 학습, 안전 실행이 함께 설계되어야 한다. 어느 하나만 좋아서는 충분하지 않다.

다음 장으로 가기 전에

이번 장에서는 모방학습의 큰 그림을 잡았다. 핵심은 간단하다. 모든 로봇 행동을 사람이 규칙으로 직접 작성하기는 어렵다. 그래서 사람이 먼저 작업을 보여 주고, 로봇은 그 시연 데이터를 이용해 상태에서 행동으로 가는 정책을 학습한다.

Behavior Cloning은 그중 가장 기본적인 방법이다. 상태를 입력으로 받고 행동을 출력하는 모델을 지도학습처럼 훈련한다. 이 방식은 직관적이고 실용적이며, 수작업 제어와 강화학습 사이에서 매우 중요한 위치를 차지한다.

하지만 모방학습의 성능은 시연 데이터에 크게 의존한다. 좋은 데이터는 좋은 습관을 가르치고, 나쁜 데이터는 나쁜 습관을 남긴다. 다양성이 부족하면 새로운 상황에 약해지고, 복구 행동이 부족하면 작은 실수가 누적될 수 있다.

다음 장에서는 이론에서 한 걸음 더 들어가 실제로 로봇 행동 데이터를 어떻게 수집하는지 살펴본다. 조이스틱, 키보드, 텔레오퍼레이션, 로봇팔 시연 기록을 어떻게 구성하고, 상태와 행동을 어떤 형식으로 저장해야 하는지 구체적으로 다룰 것이다.

책 목록

AI 로봇 에이전트 만들기: 비전·로봇팔·학습·LLM으로 자연어 명령을 실행하는 로봇

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기