TT Lab
요금제

한국어

시작하기
블로그

블로그

보상 설계와 행동 공간: 희소 보상과 형태 보상, 보상 해킹, 관절 한계 벌점, 직접 제어 대 하이브리드

상태: 초안 (2026-10-18), 실측. 숫자는 노트북(Apple M1 Max, macOS 26.5)의 Python 3.9.6·numpy 2.0.2 로 직접 계산한 시뮬레이션 값입니다. 원자료와 코드: 작업 디렉터리 measure/robot-arm-basics/rl/의 ttenv.py, ppo.py, exp_rl.py, 결과 out/rl/rew_*, out/rl/hyb_*, out/rl/ppo_base_*. 모든 학습은 시드 3개이고 평가는 학습에 쓰지 않은 공 1,000개입니다. 실제 로봇 실험은 없습니다(하드웨어 미실측). 참고 자료는 2026-10-18 에 열람했습니다. 작성 규칙: 실측 데이터가 기본이고, 못 잰 것은 「미실측」, 확인하지 못한 것은 「미확인」으로 표시합니다.

목차

1. 직관: 시킨 대로 한다

강화학습 에이전트는 설계자의 뜻을 모릅니다. 보상의 합을 키우는 일만 압니다. 「공을 맞히면 상」이라고 하면 공을 맞히는 데 가장 쉬운 방법을 찾고, 그 방법이 공을 탁구대에 넣는지는 신경 쓰지 않습니다. 보상이 원하는 것과 어긋난 틈을 파고드는 현상을 보상 해킹(reward hacking)이라 부릅니다. Amodei 외 2016 은 AI 안전의 구체적 문제 다섯 가지 가운데 하나로 이것을 꼽았습니다.

행동 공간(action space)도 같은 무게의 설계입니다. 정책이 10 ms 마다 관절 가속도를 정하게 할 수도 있고, 한 번만 「언제, 얼마나 세게」를 정하게 하고 나머지를 1~10편의 고전 방법에 맡길 수도 있습니다. 앞의 것은 자유롭지만 배울 것이 많고, 뒤의 것은 빨리 배우지만 고전 부분이 틀리면 그 한계에 갇힙니다.

2. 보상 다섯 가지

모두 직접 제어(10 ms 마다 관절 가속도), PPO 기본 설정(12편), 에피소드 19,200개입니다.

이름 보상 의도
희소 상대 탁구대에 넣으면 1, 아니면 0 원하는 것 그대로
형태(기본) 맞히면 0.3, 넣으면 +1, 목표(y = 0.9 m)에 가까울수록 최대 +0.5, 놓치면 라켓과 공의 최근접 거리만큼 감점(최대 −0.5) 학습 초기에 길잡이를 준다
형태 + 한계 벌점 위에 더해, 관절 한계에 닿은 걸음마다 −0.05 안전
맞히기만 라켓에 맞으면 1 해킹 실험
공 속도 맞은 뒤 공 속력 ÷ 10 해킹 실험(「세게 치면 좋겠지」)

학습은 보상으로 하지만 평가는 늘 같은 기준, 즉 「상대 탁구대에 넣었나」로 합니다. 보상을 바꾼 실험에서 보상 숫자를 비교하는 것은 의미가 없기 때문입니다.

3. 실측: 보상

보상을 바꾸면 배우는 것이 바뀐다(직접 제어, 공 1만 9천 개) 0 25 50 75 100 % 87 93 40 희소 83 93 70 형태(기본) 89 92 8 형태+ 한계 벌점 0 99 100 맞히기만 0 98 100 공 속도 성공(돌려보냄) 라켓에 맞음 관절 한계에 닿은 에피소드 평가 공 1,000개, 시드 3개 중앙값(막대)과 최소~최대(선).
그림: 보상별 성공률, 라켓에 맞은 비율, 관절 한계에 닿은 에피소드 비율
보상 성공 중앙(최소~최대) 라켓에 맞음 관절 한계에 닿은 에피소드 맞은 공 속력 중앙
희소 86.8% (75.4~90.7) 92~96% 5~48% 5.2 m/s
형태(기본) 82.9% (76.8~90.9) 88~94% 4~79% 5.3~5.6 m/s
형태 + 한계 벌점 89.2% (77.9~90.3) 84~92% 5~8% 5.3~5.5 m/s
맞히기만 0.0% (0.0~8.9) 98~99% 100% 9~28 m/s
공 속도 0.0% (0.0~0.0) 98% 100% 28.6 m/s

3.1 보상 해킹

「맞히기만」과 「공 속도」는 보상 기준으로는 크게 성공했습니다. 라켓이 공의 98% 를 맞혔고, 「공 속도」 정책은 공을 평균 28.6 m/s 로 날려 보냈습니다. 하지만 탁구대에 들어간 공은 거의 없었습니다. 두 정책 모두 모든 에피소드에서 관절을 한계까지 휘둘렀습니다. 라켓을 가장 빠르게 하면 공에 닿기 쉽고 공도 빨라지기 때문입니다. 실제 로봇이었다면 매 타구마다 관절 멈춤 장치를 때리는 정책입니다.

교훈은 단순합니다. 보상의 숫자가 아니라 진짜 목표로 평가하고, 보상이 오르는데 목표가 그대로면 해킹을 의심합니다.

