Learning to Walk in Minutes 논문 요약 — 대량 병렬 시뮬레이션으로 보행을 빨리 학습하는 법

보행 정책을 빨리 학습했다는 말은 매력적이지만, 연구자에게 더 중요한 질문은 따로 있습니다. Learning to Walk in Minutes Using Massively Parallel Deep Reinforcement Learning은 대량 병렬 시뮬레이션으로 보행 정책을 짧은 시간에 만들 수 있음을 보였습니다. 저는 이 논문을 H1 보행 환경을 구성하던 초기에 읽었지만, 논문의 ‘몇 분’이라는 숫자를 제 프로젝트의 목표치로 옮기지는 않았습니다. 로봇의 형태와 관측, 보상, 하드웨어가 달라지면 같은 학습 시간은 전혀 다른 품질을 뜻할 수 있기 때문입니다.

Learning to Walk in Minutes: 대량 병렬 시뮬레이션

이 논문이 줄인 것은 학습 시간이 아니라 판단까지의 거리였습니다

강화학습에서는 정책이 행동을 하고, 그 결과로 보상을 받은 뒤, 다음 행동을 조금 수정합니다. 이 반복이 느리면 보상 하나를 바꾼 뒤 그 판단이 맞는지 확인하는 데도 긴 시간이 듭니다. Rudin 등의 논문은 하나의 GPU 위에서 수천 개의 가상 로봇을 동시에 움직여 이 대기 시간을 줄였고, 평지와 거친 지형에서의 보행 정책을 실제 로봇까지 옮겨 검증했습니다. 핵심은 PPO라는 알고리즘 이름보다, 시뮬레이션·rollout·정책 갱신을 한 피드백 루프로 묶어 연구자가 다음 가설을 빠르게 시험하게 만든 설계에 있습니다.

여기서 병렬 환경은 같은 장면을 여러 번 복사하는 장치가 아닙니다. 각 환경은 다른 초기 자세와 명령을 받기 때문에, 한 번의 정책 갱신에 더 다양한 접촉과 균형 붕괴의 사례가 들어갑니다. 다만 환경 수를 늘렸다고 곧바로 좋은 보행이 생기지는 않습니다. 관측에 필요한 정보가 빠져 있거나 보상이 엉뚱한 자세를 칭찬하면, 병렬화는 잘못된 답을 더 빨리 찾게 할 뿐입니다.

속도를 높인 핵심은 알고리즘 하나가 아니었습니다

이 논문이 해결한 문제는 PPO 자체가 느리다는 것이 아니라, 로봇 시뮬레이션과 정책 학습 사이의 데이터 이동과 순차 실행이 병목이라는 점이었습니다. Isaac Gym은 물리 시뮬레이션과 신경망 학습을 같은 GPU에 두고 수천 개 환경을 동시에 굴렸습니다. CPU에서 궤적을 모아 GPU로 옮기는 왕복을 줄이자 한 번의 PPO 업데이트가 훨씬 많은 경험을 볼 수 있게 됐습니다.

수천 개 ANYmal
GPU 병렬 물리 시뮬레이션
Rollout batch
관측·행동·보상 동시 수집
PPO update
actor·critic과 advantage 갱신
Terrain curriculum
성공하면 난이도 상승
실물 전이
지형 인식과 정책을 결합해 평가
병렬화는 단순히 시간을 줄인 것이 아니라 같은 시간 안에 더 많은 지형과 실패 사례를 보게 했습니다.

보상과 커리큘럼은 어떻게 맞물렸을까요

정책은 명령 속도와 회전 속도를 따라가면 보상을 받고, 수직 운동·불필요한 회전·큰 토크·급격한 행동 변화에는 페널티를 받습니다. 발이 공중에 머무는 시간 같은 보행 형태 항도 포함해 “넘어지지 않기”만으로는 얻을 수 없는 걸음 패턴을 유도했습니다. 지형 난이도는 게임 스테이지처럼 성과에 따라 올라가거나 내려가며, 처음부터 가장 어려운 지형을 주어 학습이 붕괴하는 것을 막았습니다.

PPO는 이전 정책과 너무 멀리 이동하지 않도록 clipped objective를 사용합니다. 병렬 환경은 많은 샘플을 제공하지만 잘못된 보상도 더 빨리 증폭합니다. 그래서 이 논문의 교훈은 GPU를 많이 쓰면 해결된다는 것이 아니라, 병렬 수집·보상 설계·난이도 조절·평가가 하나의 루프로 맞아야 한다는 것입니다.

논문의 ANYmal 결과와 H1·G1 휴머노이드 결과는 형태와 관절 구조가 다르므로 직접 같은 성능으로 해석하지 않습니다.

학습 시간과 전이 결과

실험 구성 보고 결과
평지 보행 4096개 환경, GPU 1장 4분 미만
거친 지형 4096개 환경, 1500회 반복 약 20분
실물 ANYmal C 고도 지도와 정책 결합 계단·장애물 통과

실물에서는 지형 인식 품질 때문에 최대 속도를 시뮬레이션의 0.75m/s보다 낮은 0.6m/s로 제한했습니다. 이 차이는 시뮬레이션 성공률만으로 실물 성능을 선언하면 안 된다는 근거입니다. 논문의 빠른 학습 시간은 특정 GPU·환경 수·과제 정의에서 측정된 값이므로, 제 G1 환경의 시간과 직접 비교할 때도 조건을 함께 기록해야 합니다.

H1에서는 ‘빨리 돌리는 구조’가 먼저 필요했습니다

