18. 계단의 한계 — 눈 감은 로봇은 몇 cm까지 오를 수 있나

이번 단계 목표: 17번에서 4cm 계단을 올랐습니다. 그럼 6cm는? 8cm는? 10cm는? 단차를 계단식으로 올려 가며(말 그대로 커리큘럼), 지형 관측 없는 로봇의 등반 한계를 실측으로 찾습니다.


실험 설계: 커리큘럼 사다리

단차가 커질수록 두 가지를 함께 올려야 합니다:

  • 지형 단차: 4 → 6 → 8 → 10cm (--stairs_height)
  • 발 들림 목표: 단차 + 4cm 여유 (실제 들림 기준 8 → 10 → 12 → 14cm)

그리고 매 단계를 이전 단계 정책에서 이어 학습합니다. 4cm를 오르는 정책이 6cm를 배우고, 6cm를 오르는 정책이 8cm를 배우는 식 — 학습 커리큘럼이 계단 그 자체입니다.

판정은 17번에서 만든 표준 절차(g1_stairs_check.py)로: 발밑 지면 로그가 단조 상승 + 낙상 0이어야 등반으로 인정합니다.

cd scripts/train
python g1_train.py --task stairs --stairs_height 0.06 --max_iterations 3000 \
    --resume_from logs/g1-stairs/model_8997.pt
python g1_stairs_check.py -e g1-stairs6 --out 18_g1_stairs6.mp4
# ... 0.08, 0.10으로 반복 (각각 직전 단계에서 resume)

결과: 단차별 성적표

각 단계 3000 iteration(~40분)씩, 직전 정책에서 이어 학습한 결과입니다. 판정은 전부 발밑 지면 로그(15초, 낙상 포함) 기준:

단차 판정 15초 등반량 학습 수렴 보상 학습 중 에피소드 길이
4cm (17번) 성공 +0.29m (7단) 26.9 1001 (최대)
6cm 성공 +0.42m (7단) 25.3 1001 (최대)
8cm 성공 +0.63m (8단) 23.8 1001 (최대)
10cm 성공 +0.70m (7단) 20.8 1001 (최대)
12cm 성공 +0.84m (7단) 18.0 985 (첫 하락)

놀랍게도 12cm까지 전부 성공입니다. 지형 관측 없이, 발끝 감각만으로요. 예상(8~10cm쯤 한계)을 넘어선 건 커리큘럼의 힘입니다 — 4cm를 아는 정책에게 6cm는 작은 변화이고, 그 사다리를 타고 올라가면 처음부터라면 불가능했을 높이에 도달합니다. (참고: 12cm에 처음부터 도전한 1차 지형 학습(15번의 ±25cm)은 그대로 붕괴했었죠.)

동시에 한계가 다가오는 신호도 숫자에 선명합니다: 수렴 보상이 단조 감소(26.9→18.0)하고, 12cm에서 처음으로 학습 중 에피소드 길이가 최대치 아래로 떨어졌습니다(넘어지는 로봇이 나오기 시작). 추세로 보면 14~16cm 어딘가가 감각만으로 오를 수 있는 한계이고, 실제 주택 계단(17cm대)은 높이맵 관측(인지) 없이는 어려울 겁니다 — 다음 시즌의 과제로 남깁니다.

단차별 등반 비교 — 왼쪽 위부터 시계방향으로 6, 8, 12, 10cm

12cm 계단을 오르는 G1

영상:

·

·

·


후기 (추가 실험): 그 ‘한계 신호’는 진짜였나

이 글을 쓰고 나서 “추정 말고 실측을 하자”며 스윕을 연장했습니다. 결과는 제 예상을 두 번이나 뒤집었습니다:

단차 판정 15초 등반량 수렴 보상 학습 에피소드 길이
14cm 성공 +0.84m (6단) 18.1 1001 (최대 — 회복!)
16cm 성공 +0.96m (6단) 16.6 992
  • “14~16cm가 벽”이라는 추정은 틀렸습니다. 커리큘럼 사다리는 16cm까지 올라갔고, 이는 사람 주택 계단(17cm급) 바로 아래입니다. 눈 없이 여기까지 올 줄은 몰랐습니다.
  • 12cm의 에피소드 길이 하락(985)은 한계 신호가 아니라 노이즈였을 가능성이 큽니다 — 14cm에서 최대치(1001)로 회복됐으니까요. 단조 감소하는 건 보상뿐인데, 이것도 ‘더 힘든 과제에서 추종 보상을 더 잃는’ 자연스러운 현상과 구분이 안 됩니다. 한 번의 실행에서 나온 작은 변동으로 추세를 읽는 것은 위험하다 — 회고에 쓴 “추세를 읽어라”는 조언에는 이렇게 각주가 하나 필요해졌습니다: 추세는 반복 실험 위에서만 믿어라.
  • 진짜 한계는 18cm 너머 어딘가입니다. 다만 스윙 발 목표가 이미 20cm(실제 들림 기준)라 무릎·엉덩이 가동범위의 기구학적 한계에 다다르고 있어, 여기서부터는 실용 가치보다 호기심의 영역이라 스윕을 멈춥니다.

영상:

·


회고

  • 커리큘럼은 사다리다. 12cm를 처음부터 배우게 했으면 실패했을 가능성이 큽니다(15번 1차의 붕괴가 그 증거). 4→6→8→10→12로 오르니 각 단계는 ‘조금 어려운 복습’일 뿐이었습니다. 이어 학습 체인 하나로 구현되는, 이 시리즈에서 가장 가성비 높은 기법.
  • 성공/실패보다 추세를 읽어라. 다섯 단계 모두 성공이지만, 보상 감소와 에피소드 길이 첫 하락은 “여유가 줄고 있다”는 예고입니다. 전부 성공한 실험에서도 한계의 위치를 추정할 수 있습니다.
  • 한계의 정체는 결국 ‘눈’. 단차가 커질수록 필요한 건 더 높은 발이 아니라 어디에 단이 있는지 아는 것입니다. 감각만의 등반은 매 발걸음이 도박이고, 커리큘럼은 그 도박의 승률을 올려줄 뿐입니다. 다음 목표가 높이맵 관측(인지)인 이유입니다.

이 시리즈의 전체 글 목록 → 시리즈 목차

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.