시즌 1 · 알파고편 / PART 4 · PART 4 · 신경망 등장: 직관을 학습한다 / Ch 3 · Policy Network

Policy Network — 사람의 직관 학습

👋 이 챕터에서 다룰 것

알파고의 두 신경망 중 첫 번째 — Policy Network (정책망). 보드를 보고 "다음 수 어디 둘까"의 확률 분포를 출력.

왜 "다음 수"가 핵심인가? PART 3 MCTS의 두 약점이 답:

📖 MCTS의 ② Expand 단계 다시 생각

지난 PART 3 Ch 3 §4 코드:

# Expand
m = random.choice(node.untried_moves)  # ← 무작위!

현재 위치에서 가능한 모든 수 중 무작위로 하나 골라서 새 자식 만듦. 그런데 이게 좋을까?

  • 49칸 보드에서 49개 자리 — 모두 같은 확률로 시도
  • 명백히 약한 수 (가장자리 비효율 자리)도 균등하게 시도
  • 명백히 좋은 수 (중앙 화점)도 균등하게 시도
  • 좋은 자리에 시간을 더 쓰는 게 효율적
🎯 Policy Network의 역할

"이 보드에서 어디가 둘 만한가" 확률 분포 출력. MCTS에서:

  • Expand할 때: 확률 높은 자식을 우선 시도
  • Simulate할 때 (rollout): 무작위 대신 policy network 따라 둠 — "그럴듯한" rollout

이 두 가지가 MCTS를 훨씬 강하게 만듦. 알파고의 핵심 통찰.

이 챕터:

  • Policy Network의 입력과 출력 — 명확히 정의
  • Softmax — 확률 분포 만드는 함수
  • 코드: 작은 policy network forward pass
  • 어떻게 학습하나 — 사람 게임 데이터 (다음 챕터들)