좋은 로봇 정책은 좋은 모델에서만 나오지 않는다. 많은 경우 성능 차이는 모델 구조보다도, 누가 어떤 방식으로 데이터를 모았는가에서 먼저 벌어진다. 같은 ALOHA 계열 시스템을 써도 어떤 팀은 30개의 시연으로 금세 쓸 만한 결과를 내고, 어떤 팀은 300개를 모아도 로봇이 자꾸 헛손질한다. 겉으로 보면 둘 다 "데이터를 모았다"고 말하지만, 실제로는 전혀 다른 일을 한 셈이다.
이 차이를 만드는 것이 운영이다. 작업을 어떻게 정의했는지, 시연자가 어떤 기준으로 움직였는지, 실패를 어떻게 기록했는지, 중단된 에피소드를 버렸는지 남겼는지, 물체 배치를 얼마나 흔들었는지 같은 사소해 보이는 결정들이 결국 로봇의 습관이 된다. 사람은 대충 해도 의도를 보정할 수 있지만, 로봇은 대충 모인 데이터를 대충 배운다.
이 장에서는 바로 그 운영의 원칙을 살펴보려 한다. 좋은 데이터 수집은 손이 빠른 조작자 한 명이 만들어 내는 묘기가 아니라, 누가 들어와도 비슷한 품질의 시연을 안정적으로 쌓을 수 있는 시스템이다.

