입력과 출력 — 정확한 정의
Policy Network는 정확히 무엇을 입력받고 무엇을 출력?
📥 입력 — 보드의 다채널 표현
알파고의 입력 형식 (19x19x48 채널):
- 채널 0: 현재 차례 색의 돌 위치 (0 또는 1)
- 채널 1: 상대 색의 돌 위치 (0 또는 1)
- 채널 2: 빈 자리 (0 또는 1)
- 채널 3~6: 활로 1, 2, 3, 4+ 그룹들
- 채널 7~10: 마지막 1, 2, 3, 4수 위치
- ... 총 48 채널
각 채널이 19x19 격자에서 0/1 또는 작은 정수 값. CNN 입력에 적합한 형태.
📤 출력 — 361 자리 확률 분포
출력은 19x19 = 361개 자리에 대한 확률 분포. 각 자리의 값은 0~1, 모든 자리 합이 1.
예 출력 (단순화):
자리 (3,3) 화점: 0.18 ← 18% 확률로 추천 자리 (3,15) 화점: 0.15 자리 (15,3) 화점: 0.14 자리 (10,10) 가운데: 0.08 ... 자리 (0,0) 코너: 0.0001 ← 거의 0 합계: 1.0
가장 추천하는 수, 두 번째, 세 번째 — 모두 한 출력에 들어있음.
💡 확률 분포로 출력하는 이유
"top-1 수만 출력"하면 정보 손실. 알파고는:
- 1위 수만 보지 않고 상위 5~10개를 고려
- 각 수의 확률에 따라 MCTS에서 시간 배분
- 확률 분포가 곧 "사람의 직관 분포" — 어디가 좋은지 어디가 안 좋은지
그러면 신경망의 출력 layer에서 확률 분포를 어떻게 만들까? — Softmax 함수.