강화학습¶
시행착오로 배우기: 라벨은 없고 점수만 있습니다. 에이전트가 환경 속에서 행동하고 보상을 받고, 보상이 커지는 행동을 점점 선호하게 됩니다. 알파고가 바둑을 이렇게 배웠고, 내 로봇도 트랙을 이렇게 배웁니다.
용어¶
- 상태(state) — 에이전트가 관측하는 것 (카메라 프레임, 트랙 위 위치).
- 행동(action) — 할 수 있는 것 (조향, 가속).
- 보상(reward) — 내
reward.py가 매 스텝 반환하는 숫자. - 정책(policy) — 배우고 있는 전략: 상태 → 행동.
- 에피소드 — 출발부터 충돌/완주/시간초과까지 한 판.
훈련(이 플랫폼에선 PPO)은 수천 에피소드를 모아 총보상이 커지는 쪽으로 정책을 옮깁니다.
보상 설계가 기술이다¶
에이전트는 내가 쓴 그대로를 최적화합니다 — 내 의도가 아니라:
- 속도만 보상 → 빠르게 제자리를 도는 걸 배울 수 있습니다.
- 매 스텝 "라인 위" 보상 → 안전하게 기어가며 보상만 캘 수 있습니다.
- 피니시에서만 주는 희박한 보상 → 초반에 배울 신호가 거의 없습니다.
좋은 보상은 촘촘하고(자주 피드백), 정렬돼 있고(꼼수 불가), 단순합니다 (항 하나로 시작, 행동이 요구할 때만 추가).
왜 시뮬레이터 전용인가¶
시행착오는 수천 번의 충돌을 뜻합니다 — 시뮬레이션에선 공짜, 현실에선 비쌉니다. 이것이 Sim2Real의 심장입니다: 실패가 공짜인 곳에서 훈련하고, 진짜인 곳에 배포한다. 이 생각을 레이싱 코스에서 해보세요