초기 H1 작업에서 제가 풀고 싶었던 문제는 완성된 보행을 곧바로 만드는 일이 아니었습니다. 먼저 정책 학습이 실제로 반복 가능한지, 같은 조건에서 평가 결과가 다시 나오는지, 그리고 보상을 바꿨을 때 무엇이 달라졌는지를 분리해 읽을 수 있는지를 확인해야 했습니다. 그래서 복잡한 지형이나 많은 기능을 한꺼번에 넣기보다 평지 보행의 기준선을 먼저 두고, 학습과 평가는 서로 다른 단계로 다뤘습니다. 이는 논문의 병렬 학습 구조를 복사한 것이 아니라, 빠른 실행보다 빠른 판단이 먼저라는 원칙만 가져온 선택이었습니다.

이 기준은 곧 한계를 드러냈습니다. 에피소드가 오래 이어졌다는 사실만으로 정책이 잘 걷는다고 말할 수 없었습니다. 넘어지지 않은 채 명령을 충분히 따르지 않는 경우, 특정 조건에서만 버티는 경우, 또는 종료 조건이 관대해서 좋아 보이는 경우가 모두 가능했기 때문입니다. 그래서 학습 로그와 별도로 이동, 자세, 접촉, 중단 조건을 시나리오별로 확인해야 했고, 이 판단 방식은 이후 PPO의 rollout과 clipping을 정리한 글평균 reward만으로 정책을 판단할 수 없는 이유로 이어졌습니다.

H1에서 G1으로 옮긴 이유

H1에서 G1으로 바꾼 것은 H1의 결과가 무의미해서가 아니었습니다. H1은 병렬 시뮬레이션, 정책 학습, 평가 기준을 한 흐름으로 묶는 초기 검증 대상이었습니다. 그러나 프로젝트의 초점이 ‘보행 정책 하나를 돌려 보는 것’에서, 더 많은 관절과 상체를 가진 휴머노이드에서 균형·동작·후속 조작 과제를 함께 다루는 구조로 옮겨가면서 H1의 단순화된 전제를 그대로 유지하기 어려워졌습니다. 그래서 현재는 G1을 중심으로, 로봇의 형태가 달라질 때 관측·행동·평가 기준도 다시 검증해야 한다는 전제에서 작업하고 있습니다.

전환에서 버린 것은 H1이 아니라 ‘한 로봇에서 통했던 수치를 다른 로봇에도 그대로 적용해도 된다’는 생각입니다. 관절 구성과 몸의 질량 분포가 바뀌면 같은 명령이라도 균형에 미치는 영향이 달라지고, 정책이 보는 상태와 낼 수 있는 행동의 의미도 달라집니다. 따라서 H1의 병렬화 경험은 G1의 출발점이 될 수는 있어도, G1의 보상이나 정책을 정당화하는 증거는 아닙니다. 현재 G1에서 무엇을 확인하고 있는지는 G1 보행 정책을 어떻게 학습하고 있는가에서 별도로 기록하고 있습니다.

논문에서 가져온 구조와 남겨 둔 검증

이 논문을 읽고 곧바로 가져올 수 있는 것은 대규모 병렬 시뮬레이션이라는 실행 구조입니다. 이는 이미 H1 초기 단계와 현재 G1 학습의 공통된 기반으로 남아 있습니다. 반면 논문의 지형 커리큘럼이나 특정 실험 조건은 현재 프로젝트에 그대로 이식하지 않습니다. 커리큘럼은 쉬운 조건에서 어려운 조건으로 과제를 늘려 가는 방식이지만, 무엇을 쉬움으로 정의할지부터 로봇과 과제에 따라 달라지기 때문입니다.

다음 단계에서 검증할 것은 ‘얼마나 빨리 학습했는가’가 아니라 ‘같은 판단을 얼마나 짧은 주기로 되돌려 받을 수 있는가’입니다. 이를 위해 학습 조건, 평가 시나리오, 중단 기준, 결과 해석을 분리해 남겨야 합니다. 최근에는 이 역할을 사람이 매번 기억에 의존하지 않도록, 다음 판단에 필요한 증거를 모으는 구조도 따로 정리하고 있습니다. 그 이유는 학습 루프의 구조적 문제와 수정 방향에서 확인할 수 있습니다.

이 논문을 재현했다고 말하려면

수천 개 환경을 한 번 실행했다고 해서 이 논문을 재현한 것은 아닙니다. 논문이 주장한 조건과 제 로봇·과제·하드웨어의 차이를 밝히고, 시간 측정의 범위와 평가 기준을 함께 제시해야 비로소 비교가 가능합니다. 특히 ‘학습 시간’에는 초기화, 시뮬레이션, 정책 갱신, 평가 중 무엇을 포함했는지가 따라붙어야 합니다. 이 구분이 없으면 빠르다는 말은 인상만 남기고 다음 실험의 판단 근거가 되지 못합니다.

H1 기록은 그래서 과거의 초안이 아니라, G1으로 넘어가기 전에 무엇을 배웠는지 보여 주는 기준점으로 남깁니다. 이 논문이 준 가장 큰 교훈은 정책을 빨리 만드는 법보다, 결과를 기다리는 시간을 줄이되 결론을 서두르지 않는 법이었습니다. 다음 글에서는 G1에서 이 원칙을 어떤 관측과 평가 구조로 다시 적용하고 있는지 이어서 다룰 예정입니다.


논문 원문: Rudin et al., Learning to Walk in Minutes Using Massively Parallel Deep Reinforcement Learning (CoRL 2021)

함께 읽기: G1 보행 정책을 어떻게 학습하고 있는가 · PPO는 로봇을 어떻게 학습시키는가 · 평균 reward가 올랐는데 왜 로봇은 망가졌을까

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