시즌 1 · 알파고편 / PART 5 · PART 5 · AlphaGo (2016) / Ch 6 · 7x7 미니 알파고 구현

코드: 7x7 미니 알파고 통합

이게 전부야 — 80줄짜리 미니 알파고. 알파고 본질의 전체 구현.

🎯 결과 해석
  • 500 MCTS iteration 실행 (실제 알파고: 50,000)
  • 각 iteration: Select(PUCT) → Expand(Policy) → Evaluate(Value) → Backup
  • visits 최대 자식 선택: (4, 4) — 중앙 부근!

학습 안 된 네트워크라도 visits 분포가 보임 (14~17). 가장 많이 방문된 (4,4)는 Q value도 가장 높음 (+0.039). 작은 신호이지만 PUCT가 더 좋은 자리에 자원을 집중하는 게 보임.

💡 핵심 통찰 — 알파고는 부품의 통합

알파고가 마법 같은 게 아니야. 우리가 PART 1~5에서 본 모든 부품의 결합:

  • Board 클래스 — 게임 규칙
  • 합성곱 + ReLU — 신경망
  • Softmax — 확률 분포
  • tanh — 가치 출력
  • MCTS 4단계 — 트리 탐색
  • PUCT 공식 — 신경망 가이드 탐색

각 부품은 우리가 이해함. 통합도 명확함. "알파고는 우리가 만들 수 있는 시스템".

📊 알파고를 진짜로 만들려면

위 코드에 추가가 필요한 것:

  1. 학습: 사람 게임 또는 자가 대국 데이터로 가중치 학습
  2. 스케일: 7x7 → 19x19, 3채널 → 48, 3층 → 13층
  3. 속도: numpy → TensorFlow/PyTorch, CPU → GPU
  4. 최적화: 병렬화, 캐싱, 메모리 관리

그러나 알고리즘 본질은 위 코드 그대로. 알파고 = 우리 코드 × 스케일 × 학습.

PYTHON