좋은 시연은 성공한 시연과 같지 않다
초보자는 대개 성공한 시연이 곧 좋은 시연이라고 생각한다. 물론 성공은 중요하다. 컵을 집어 옮기라는 과제에서 끝내 컵을 떨어뜨린 시연은 행동 복제의 정답 예시로 쓰기 어렵다. 하지만 성공만으로 충분하지는 않다. 어설프게 성공한 시연은 오히려 로봇에게 이상한 버릇을 심어 줄 수 있다.
좋은 시연은 결과뿐 아니라 과정이 안정적이다. 손이 불필요하게 흔들리지 않고, 망설임이 적고, 물체를 놓쳤을 때 억지 보정으로 겨우 수습하지 않는다. 다시 말해 로봇이 배워도 되는 움직임이어야 한다. 사람이야 중간에 순간적으로 삐끗해도 목표를 이해하고 복구하지만, 모델은 그 삐끗함까지 패턴으로 받아들인다.
예를 들어 그리퍼를 닫기 전에 손목을 쓸데없이 한 바퀴 돌리는 습관이 있는 시연자가 있다고 해 보자. 사람은 그냥 버릇처럼 그럴 수 있다. 하지만 데이터셋에 그런 동작이 반복되면, 로봇은 "집기 전에 손목을 흔드는 것이 필요하다"고 오해할 수 있다. 그러면 실제 실행에서 느려지고, 작은 물체는 더 자주 놓치고, 접촉 직전의 안정성도 떨어진다.
좋은 시연과 나쁜 시연을 가르는 기준은 결국 두 가지다. 하나는 과제 달성 여부이고, 다른 하나는 재현 가능한 동작이냐는 점이다. 운영 현장에서는 이 둘을 분리해서 봐야 한다. 성공했더라도 지나치게 비틀고, 멈추고, 다시 잡고, 우연히 해결한 시연은 별도 표시가 필요하다. 반대로 최종 성공에는 실패했어도 초반 접근과 정렬이 매우 안정적이었다면, 그 구간은 나중에 귀중한 분석 자료가 된다.
실무적으로는 시연을 모을 때 조작자에게 "빨리 끝내라"보다 "같은 방식으로 끝내라"는 기준을 주는 편이 낫다. 속도는 나중에 줄일 수 있지만, 일관성 없는 스타일은 데이터셋 전체를 흐리게 만든다. 로봇 학습에서 중요한 것은 화려한 한 번이 아니라 비슷하게 잘한 스무 번이다.
과제는 넓게 잡을수록 좋지 않다
데이터 수집이 흔히 꼬이는 첫 번째 이유는 과제를 너무 크게 정의하는 것이다. "주방 정리하기" 같은 이름은 멋있지만, 실제 수집 단계에서는 거의 쓸모가 없다. 컵을 들고 이동하는 일, 서랍을 여는 일, 물체를 분류해 놓는 일, 닫는 일은 모두 다른 감각과 다른 실패 양상을 가진다. 과제가 너무 넓으면 시연마다 다른 전략이 섞이고, 모델은 무엇을 따라야 하는지 알기 어려워진다.
좋은 과제는 시작 조건과 종료 조건, 그리고 허용된 변동 범위가 또렷하다. 시작 조건은 로봇과 물체가 어디에서 출발하는지다. 종료 조건은 무엇을 성공으로 볼지다. 변동 범위는 매번 얼마나 달라져도 같은 과제로 볼 것인지다. 이 세 가지가 흐리면 데이터 수집은 곧장 감에 의존하게 된다.
예를 들어 "그릇을 선반에 넣기"라는 작업이 있다고 하자. 여기서 먼저 정해야 할 것은 선반 문이 열려 있는지, 그릇이 테이블의 어느 구역에 있는지, 두 손을 모두 써야 하는지, 선반 안 어느 위치에 닿아야 성공인지다. 이런 경계가 없으면 어떤 시연은 한 손으로 끝내고, 어떤 시연은 두 손으로 하고, 어떤 시연은 문 여는 동작까지 포함하고, 어떤 시연은 이미 열려 있는 상태에서 시작한다. 그렇게 되면 데이터셋은 풍부해지는 것이 아니라 뒤섞인다.
작업 난이도 설계도 중요하다. 너무 쉬우면 모델이 현실을 못 배운다. 너무 어려우면 시연자의 피로만 늘고 품질이 무너진다. 가장 좋은 방식은 난이도를 층으로 나누는 것이다. 먼저 거의 정렬된 상태에서 성공률 높은 시연을 모아 기본 패턴을 학습하게 하고, 그다음 물체 위치 오차를 늘리거나 접근 각도를 바꾸며 변형 데이터를 쌓는 식이다. 로봇에게도 사람과 비슷한 워밍업이 필요하다.
과제 경계 조건을 설계할 때 특히 주의할 점은 "무엇을 이번 과제에 포함하지 않을 것인가"를 명시하는 일이다. 문 열기와 물건 넣기를 동시에 배우게 하고 싶더라도, 데이터가 충분하지 않다면 둘을 분리하는 편이 낫다. 큰 문제를 잘게 쪼개는 것은 야심이 부족해서가 아니라 학습 신호를 선명하게 만들기 위해서다.
데모 개수는 숫자보다 다양성과 난이도로 판단해야 한다
"몇 개의 데모가 필요합니까?"라는 질문은 로봇 실험에서 가장 자주 나오지만, 가장 답하기 어려운 질문이기도 하다. 왜냐하면 필요한 개수는 과제 이름보다 과제의 구조에 달려 있기 때문이다. 컵 하나를 집어 옮기는 일과 비닐봉지를 벌려 물건을 넣는 일은 둘 다 한 문장으로는 짧지만, 데이터 난도는 전혀 다르다.
데모 수를 판단할 때는 단순히 총 개수만 보지 말고 몇 가지 변수를 함께 봐야 한다.
접촉이 섬세한가, 아니면 대충 잡아도 되는가
두 손의 협응 타이밍이 중요한가, 아니면 한 손씩 순서대로 하면 되는가
장면 변화가 큰가, 아니면 거의 고정된 환경인가
작업 시간이 긴가, 짧은가
실패 양상이 몇 종류로 갈리는가
이 변수가 복잡할수록 필요한 데모 수도 늘어난다. 특히 양손 작업은 시연 수가 적어도 되는 것처럼 보여도, 실제로는 양손 타이밍의 변형을 충분히 보지 못하면 쉽게 무너진다. 한 손 작업에서는 위치 오차가 주된 변수였다면, 양손 작업에서는 위치와 타이밍, 힘의 분배, 가림 현상까지 함께 문제가 되기 때문이다.
실험실 운영에서는 처음부터 "100개를 모으자"처럼 숫자를 고정하기보다, 작은 묶음으로 나누어 수집하고 중간 평가를 반복하는 것이 훨씬 낫다. 예를 들어 20개를 모아 빠르게 학습해 보고, 어디서 실패하는지 본 뒤, 그 실패 구간을 보강하는 식이다. 이 방식의 장점은 두 가지다. 데이터가 부족한지, 데이터가 잘못된지 더 빨리 구분할 수 있고, 무의미한 반복 수집을 줄일 수 있다.
중요한 것은 "더 많이"가 아니라 "어디가 비어 있는가"다. 어떤 과제는 30개만으로도 잘 되고, 어떤 과제는 200개가 있어도 특정 자세에서 늘 실패한다. 후자의 경우 필요한 것은 총량이 아니라 빈 구간을 메우는 데이터다. 예를 들어 오른쪽에서 접근할 때만 자주 실패한다면, 같은 성공 시연을 계속 추가하는 것보다 오른쪽 접근 장면을 의도적으로 늘리는 편이 훨씬 효과적이다.
데모 수를 볼 때 조작자 수도 함께 생각해야 한다. 한 사람의 스타일로만 모인 데이터는 깔끔하지만, 특정 습관에 과도하게 맞춰질 수 있다. 반대로 여러 사람이 섞이면 다양성은 늘지만 품질 편차가 커진다. 따라서 초반에는 숙련 조작자 중심으로 기준 데이터를 만들고, 이후 체크리스트와 라벨 규칙이 자리 잡은 뒤에 조작자를 넓히는 것이 안전하다.
실패 데이터는 쓰레기가 아니라 지도다
실패 에피소드와 중단된 에피소드는 데이터 정리 단계에서 가장 먼저 삭제되기 쉽다. 겉보기에 지저분하고, 학습에 바로 넣기 어려우며, 통계도 나빠 보이기 때문이다. 하지만 운영 관점에서 보면 이 데이터가야말로 실험실의 문제를 가장 정직하게 보여 준다.
실패 데이터는 적어도 세 가지 용도가 있다. 첫째, 어떤 실패가 반복되는지 보여 준다. 둘째, 시연자 문제와 하드웨어 문제, 과제 정의 문제를 구분하게 해 준다. 셋째, 성공 데이터만 봐서는 드러나지 않는 경계 상황을 보여 준다.
예를 들어 어떤 작업에서 유독 중단 에피소드가 많다면, 그것은 조작자가 서툴러서가 아니라 과제 정의가 지나치게 넓거나, 시작 상태 리셋이 매번 달라서일 수 있다. 또 특정 시간대에만 실패가 늘어난다면 카메라 반사광이나 조작자 피로가 원인일 수도 있다. 그리퍼가 물체를 놓치는 실패가 반복된다면 모델 문제를 의심하기 전에 그립 테이프 마모나 물체 표면 상태를 확인해야 한다.
실패 데이터를 잘 활용하려면 그냥 "실패"라고만 적어 두면 안 된다. 실패 유형을 나누어 기록해야 한다. 예를 들면 접근 실패, 첫 접촉 실패, 파지 실패, 이동 중 이탈, 삽입 실패, 종료 판정 오류처럼 단계별로 구분하는 식이다. 이렇게 해 두면 나중에 학습 결과를 볼 때도 어느 구간이 병목인지 금방 연결된다.
중단된 에피소드도 버리기 아깝다. 전체 시연으로는 불완전해도, 중단 직전까지의 움직임이 매우 안정적일 수 있다. 특히 장기 과제에서는 후반 한 번의 실수 때문에 앞의 훌륭한 전반부까지 사라지는 경우가 많다. 따라서 운영 체계에서는 완전 성공, 부분 성공, 분석용 실패, 시스템 오류를 구분해 저장하는 것이 좋다. 전부를 한 바구니에 넣고 지우거나 살리는 방식은 지나치게 거칠다.
물론 행동 복제 학습의 주 데이터셋에는 성공 비중이 높아야 한다. 하지만 실패 데이터는 평가 세트 설계, 난이도 재조정, 하드웨어 개선, 시연자 교육에 계속 쓰인다. 좋은 실험실은 실패를 숨기지 않는다. 오히려 실패 로그가 가장 잘 정리된 실험실이 대개 가장 빨리 발전한다.
체크리스트가 데이터셋의 성격을 만든다
로봇 데이터 수집은 사람 손으로 하는 공장과 비슷하다. 같은 부품을 만들어도 작업 표준이 없으면 품질 편차가 커진다. 체크리스트와 라벨링 규칙은 바로 그 표준 작업서다. 이것이 없으면 숙련자 한 명이 있을 때는 잘 굴러가다가, 사람이 바뀌는 순간 데이터셋의 성격도 바뀐다.
체크리스트는 거창할 필요가 없다. 다만 수집 전, 수집 중, 수집 후에 무엇을 확인할지 명확해야 한다. 수집 전에는 카메라 시야, 조명, 물체 상태, 그리퍼 마모, 초기 자세를 확인한다. 수집 중에는 시작 버튼 이후 대기 시간을 줄이고, 과제 외 불필요 동작을 피하고, 실패 시 복구 방식을 일정하게 유지한다. 수집 후에는 파일 저장 여부, 길이 이상 여부, 성공 판정, 특이사항 태그를 기록한다.
라벨링 규칙도 매우 중요하다. 예를 들어 성공 여부만 적을 것인지, 성공이지만 흔들림이 컸는지, 한 손 임시 보정이 있었는지, 시야 가림이 심했는지까지 남길 것인지 정해야 한다. 이런 기준이 없으면 나중에 누가 데이터를 골랐는지에 따라 학습셋 품질이 달라진다.
실제로 강한 데이터셋은 대개 파일 수가 많아서가 아니라, 각 에피소드에 붙은 정보가 잘 정리되어 있다. 같은 과제를 다시 수집할 때도 "예전과 같은 방식"이 무엇인지 즉시 알 수 있기 때문이다. 라벨은 단순한 메모가 아니라 실험실의 기억 장치다.
운영 현장에서 추천할 만한 최소 라벨은 다음 정도다.
과제 이름과 버전
조작자 ID
성공, 실패, 중단, 시스템 오류 구분
실패 유형 또는 특이사항 태그
시작 상태 변형 조건
사용한 물체 세트 또는 환경 세트
여기서 과제 이름에 버전을 붙이는 습관이 특히 중요하다. 같은 "컵 옮기기"라도 카메라 위치를 바꾸고 초기 배치 범위를 넓혔다면 사실상 다른 과제다. 이런 변화를 기록하지 않으면 데이터셋은 겉으로만 하나일 뿐, 안에서는 서로 다른 규칙이 충돌한다.
운영 능력이 곧 학습 성능이다
모방학습 실험은 자주 모델 비교 경쟁처럼 보인다. 어떤 네트워크가 더 좋고, 어떤 손실 함수가 더 안정적이며, 어떤 입력 구성이 더 낫냐는 이야기로 흘러가기 쉽다. 하지만 ALOHA 계열 시스템을 실제로 돌려 보면 훨씬 먼저 부딪히는 것은 운영의 현실이다. 리셋이 오래 걸리고, 조작자가 피곤해지고, 시야가 조금만 바뀌어도 데이터 품질이 흔들리고, 성공 기준이 모호하면 팀원마다 다른 데이터를 모은다.
이 현실을 인정하는 순간 관점이 바뀐다. 데이터 수집은 모델 학습의 준비 단계가 아니라 학습 자체의 일부다. 어떤 과제를 어떻게 자르고, 어떤 시연을 남기고, 어떤 실패를 분석하는지가 이미 모델이 배울 세계를 정의한다. 다시 말해 실험실 운영 능력과 로봇 성능은 분리되지 않는다.
좋은 운영은 화려하지 않다. 하지만 강하다. 기준이 있고, 기록이 남고, 실패가 분류되고, 사람이 바뀌어도 비슷한 품질이 유지된다. 그런 환경에서 모인 데이터는 적어도 왜 잘 되고 왜 안 되는지를 설명할 수 있다. 그리고 설명 가능한 데이터셋 위에서만, 설명 가능한 개선이 가능해진다.
로봇이 더 영리해지려면 더 큰 모델도 필요하겠지만, 그보다 먼저 더 좋은 하루 운영이 필요하다. 아침에 카메라를 어떻게 맞췄는지, 시연자가 어떤 자세로 조작했는지, 실패를 어떤 이름으로 저장했는지 같은 작은 습관들이 결국 로봇의 손끝에 남는다. 로봇 학습은 알고리즘의 과학이면서 동시에 운영의 기술이다.
다음 장에서는 이렇게 모은 데이터를 실제 학습 실험으로 어떻게 연결할지 살펴본다. 관측 공간과 행동 공간을 어떻게 정의하고, 훈련과 검증을 어떻게 나누며, 성공률을 어떤 방식으로 평가해야 하는지 보게 될 것이다. 좋은 운영이 좋은 재료를 만든다면, 실험 설계는 그 재료로 어떤 요리를 할지 정하는 일이다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.