새 MCTS — 네 신경망 통합
알파고의 MCTS는 PART 3의 4단계와 같지만, 각 단계에 신경망이 들어감:
📖 알파고 MCTS 4단계
1. Select — PUCT로 자식 선택 (Q + U with P) 2. Expand — 새 노드 추가 + SL Policy로 P(s,a) 계산 3. Evaluate — Value Network + Fast Rollout 혼합 4. Backup — 결과를 트리 위로 전파
🎯 각 단계 자세히
① Select
루트에서 시작. 각 노드에서 PUCT 점수 최대인 자식 선택. 미확장 노드까지 내려감.
② Expand
새 자식 추가. 새 자식의 각 가능한 수에 대한 P(s,a)를 SL Policy Network로 계산. 이게 PUCT의 prior.
③ Evaluate
새 자식의 가치 추정. 두 가지:
- Value Network: 한 forward pass → V_θ(s)
- Fast Rollout: Fast Policy로 끝까지 둠 → r ∈ {-1, +1}
혼합: V = 0.5 × V_θ + 0.5 × r
④ Backup
V를 새 자식부터 루트까지 거꾸로 전파. 각 노드의 visits ++, total_value += V.
💡 한 iteration 비용
- Select: 트리 따라 내려가기 — 빠름
- Expand: SL Policy 한 번 호출 = 3ms
- Evaluate:
- Value Network 한 번 호출 = 3ms
- Fast Rollout = 1~2ms (Fast Policy ~250번 호출)
- Backup: 빠름
한 iteration ≈ 7~8ms. 알파고는 1수에 약 5초 사용 → 약 50,000 iteration.
📊 병렬화 — 한 컴퓨터로는 부족
이세돌 대국 알파고 (분산 버전):
- 40 GPU + 1,202 CPU
- 여러 트리 탐색 동시 진행 → 합산
- 1수당 약 5분 (50,000 시뮬레이션을 분산으로 가속)
나중에 AlphaGo Zero는 4 GPU만으로 더 강함 (효율 ↑).