00편부터 18편까지 끝내고 “주장은 했는데 증거가 빠진 곳”을 세 가지 실험으로 메운 기록입니다. ① 추정한 한계를 실측하고, ② 씨앗(seed, 학습의 난수 시작값)을 바꿔 재현하고, ③ 1회 판정을 반복 시험으로 바꿨습니다. 결과: 하나는 우리 추정이 틀렸고(좋은 쪽으로), 둘은 기존 결론을 튼튼하게 만들었습니다.
실험 1. blind 계단 한계 실측 — 추정은 또 틀렸다
18편은 “보상 감소 추세로 보아 14~16cm가 감각만의 벽”이라 추정하고 끝났습니다. 실측하러 blind(지형을 보지 않고 몸 감각만으로 오르는) 정책의 스윕을 연장했습니다. 각 단계는 앞 단계 정책에서 이어 3000 iteration(학습 반복 횟수)을 학습했습니다. 에피소드 길이는 넘어지지 않고 버틴 스텝 수로, 최대 1001입니다:
| 단차 | 판정 | 15초 등반량 | 수렴 보상 | 에피소드 길이 |
|---|---|---|---|---|
| 12cm (18편) | 성공 | +0.84m | 18.0 | 985 |
| 14cm | 성공 | +0.84m | 18.1 | 1001 (회복) |
| 16cm | 성공 | +0.96m | 16.6 | 992 |
- 벽은 없었습니다 — 적어도 16cm까지는 지형을 보지 않고도 올랐습니다.
- 더 중요한 교훈: 12cm에서 봤던 ‘한계 신호'(에피소드 길이 985)는 14cm에서 최대치로 회복됐습니다. 1회 실행의 작은 변동으로 추세를 판단하는 것은 위험합니다. 18편 회고의 “추세를 읽어라”에는 각주가 붙었습니다: 추세는 반복 실험으로 확인한 뒤에만 믿어라.
- 스윕은 16cm에서 멈췄습니다. 스윙 발을 실제로 들어야 하는 높이가 20cm에 달해 기구학적 한계(무릎·엉덩이 가동범위)에 다다르고 있고, 이후는 실용보다 호기심의 영역입니다.

실험 2. 씨앗 재현성 — 우연히 잘 나온 실행이 아니었나
모든 결과가 씨앗 1로 한 번 돌린 실행이었습니다. RL은 씨앗에 따라 결과가 크게 갈리기로 유명한 분야라, 대표 태스크 (sym 계열, 13편 설정)를 씨앗 2로 처음부터 재학습해 같은 잣대로 쟀습니다. g1-sym2는 13편에서 대칭 보상에 회전 게이트를 더한 정책이고, g1-sym-s2는 같은 설정에 씨앗만 바꾼 정책입니다:
| 지표 | 씨앗 1 (g1-sym2) | 씨앗 2 (g1-sym-s2) |
|---|---|---|
| 수렴 보상 | 26.3 | 25.9 |
| 걸음 빈도 | 1.25 Hz | 1.25 Hz |
| 발 들림 | 7.9 / 8.0cm | 7.8 / 7.5cm |
| 보폭 | 29cm | 31cm |
| 발 간격 | 13cm | 16cm |
| 무릎 가동범위(대칭) | −6~52° / −6~53° | −6~55° / −6~52° |
| 회전 추종(좌/우, 목표 ±115°) | +102° / −99° | +107° / −100° |
| 무작위 밀치기 20회 | 20/20(100%) | 20/20(100%) |
재현됐습니다. 세부 수치는 조금씩 다르지만(보폭 29↔31cm, 발 간격 13↔16cm), 구조적 결론 — 박자 걸음, 8cm 발 들림, 무릎 대칭, 회전 부분 저하, 밀치기 강건성 — 이 전부 같습니다. 씨앗 하나를 더 돌리는 데 40분이면 “우연” 반론을 크게 줄일 수 있습니다. 진작 할 걸 그랬습니다.
실험 3. 평가 반복성 — 1회 판정을 성공률로
기존 밀치기 판정은 고정 4방향 × 1회였습니다. 방향(0~360°)·세기·시점을 무작위로 N회 반복하는 도구(g1_push_battery.py)를 만들어 돌렸습니다:
| 밀치기 세기(몸통에 순간적으로 더한 속도) | sym2 (정상 걸음) | 09 push (9편의 셔플 정책) |
|---|---|---|
| 0.5~1.0 m/s (학습 범위) | 20/20(100%) | — |
| 1.0~1.5 m/s (범위 밖) | 20/20(100%) | 20/20(100%) |
| 1.5~2.2 m/s (극한) | 16/30(53%) | 24/30(80%) |
- 학습 범위 안팎(≤1.5m/s)에서는 방향 무관 전승 — 기존 “4/4 회복” 결론이 반복 시험으로 승격됐습니다.
- 극한(1.5~2.2m/s)에서는 셔플이 여전히 우위(80% vs 53%). 11편의 품질·강건성 트레이드오프는 해소된 게 아니라 극한 구간으로 밀려나 살아남아 있습니다 — 1회 판정으로는 보이지 않던 사실입니다. sym2의 실패는 대각선 방향(20~80°, 200~250°)에 몰리는 경향도 보였습니다(향후 훈련 밀치기 분포 설계에 힌트).
종합
| 실험 | 비용 | 얻은 것 |
|---|---|---|
| 한계 실측 | 학습 2회 | 추정 반증 + 16cm 도달 + “추세는 반복으로 확인한 뒤에만” |
| 씨앗 재현 | 학습 1회 | 핵심 결론 전부 재현 — “우연” 반론 약화 |
| 반복 시험 | 평가만 (분 단위) | 1회 판정을 성공률로 + 숨어 있던 극한 트레이드오프 발견 |
세 실험 모두 “새 능력”은 하나도 안 만들었지만, 시리즈의 주장들을 믿어도 되는 주장으로 바꿨습니다. R01이 “채점하지 않은 자유도는 엉뚱한 곳으로 샌다”였다면, R02는 이렇게 요약됩니다:
한 번 본 것은 아직 사실이 아니다. 한계는 재보기 전까지 추정이고, 결과는 재현되기 전까지 우연이며, 판정은 반복하기 전까지 한 번 나온 값일 뿐이다.
이 시리즈의 전체 글 목록 → 시리즈 목차