정책에 보이는 것과 바꿀 수 있는 것을 명세한다
관측은 단순한 텐서 길이 보다 구체적인 계약이 필요하다. 관절 순서·각도/속도 단위·body/world 프레임·정규화·이력 길이·이전 행동·명령과 마스크를 적는다. 학습에서 쓴 정확한 속도를 배포 센서가 제공하지 못하면 같은 모델 입력을 만들 수 없다. 누락 값을 0으로 채울 때는 물리적인 0 과 구별할 마스크/대응 정책을 정한다. 관측이 오래 됐을 때의 유효 기간도 필요하다.
행동은 관절 위치 목표·속도·토크·잔차 등 무엇을 뜻하는지 고정한다. 자체 계약은 정규화 행동 a를 기본 관절각 q0에 더해 q_des=q0+s×a로 만드는 위치 잔차다. q0.2rad·s.5rad·a.4 면 목표.4rad다. .4를 곧바로 토크로 보내거나 현재 관절각에 반복 누적하면 다른 제어가 된다. 최종 limit과 속도/변화율·제어주기도 별도로 정한다. 정책 주기와 물리 적분/PD 주기가 다르면 한 행동을 몇 스텝 유지하는지 명시한다.
보상 항목마다 유도하는 행동을 읽는다
보상은 명세한 목표의 대리 신호다. 자체 1 스텝 보상 r=진행 거리(m)−0.01× 에너지 점수 −2× 충돌 여부로 정의하자. 에너지 점수는 비교용 무차원값이며 실제 Joule 측정이 아니다. 진전 1/에너지 10/충돌 0 인 A는.9, 진 전 2/에너지 5/충돌 1 인 B는 −.05다. 이 규칙에서 A가 선호되지만 충돌 벌점이.2로 바뀌면 B는 1.75로 더 커진다. 보상 숫자만 조정하면 과제의 우선순위가 바뀐다.
충돌이 절대 금지되는 조건이라면 작은 음의 보상만으로 만족을 보장하지 못한다. 종료·동작 범위/감독·별도 제약 위반 판정이 필요하다. 낮은 위반률도 위험의 허용을 뜻하지 않으며 실제 실물 허용은 별도 검증이다. 보상 항목과 완료 기준을 같은 숫자로 합쳐서 실패를 감추지 않는다.
목표를 우회해 점수를 얻는 반례
Reward hacking은 정책이 설계자가 원한 과제보다 보상 계산의 빈틈을 이용하는 현상이다. 목표에 가까워질 때만 +1을 주고 멀어질 때 0이라면, 경계 앞뒤를 반복해 돌아오며 진짜 도착 없이 점수를 벌 수 있다. 거리 차이를 부호 포함해 매 스텝 보상으로 주면 왕복의 증가는 상쇄될 수 있지만 할인·종료·구간 경계와 다른 항까지 확인해야 한다. 한 반례를 고쳤다고 모든 우회를 막은 것은 아니다.
자체거리열 2→1→2→1m에서 양의 감소만 세면 1+0+1=2m 상당 보상이다. 부호 있는 감소는 1−1+1=1m로 최종 거리 변화와 같다. 실제 성공은 별도 목표 거리/속도/유지 시간 조건으로 판정한다. 멈춰서 넘어지지 않는 정책이 넘어짐 벌점을 피할 수 있어도 지 령 추종에 성공한 것은 아니다. 에피소드를 빨리 끝내 다른 벌점을 피하는 경우도 종료/보상 정의를 함께 검토한다.
보상 크기와 주기를 함께 비교한다
한 스텝 고정 벌점 −.1을 10Hz에서 1초 적용하면 −1,100Hz에서는 −10이다. 시간적분을 원했다면 dt 곱과 보상 정의가 필요하다. 같은 보상 코드라도 주기가 바뀌면 다른 목적이 될 수 있다. 이벤트 한 번의 성공/충돌 보상은 시간 밀도 보상과 구별한다. 물리 서브 스텝마다 평가하는지 정책 스텝마다 평가하는지도 기록한다.
보상 스케일은 critic 목표·gradient·entropy 항과의 상대 비중에 영향을 준다. 어떤 알고리즘의 학습률/정규화 설정을 고정해 다른 스케일로 바꾸면 단순 성공 신호 변경 이상으로 학습 안정성이 달라질 수 있다. 변경 실험은 한 번에 원인 하나를 바꾸고 학습 seed/예산·평가 조건과 체크 포인트 선정 규칙을 고정한다.
점수와 과제 수행을 별도 표에 남긴다
평가 표에는 원래 목표 성공률·지령추종오차·충돌/넘어짐·완료 시간·제어 한계 위반·관측 누락·보상 항목별 합을 같이 적는다. 정상/외란/센서 누락/지연과 훈련 범위 밖 조건을 나눠 본다. 평가 실패 장면을 모두 훈련에 추가했다면 새로운 독립 평가가 필요하다. 보상 수정 후 잘된 영상 한 개가 아니라 모든 시도의 분모와 실패 이유를 보존한다. M23.04에서는 이 계약을 환경 구성/병렬 수집 설정으로 옮긴다.
실험을 수정하기 전에는 대표 실패를 이름 붙여 기록한다. 예를 들어 왕복 반복, 제자리 정지, 조기 종료, 센서 무시를 각각 다른 사례로 둔다. 수정한 정책을 같은 초기 조건에서 다시 비교하고, 원래 성공하던 조건에서 새 실패가 생기지 않았는지도 확인한다. 보상 항목을 늘리기만 하면 문제를 해결했다는 인상을 주기 쉬우므로 항목별 합과 실제 행동을 연결해 설명한다.
관측 정규화 통계는 학습 구간에서 만들고 평가/배포에서 어떻게 고정하는지 명세한다. 평가 중 계속 통계를 갱신하면 서로 다른 시도의 입력 척도가 바뀔 수 있다. 행동 출력이 limit에 자주 걸리는지도 기록한다. 출력이 포화된 채 보상만 높아지는 경우에는 명령/관측 계약과 가중치를 다시 점검하며, 제한 값을 조용히 넓혀 점수를 맞추지 않는다.