"같은 코드"라는 말의 정확한 의미
"같은 알고리즘이 모든 환경을 다 푼다!"는 강력한 마케팅 문구지만, 한 번 정확하게 짚을 가치가 있다.
⚠ 정직하게 — 100% 같은 코드는 아니다
MuZero라고 해서 진짜로 한 줄 코드 변경 없이 모든 환경을 푸는 건 아니다. 환경마다 미세한 차이가 있다:
- 입력 형태가 다름 (보드 vs 픽셀) → 첫 컨볼루션 레이어 모양
- 행동 수가 다름 (362 vs 18) → 정책 출력 차원
- 보드 게임은 부호 뒤집기 backup, 아타리는 일반 backup
- 학습 하이퍼파라미터 일부 다름 (학습률, 시뮬레이션 수 등)
🎯 그럼 무엇이 "같은가"?
변하지 않는 것:
- 알고리즘 구조: h, g, f 세 신경망 + MCTS
- 학습 방법: self-play로 데이터 수집 → 정책/가치/보상 손실로 학습
- 의사결정 방식: MCTS의 방문 분포 기반 행동 선택
- 핵심 가설: "잠재 공간에서 계획하면 잘 된다"
이 네 가지가 환경에 관계없이 일관된다. 알고리즘의 "형식"이 일반화된 것이다.
💡 비교 — AlphaZero의 "같은 코드"와 같은 정도
시즌 1 PART 7에서 AlphaZero도 "체스/쇼기/바둑 같은 코드"라고 했었다. 그것도 사실 완전히 같은 코드는 아니다 — 입력 모양, 행동 수가 다르니까.
MuZero의 "같은 코드"도 그 의미와 정확히 같다. 알고리즘과 구조가 같고, 도메인별 인터페이스만 환경 명세에 맞게 조정.
이게 일반화의 정직한 정의다 — 한 글자도 안 바꾼다는 의미가 아니라, "본질적인 변경 없이 다른 도메인에 적용 가능하다"는 의미.
📖 다른 표현으로
"한 가구 도면으로 다양한 식탁을 만들 수 있다"는 말과 비슷하다. 식탁 크기, 다리 개수, 재료는 다 다를 수 있지만 "상판 + 다리 + 보강대" 같은 구조는 같다.
MuZero의 "같은 코드"도 그런 의미. 환경별로 크기와 재료는 다르지만, 알고리즘 구조는 동일.