드디어 진짜 학습 — 사람의 직관을 신경망에
👋 PART 4의 마지막 챕터
지금까지 모든 가중치는 무작위 또는 손으로 정함. 이번 챕터에서 진짜 학습 — 데이터로부터 가중치를 자동으로 찾음.
지도학습(Supervised Learning)의 기본 형태:
📖 지도학습 = "정답이 있는 데이터로 학습"
- 입력 X와 정답 Y가 짝지어진 데이터 (x₁, y₁), (x₂, y₂), ...
- 신경망이 X → Y를 예측하도록 가중치 조정
- 예측이 정답에 가까워지도록 손실(Loss) 최소화
- 역전파 + 경사 하강으로 가중치 갱신
🎯 알파고의 지도학습 데이터
- 출처: KGS 바둑 서버에서 6단 이상 인간 게임 16만 판
- 데이터 변환: 각 게임에서 모든 (보드 상태, 사람이 둔 다음 수) 쌍 추출 → 3,000만 쌍
- 학습 목표: 보드를 보면 사람이 둘 다음 수를 맞추도록
- 학습 결과: 정확도 약 57% (사람의 다음 수 1위 맞춤). 사람 같은 직관 보유.
💡 57% 정확도가 의미하는 것
"57%만? 별로 안 정확하네?" — 오해.
- 361자리 중 1위를 맞춤 = 1/361 = 0.28% 무작위
- 57% 정확도 = 무작위 대비 200배
- 가까운 top 5 안에 포함될 확률은 80%+
- 사람 프로도 게임마다 둘 수가 다름 — 100% 맞추는 게 불가능
알파고 SL Policy의 57%는 사람 6단 수준의 직관으로 평가됨.
이 챕터:
- 학습 데이터 형식 — (보드, 다음 수) 쌍
- 손실 함수 — Cross Entropy
- 코드: 합성 데이터로 7x7 policy net 학습 시범
- 알파고의 실제 학습 — KGS 16만 게임, 정확도 57%