오픈랩 2026 · PPO 강화학습 자율주행

F1 RL — 전 세대 학습 비교 분석

v1 → v11 · 학습 과정(곡선)과 결과(평가)의 종합 · 2026-06-09

5→100%
zero-shot 완주율 (v1→v9)
v7
모나코 첫 완주 (역대 최초)
v9
최속·무결점 (랩 62.3s)
v11
최적 레이싱라인 (학습 중)

01 세대별 진화 — 무엇을 바꿨나

각 세대는 직전의 약점 하나를 겨냥해 보상·센서·물리를 바꿨다. CPU(v1–v5) → GPU 포팅(v6) → 멀티트랙(v6.1+) → 센서 개편(v7) → 속도·코너링(v9–v11).

02 학습 곡선 — 실제 학습 로그 (정규화)

학습 진행도(0→100%)로 정규화해 세대를 겹쳐 비교. 점선=CPU 세대(v1–v5, 6000~7000 updates·서버 로그), 실선=GPU 세대(v9–v11, 1500 updates 완료). v6–v8은 로그 소실로 미포함.
v1 v2 v3 v4 v5 v9 v10 v11
평균 주행거리 (m) · 학습 진행% — 높을수록 완주 능력↑
정책 엔트로피 · 학습 진행% — 탐험→수렴
엔트로피 차트가 전 세대 서사를 압축한다: v1은 −7까지 붕괴(entCoef=0), v2~v4는 반대로 +8~10까지 폭발·포화(클램프드 가우시안 병리 — v4는 천장 10.26 고착), v5는 감쇠 스케줄로 제어(8.6→7.7). v9·v10은 GPU 대배치로 비로소 매끄럽게 음수까지 수렴(안정). v11은 초반 상승(라인추종이 탐험 요구)했다 entDecay로 0.41까지 완전 수렴 — 결국 가장 공격적인 레이싱라인을 안정적으로 학습. 주행거리(왼쪽)는 세대가 갈수록 더 빨리·높이 수렴.

03 학습 결과 — 전 세대 평가표

held-out 40롤아웃(처음 보는 랜덤맵 20×정·역 + 실제 F1 4트랙). ZS=zero-shot. 이탈↓·중앙도↓·편향↓·apex↑·랩타임↓ 이 좋음.
v1–v8 수치는 보고서_RL_v1-v8.md, v9·v10은 금일 재평가(compareModels·compareRacingLine), v11은 학습 완료 후 합류.

04 세대별 발전 과정 — 꺾은선

v1→v11 세대를 따라 핵심 지표가 어떻게 발전했는지. 완주·실제완주는 ↑, 이탈·편향·랩타임은 ↓, apex는 0을 넘어 +가 좋음.
① zero-shot 완주율 & 진행률 (%) — 일반화 능력 ↑
② 안정성 — 이탈율 & 방향편향 (%) — 낮을수록 ↑
③ 레이싱라인 품질 — apexBias — v7서 +로 전환(인코스)
④ 완주 랩타임 (초) — 낮을수록 빠름
완주율은 v1 5% → v9 100%로 우상향. apexBias는 v4~v6.5 음수(센터 고수/바깥)였다가 v7 센서 개편서 +0.25로 전환(처음으로 진짜 레이싱라인). 랩타임은 v7 이후 62~63초대로 수렴. v10에서 완주율이 살짝 꺾인 게 휴리스틱의 한계.

05 모나코 완주 시간 — 자동 복귀 포함

최난관 모나코(헤어핀). 깔끔히 완주하는 세대는 실제 랩타임, 미완주 세대는 race/rl.html의 이탈 후 자동 복귀(3초+ → 출발선 리셋)를 켠 채 400초까지 재시도시킨 결과. 복귀로도 v1~v6.5는 미완주(DNF) — 모나코는 리셋으로 못 넘는 벽이었고 v7 센서 개편이 돌파.
두 가지 실패 양상: 워시아웃형(v1~v4·v6.1)은 출발선 리셋해도 같은 코너서 또 튕김(v1은 리셋 82회·0% / v6.1만 71% 도달). freeze형(v5·v6.5)은 이탈을 안 해 복귀가 안 걸림(6km/h 정지). v7부터 0리셋 클린 완주 → v11 99.1초로 역대 최초 100초 돌파.

06 최신 3세대 — 코너 이탈 해결 시도

사용자 관찰: "v9는 코너 완만하면 압도, 타이트 코너 多면 종종 이탈". 두 접근으로 해결을 시도.

v9 · 속도 프런티어

speedBonus+cornerSpeedBonus로 코너에서도 가속 보상 → 직선·완만코너 압도(최속 62.3s). 단 타이트 코너 진입 과속 → 이탈 1%.

v10 · 휴리스틱

선행제동 페널티 + out-in-out 목표를 손으로 설계. 결과: 모나코 이탈 1%→0%만 개선, zero-shot 완주 100→93%로 오히려 악화. 추정 신호가 낯선 맵서 노이즈.

v11 · 알고리즘 ✅

minimum-curvature racing line을 실제로 계산(scipy)해 레퍼런스 → 오차 반비례 보상. 결과: 코너 이탈 0%(역대 최저)·apexBias 0.48(진짜 out-in-out)·모나코 99.1s(첫 100초 돌파). 단 zero-shot 완주 90%(v9 100%).

결론: v10 휴리스틱은 실패했지만 v11 알고리즘은 성공. 사용자가 본 "코너 이탈"을 ZS이탈 0%로 해결하고, 진짜 레이싱라인(폭활용 0.51)을 타며 전 트랙 최속 랩(모나코 99.1s·베가스 83.7s). 비용은 zero-shot 완주 90%(v9 100%) — 최적 라인을 정밀히 따르느라 낯선 맵서 가끔 랩을 못 닫지만 이탈은 안 함. 발표용 쇼케이스는 v11, 순수 robustness는 v9.

생성: Claude Code · 데이터: home(M3 Ultra) PPO 학습 로그 + held-out 평가 · @f1/trainer