시즌 1 · 알파고편 / PART 5 · PART 5 · AlphaGo (2016) / Ch 4 · MCTS + 신경망 = PUCT

새 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만으로 더 강함 (효율 ↑).