학습 데이터 생성 — 3,000만 보드
Value Network 학습은 데이터 생성부터가 큰 일.
⚠️ 처음 시도 — 과적합(Overfitting) 문제
알파고 팀의 첫 시도:
- 16만 사람 게임의 모든 보드 상태 사용
- 각 상태에 그 게임 결과를 라벨로
- 학습
결과: 학습 정확도 95%, 테스트 정확도 51%. 심각한 과적합. "데이터 외우기"만 함.
원인: 한 게임 안 보드들이 매우 비슷함 → 같은 결과 라벨 → 신경망이 "이 모양 = 그 게임 = 그 결과"로 외움.
🎯 해결책 — 자가 대국 + 한 게임당 한 상태
- RL Policy로 새로운 게임 3,000만 판 생성 (사람 게임은 16만)
- 각 게임에서 딱 한 상태만 무작위 선택 (overfitting 방지)
- 그 상태부터 끝까지 둠 → 결과를 그 상태의 라벨로
결과: 학습 정확도 85%, 테스트 정확도 77%. 일반화 잘 됨.
💡 "한 게임당 한 상태"가 왜 효과적?
- 같은 게임의 100 보드를 학습 데이터로 쓰면 → 그 100 보드가 매우 비슷 → 학습이 그 패턴에 과적합
- 3000만 다른 게임의 3000만 다른 상태 → 모두 다양 → 일반화 잘 됨
핵심 직관: "독립적 샘플의 다양성"이 일반화의 비결. 통계학의 기본.
📊 데이터 규모
- 게임 수: 30,000,000 (3천만)
- 보드 상태: 30,000,000 (한 게임당 한 상태)
- 생성 시간: ~50 GPU × 1주 (자가 대국 + 처리)
- 저장 용량: 약 100GB
이 데이터 생성 자체가 큰 작업. 알파고 = "데이터를 학습하는 게 아니라 데이터를 만드는 시스템".