수학 — 필요한 만큼
선형대수(행렬·고유값 감각), 확률(기대값·분산·조건부·분포), 최적화(경사하강·볼록성의 직관). 측도론은 필요 없다.
식을 유도하지는 못해도 읽고 뜻을 말할 수 있으면 대부분의 자리에서 충분하다.
“강화학습을 안다”로는 자리가 정의되지 않는다 — 어느 도메인의 어느 층을 맡을 것인가로 정해진다
RLHFReinforcement Learning from Human Feedback검증 가능한 보상RLVR · Verifiable Rewards시뮬레이션 엔지니어Simulation EngineerMLOps엠엘옵스도메인 지식Domain Knowledge“강화학습 엔지니어”라는 단일 직무는 사실상 없다. 실제로는 이렇게 나뉜다.
| 직무 | 하는 일 | 핵심 요구 | 시장 맥락 |
|---|---|---|---|
| LLM 후처리 (RLHF · RLVR) | 선호·검증 보상으로 대형 모델 미세조정 | 분산 학습, 대규모 인프라, PyTorch 깊이 | 공고에서 RL보다 post-training·alignment로 불리기도 함 |
| 로봇 학습 엔지니어 | 시뮬 환경·보상·대규모 학습·sim-to-real | Isaac Lab/MuJoCo, 제어 기초, 실물 경험 | 로봇 형태와 제품 단계에 따라 요구가 크게 다름 |
| 로봇 소프트웨어·배포 | 온보드 추론, ROS 2, 안전 층, 실시간성 | C++, 실시간 시스템, 하드웨어 감각 | 학습보다 시스템·배포 비중이 클 수 있음 |
| 시뮬레이션 엔지니어 | 물리·시장 시뮬레이터 자체를 만든다 | 수치해석 또는 미시구조, 성능 최적화 | 도메인 전문성이 강한 역할 |
| 퀀트 (실행·마켓메이킹) | 체결·호가 전략, RL은 그중 한 도구 | 시계열 검증, 미시구조, 저지연 | 역할 수는 제한적이고 경쟁적 |
| RL 응용 (추천·광고·제어) | 밴딧·오프라인 RL로 제품 지표 개선 | 인과추론, A/B, 오프라인 평가 | 밴딧·의사결정 과학 이름으로도 채용 |
| 연구자 | 새 알고리즘·이론 | 논문 실적, 수학 깊이 | 연구 실적 요구가 높은 편 |
채용 규모와 명칭은 지역·시점·회사 분류에 따라 빠르게 바뀐다. 위 표는 순위가 아니라 역할 구분이며, 실제 지원 시점에는 공고 표본을 다시 확인한다.
수학 — 필요한 만큼
선형대수(행렬·고유값 감각), 확률(기대값·분산·조건부·분포), 최적화(경사하강·볼록성의 직관). 측도론은 필요 없다.
식을 유도하지는 못해도 읽고 뜻을 말할 수 있으면 대부분의 자리에서 충분하다.
PyTorch를 깊게
nn.Module 쓰는 수준이 아니라 — 텐서 모양 디버깅, 커스텀 손실, 분산 학습,
프로파일링, GPU 메모리 관리. RL은 파이프라인이 얽혀서 여기가 얕으면 못 버틴다.
소프트웨어 엔지니어링
실험 관리(설정·시드·로깅), 재현 가능한 환경, 테스트, 성능 프로파일링. “돌려 봤더니 되더라”를 못 재현하면 아무 값이 없다 (10장).
환경을 만드는 능력
이 덱이 반복한 그것 — MDP 설계, 보상 설계, 종료 조건, 정규화, 시뮬레이터. 환경 설계는 많은 응용 프로젝트에서 큰 비중을 차지하고, 포트폴리오에서도 역량이 잘 드러난다.
| 영역 | 내용 | 왜 |
|---|---|---|
| 제어 기초 | PD 제어, 상태공간, 안정성 감각 | 정책 아래 층을 이해해야 한다 (14장) |
| 강체 동역학 | 관성·토크·접촉의 직관 | 시뮬 파라미터를 읽으려면 |
| 로봇 SW | ROS 2, URDF/USD, 실시간 루프 | 배포는 결국 여기서 일어난다 |
| C++ | 온보드·실시간 코드 | 학습은 파이썬, 배포는 C++인 경우가 많다 |
| 시뮬레이터 | MuJoCo · Isaac Lab | 15장 |
| 모방학습·VLA | BC · 확산 정책 · 미세조정 | 16장 현장의 주류 |
| 실물 경험 | 저가 팔이든 사족이든 만져 본 것 | 변별점 희소하다 |
주당 10~15시간을 가정한 현실적인 순서다. 각 단계의 산출물이 곧 포트폴리오가 된다.
기초 (4주) — MDP · 벨만 · Q러닝을 직접 구현한다.
표 기반 Q러닝으로 격자 세계를 풀고, 그다음 DQN을 카트폴에 붙인다. CleanRL의 단일 파일 구현을 읽으며 따라 짜는 것이 빠르다. 산출물 — 시드 5개 결과 분포가 담긴 짧은 보고서.
현대 알고리즘 (4주) — PPO와 SAC를 돌리고 차이를 실험으로 확인한다.
같은 연속 제어 과제에서 샘플 효율과 안정성을 비교한다. 구현 디테일(정규화)을 껐다 켜 보며 영향을 잰다 (6장).
환경을 직접 만든다 (3주) — Gymnasium 환경을 하나 처음부터 쓴다.
여기서 보상 설계와 종료 조건의 어려움을 실제로 겪는 것이 목적이다. 리워드 해킹을 한 번 당해 보는 것이 이 단계의 진짜 소득이다.
도메인을 고른다 (2주) — 로봇이냐 트레이딩이냐.
양쪽 다 얕게 하는 것보다 한쪽을 깊게 하는 편이 낫다.
도메인 심화 (8주)
로봇 — MuJoCo 과제 → Isaac Lab 보행 예제 → 도메인 무작위화 실험 → (가능하면) 저가 로봇 팔 + LeRobot로 시연 수집·모방학습.
트레이딩 — 누출 없는 백테스트 프레임워크 → 체결 시뮬레이터 → TWAP 기준선 대비 RL 체결 에이전트 → 워크포워드 검증.
정리 (3주) — 실험 하나를 논문처럼 정리한다.
문제 정의, MDP 표, 기준선, 시드 분포, 절제 실험, 실패한 것과 그 이유. 실패를 정직하게 적은 보고서가 좋은 결과 자랑보다 좋은 평가를 받는다.
| 나쁜 것 | 왜 | 좋은 것 |
|---|---|---|
| “DRL 주식 봇, 연 수익 300%” | 누출·비용 누락이 거의 확실. 의심부터 받는다 | 누출 감사와 비용 민감도를 포함한 워크포워드 보고서 |
| 튜토리얼 재현 그대로 | 변별력이 없다 | 재현 + 절제 실험 + 시드 분포 |
| 알고리즘 목록 나열 | 깊이가 안 보인다 | 하나를 깊게 분해한 글 |
| 시뮬 성적만 있는 로봇 정책 | sim-to-real을 모른다는 신호 | 무작위화 범위에 따른 견고함 곡선, 실물 시도 기록 |
| 결과만 있는 리포지터리 | 재현 불가 | 설정·시드·로그·재현 절차가 있는 리포지터리 |
| 유형 | 예 |
|---|---|
| 문제를 MDP로 옮기기 | “이 문제를 강화학습으로 푼다면 상태·행동·보상을 어떻게 두겠는가” |
| 판정 | “이 문제에 강화학습을 쓸 이유가 있는가” — 1장 |
| 알고리즘 선택 | “왜 PPO인가, SAC가 아니라” |
| 디버깅 | “학습이 안 오른다. 무엇부터 보겠는가” — 9장 |
| 보상 | “이 보상 함수의 허점은” — 8장 |
| 평가 | “이 결과를 어떻게 믿을 수 있는가” — 10장 |
| 도메인 | 로봇 — sim-to-real 처방 / 트레이딩 — 누출 사례 |
응용 면접에서는 “판정”과 “디버깅” 질문이 중요하다. 알고리즘 유도 비중은 역할마다 다르고, 이론 유도를 깊게 묻는 자리는 연구 성격이 강한 편이다.
| 자료 | 성격 |
|---|---|
| Sutton & Barto, Reinforcement Learning: An Introduction | 표준 교재. 앞의 여섯 장이 이 덱의 2~5장에 대응 |
| OpenAI Spinning Up in Deep RL | 구현 중심 입문. 알고리즘별 설명과 코드 |
| CleanRL | 단일 파일 구현. 읽기 위한 코드 |
| Stable-Baselines3 문서 | 구현·평가·하이퍼파라미터 출발점 |
| Gymnasium 문서 | 환경 API의 원본 |
| Isaac Lab 문서 · MuJoCo 문서 | 로봇 방향의 공식 자료 |
| LeRobot 문서 | 실물 조작·VLA의 실용 진입로 |
| rliable | 여러 과제의 IQM·성능 프로파일·개선 확률 보고 (10장) |
논문은 최신을 좇기보다 각 갈래의 원본(DQN · PPO · SAC · CQL/IQL · Diffusion Policy)을 한 번씩 읽고, 그다음은 자기 도메인의 것만 따라가는 편이 지속 가능하다.