3.2 희소 보상과 형태 보상

형태 보상은 「학습 초기 길잡이」로 흔히 권해지지만, 이 문제에서는 희소 보상(86.8%)이 형태 보상(82.9%)보다 오히려 조금 높았습니다(시드 3개라 차이는 범위 안). 이유를 추정하면 둘입니다. 첫째, 무작위 정책도 1.5% 는 성공하므로(11편) 반복마다 64개 에피소드 가운데 한두 개는 성공 신호를 받습니다. 성공이 그만큼 드물지 않으면 길잡이가 크게 필요하지 않습니다. 둘째, 「맞히면 0.3」 같은 중간 보상은 「맞히고 탁구대 밖」을 「놓치기」보다 낫다고 가르치므로 목표와 조금 다른 방향을 섞습니다. 형태 보상은 성공이 훨씬 드문 문제(예: 처음부터 7자유도 팔로 스매시)에서 값을 하고, 그때도 목표와 어긋나지 않게 설계해야 합니다(미실측).

3.3 관절 한계 벌점

벌점 하나로 한계에 닿은 에피소드가 4~79% 에서 5~8% 로 줄었고 성공률은 떨어지지 않았습니다(89.2%). 12편의 기본 정책이 한계를 친 것은 한계를 치는 것이 필요해서가 아니라 치지 말라는 말을 듣지 못해서였습니다. 안전 조건은 보상이 아니라 제약으로 다루는 편이 더 확실하다는 관점도 있습니다. 실제 로봇은 벌점과 별도로 제어기 쪽의 하드 리밋을 둡니다.

4. 행동 공간: 직접 제어 대 하이브리드

직접 제어는 11편 그대로입니다. 에피소드마다 결정이 100번 안팎이고, 타이밍·궤적·라켓 각을 모두 정책이 스스로 찾아야 합니다.

하이브리드는 첫 걸음에 숫자 두 개만 고릅니다. 접점 각에 더할 보정 Δφ(±0.15 rad)와 타격 순간 라켓 각속도 φ̇_c(0~8 rad/s)입니다. 나머지는 고전 방법입니다. 공 비행 모델(6편)로 공이 라켓 원호에 들어오는 위치와 시각을 예측하고, 그 자리에 그 속도로 닿는 5차 궤적(8편)을 만들어 그대로 실행합니다. 강화학습 문제로는 한 걸음짜리(문맥 밴딧)가 됩니다. 반복마다 공 64개로 120번 반복(공 7,680개)을 학습했습니다.

예측기는 두 가지로 바꿔 봤습니다. 6편의 「B 모델」처럼 회전을 모르는 예측기와, 회전을 아는 예측기입니다.

행동 공간: 매 10 ms 직접 제어 대 타격 파라미터만 0 5k 10k 14k 19k 0 25 50 75 100 학습에 쓴 에피소드(공) 수 평가 성공률(%) 격자 상한 85% 최선 상수 46% 직접 제어 83% 하이브리드(회전 모르는 예측기) 46% 하이브리드(회전 아는 예측기) 66% 하이브리드는 공 7,680개에서 멈춤. 점선은 학습 없는 기준선.
그림: 직접 제어와 하이브리드의 학습 곡선과 기준선
행동 공간 성공 중앙(최소~최대) 40% 를 처음 넘은 공 수(시드 중앙) 관절 한계에 닿은 에피소드
직접 제어(형태 보상) 82.9% (76.8~90.9) 5,120 4~79%
하이브리드, 회전 모르는 예측기 46.3% (36.1~48.0) 1,920 0~0.7%
하이브리드, 회전 아는 예측기 65.6% (39.0~73.8) 1,280 0.3~0.9%

학습 없는 기준선은 하이브리드 행동 공간의 최선 상수 행동 46%, 회전 모르는 모델의 격자 계획기 40%, 참 결과로 고른 격자 상한 85% 였습니다(11편).

4.1 읽은 것

4.2 실제 시스템의 선택

시스템 학습이 고르는 것
Büchler 외 2022(v1) 근육 8개의 압력 변화(가장 낮은 수준)
D'Ambrosio 외 2023 관절 속도 8개가 기본, 라켓 위치 3 + 법선 2 의 작업 공간 행동도 비교
D'Ambrosio 외 2024 기술 정책은 관절 속도(50 Hz), 그 위의 고수준 제어기는 기술 17개 가운데 하나
Tebbe 외 2021 타격 순간 라켓 상태(방향·속도)

아래로 갈수록 고전 부분(궤적, 역기구학, 공 예측)에 더 많이 맡깁니다. 오픈하드웨어 첫 로봇에는 하이브리드로 출발해 표본 효율과 안전을 얻고, 고전 부분의 약점(회전 예측)을 드러낸 뒤 그 부분을 고치거나 학습으로 넓히는 순서를 권합니다.

5. 한계

6. 정리

티티 한마디. 「공을 맞히면 칭찬」이라고 했더니 로봇이 공을 다 맞히고 하나도 안 넣었어요. 칭찬은 진짜 원하는 것에만 해야 해요!

참고

모든 자료는 2026-10-18 에 열람했습니다.

로그인하면 좋아요를 누를 수 있습니다

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다