기록 메모. 이 글은 넘어지지 않는 정책을 곧바로 좋은 보행으로 부를 수 없다는 문제에서 출발했다. 생존률 하나로 결론 내리는 대신, 움직임의 질을 별도의 질문으로 평가해야 한다고 판단했다.
로봇이 끝까지 넘어지지 않았다면, 그 보행은 좋은 보행일까? 강화학습으로 보행을 만들 때 가장 먼저 눈에 들어오는 지표는 대개 생존 여부다. 나도 처음에는 오래 버틴 결과를 강한 신호로 보고 싶었다. 하지만 움직임을 다시 보면, 넘어지지 않는 것과 사람에게 자연스럽게 보이는 것은 전혀 다른 질문이라는 점이 드러난다.
생존은 출발점이지 결론이 아니었다
생존 여부는 제어가 바로 무너지지 않는지를 보여 주기 때문에 꼭 필요하다. 다만 이 지표 하나로는 로봇이 원하는 방향을 잘 따르는지, 몸통과 다리의 움직임이 서로 어울리는지까지 알 수 없다. 그래서 생존 시간만 늘리는 방향을 곧바로 좋은 보행의 기준으로 삼지 않기로 했다. 먼저 안전하게 움직일 수 있는지를 확인하고, 그다음에 움직임의 질을 따로 물어야 했다.
숫자와 눈으로 보는 장면은 다른 질문에 답한다
숫자는 같은 조건에서 비교할 수 있게 해 주지만, 동작의 모든 특징을 담지는 못한다. 예를 들어 자세가 어색하거나 균형을 잡기 위해 불필요하게 큰 움직임을 해도, 일부 수치만으로는 지나칠 수 있다. 반대로 한 번의 흔들림이 있어도 전체적인 동작이 더 나은 방향으로 변했을 가능성도 있다. 그래서 나는 숫자를 버리는 대신, 숫자와 실제 움직임을 함께 보며 서로 다른 질문에 답하게 하기로 했다.
좋은 보행을 한 문장으로 정의하지 않는다
좋은 보행은 단일한 모양이 아니라 여러 조건이 겹친 결과다. 넘어지지 않아야 하고, 목표한 움직임을 따라야 하며, 자세가 한쪽으로 무너지지 않아야 한다. 이 조건을 한 점수로 합쳐 판단하면 무엇이 좋아졌고 무엇이 나빠졌는지 놓치기 쉽다. 그래서 각 조건을 나누어 보고, 어떤 조건 때문에 다음 단계로 가지 못했는지를 기록한다.
평가는 다음 변경의 방향을 고르는 일이다
평가 기준을 넓히는 이유는 실패를 더 많이 찾기 위해서가 아니다. 생존은 유지되는데 움직임의 질이 부족하다면, 무작정 학습 시간을 늘리기보다 어떤 부분을 다시 질문해야 할지 고르기 위해서다. 나는 이때 환경, 관측, 행동을 고르는 방식, 평가 기준 중 무엇이 먼저 의심되는지 기록한다. 좋은 평가란 합격 여부를 붙이는 일이 아니라, 다음 변경이 막연해지지 않게 하는 일에 가깝다.
‘통과’보다 ‘보류’가 필요한 순간
결과가 어느 기준에서는 좋아 보여도, 다른 중요한 조건을 만족하지 못하면 다음 단계로 올리지 않는다. 예전에는 이것이 진전이 없는 것처럼 느껴졌지만, 지금은 보류의 이유가 남아 있는 것도 하나의 결과라고 생각한다. 오늘의 결론은 간단하다. 넘어지지 않는 정책은 필요한 출발점이지만, 좋은 보행을 판단하려면 움직임의 질을 별도의 질문으로 끝까지 확인해야 한다.
다음에는 이 기준을 실제 학습과 기록의 흐름 안에서 어떻게 유지하는지, 다음 실험으로 이어지는 과정을 적어 보려 한다.