시즌 1 · 알파고편 / PART 6 · PART 6 · AlphaGo Zero (2017) / Ch 3 · self-play 루프

Stage 2: 신경망 학습

500만 데이터로 신경망 학습. 한 사이클당 1,000 학습 단계.

📖 학습 한 단계
  1. 학습 데이터에서 배치 2,048개 무작위 sampling
  2. Forward pass: 보드 2048개 → (p, v) × 2048
  3. 손실 계산:
    • Policy: −π^T log(p) 평균
    • Value: (v − z)² 평균
    • L2: c·‖θ‖²
    • 총 손실 = 위 셋 합
  4. 역전파 → 그래디언트
  5. SGD with momentum 가중치 갱신
🎯 학습률 스케줄
  • 학습 초반 (0~30 사이클): lr = 0.02
  • 중반 (30~120 사이클): lr = 0.002
  • 후반 (120 사이클~): lr = 0.0002

학습률을 점차 줄여 fine-tuning. 마지막엔 매우 작은 변화로 정확도 미세 조정.

💡 학습 데이터의 비밀 — 최근 50만 게임만

500만 데이터 = 25,000 게임 × 200수. 하지만 학습은 더 큰 풀에서:

  • "replay buffer": 최근 50만 게임의 데이터 (1억 사례)
  • 매 학습 단계마다 이 풀에서 무작위 sampling
  • 옛 데이터도 어느 정도 사용 → 학습 안정성
  • 너무 옛것은 폐기 (50만 게임 사이즈 유지)
📖 Data Augmentation — 8가지 대칭

바둑은 대칭이 많아 학습에 활용:

  • 회전 4가지 (0°, 90°, 180°, 270°)
  • 좌우 반전 추가 → 총 8가지
  • 한 보드 → 8 학습 사례
  • 실질 데이터 8배 증가

이게 알파고 Zero 학습 효율의 또 한 요소. 같은 학습 시간에 더 많은 데이터.