시즌 1 · 알파고편 / PART 6 · PART 6 · AlphaGo Zero (2017) / Ch 4 · 7x7 학습 파이프라인

코드: 자가 대국 한 게임

한 자가 대국 게임 실행. 결과:

  • 게임 길이: 20수 (5x5 보드, move_count 한계까지)
  • 학습 데이터: 20개 (보드, π, z) 쌍
  • 각 데이터의 π: MCTS 30 iter의 visits 분포 (25 자리)
  • 각 데이터의 z: 그 차례 입장에서의 최종 결과 — 이번엔 무승부(z=0)
🎯 코드 핵심 흐름
  1. play_one_game: 한 게임 끝까지 진행, (s, π, turn) 저장
  2. 각 수에서 mcts_visits 호출 → visits 분포 π_t
  3. π_t에서 sampling → 실제 둔 수
  4. 게임 끝나면 final_z 계산
  5. 각 상태의 차례에 따라 z 부호 조정 → (s, π, z) 데이터
💡 결과 해석

학습 전 신경망이라 π가 거의 균등 (1/25 ≈ 0.04). 첫 수의 최대 확률은 0.095 정도. 게임 후반에 0.265까지 증가 — 가능한 수가 줄어들면서 자연히 확률 집중.

z = 0.0 (무승부) — 학습 안 된 신경망끼리 두는 무작위 게임은 자주 무승부. 학습이 진행되면 강한 쪽이 명확해져 z가 ±1 빈번해짐.

다음 페이지에서 학습 한 단계.

PYTHON