개요
All RL Algorithms from Scratch는 강화학습(RL) 알고리즘 18가지를 파이썬으로 직접 구현한 교육용 GitHub 저장소다. 저자는 성능 최적화보다 가독성과 명료함을 우선했으며, NumPy·Matplotlib·PyTorch 같은 기본 라이브러리만으로 각 알고리즘의 핵심 로직을 드러내도록 설계했다. 각 알고리즘은 독립적인 주피터 노트북(.ipynb)으로 제공되며, 치트시트도 함께 포함되어 있다. MIT 라이선스로 공개되었다.
핵심 포인트
-
18개 알고리즘을 4개 계열로 구성 — 가치 기반(Q-Learning, SARSA, Expected SARSA, DQN), 정책 기반(REINFORCE, TRPO), 액터-크리틱(A2C, A3C, PPO, DDPG, SAC), 계획·모델 기반(Dyna-Q, MCTS, PlaNet), 다중 에이전트(MADDPG, QMIX), 계층적 강화학습(HAC)을 포함한다.
-
교육 목적에 특화된 설계 — 각 노트북에 단계별 설명, 학습 곡선·Q-값 히트맵·정책 그리드 같은 시각화가 포함되어 있어 RL 입문자가 개념을 실험하며 익힐 수 있다. 다만 HAC 등 일부 복잡한 노트북에는 버그나 미완성 구현이 있을 수 있다고 저자가 밝히고 있다.
-
설치 간소화 —
uv를 이용한 빠른 가상환경·의존성 설치를 안내한다. A3C는 주피터 노트북의 멀티프로세싱 문제로a3c_training.py를 터미널에서 직접 실행하도록 권장한다. -
치트시트 제공 — 18개 알고리즘의 핵심 수식과 업데이트 식을 한 파일에 정리한
cheatsheet.md가 저장소에 포함되어 있다. 어드밴티지/리턴의 배치 표준화가 학습 안정성에 도움이 된다는 팁과, 오프폴리시 계열(SAC, DDPG)은 샘플 효율이 높고 온폴리시 계열(PPO, A2C)은 튜닝이 쉽다는 비교도 담겨 있다.
왜 중요한가
RL 알고리즘을 실제로 구현해보지 않고 상위 레벨 라이브러리의 추상화만 사용하면 알고리즘의 내부 동작을 제대로 이해하기 어렵다. 이 저장소는 각 알고리즘을 최소 의존성으로 처음부터 끝까지 직접 구현한 노트북을 제공함으로써, 연구자나 개발자가 RL의 수학적·알고리즘적 기반을 체계적으로 학습할 수 있는 실습형 교재 역할을 한다.
후속 자료
- 저장소: github.com/FareedKhan-dev/all-rl-algorithms
- 치트시트: cheatsheet.md
- 관련 PyTorchKR 글: ttt-rl (Tic-Tac-Toe with RL, 순수 C 구현), nanoahamoment (단일 파일 RL 라이브러리), mathematical-foundation-of-rl (무료 도서/강의)
- 관련 키워드: MDP, Bellman equation, ε-greedy, trust region, maximum entropy RL, MARL, HRL