7x7 CNN — 모든 부품을 합치자
👋 이 챕터에서 만들 것
지금까지 본 부품 — 합성곱, ReLU, softmax, MLP — 를 합쳐 완성된 작은 CNN. 7x7 바둑판에 맞는 mini AlphaGo policy network.
지금까지 부품을 따로 봤어:
- Ch 1: 퍼셉트론 → MLP forward pass
- Ch 2: 합성곱 한 필터
- Ch 3: 다채널 합성곱 + softmax (작은 policy)
- Ch 4: Value network
이 챕터에서 7x7 보드에 맞는 실용적 CNN을 만든다. 다음 챕터에서 그것을 기보로 학습.
📖 우리 7x7 CNN 설계
알파고(19x19)의 축소판:
- 입력: 7x7x3 (흑/백/빈)
- Conv 1: 16 필터, 3x3, padding → 7x7x16, ReLU
- Conv 2: 16 필터, 3x3, padding → 7x7x16, ReLU
- Conv 3 (출력): 1 필터, 3x3, padding → 7x7x1
- Flatten + Softmax: 49 자리 확률 분포
총 가중치 ≈ 4,500개. 알파고(약 350만)의 약 1/1000. 작지만 학습 가능.
💡 Padding이 왜 중요
지금까지 padding 없이 합성곱했어 → 출력이 입력보다 작아짐. 7x7 → 5x5 → 3x3 → 1x1... 깊이 들어갈수록 정보 손실.
Padding: 입력 주변에 0을 채워서 합성곱 후에도 같은 크기 유지. 알파고도 padding 사용. 13층을 거쳐도 19x19 유지.
이 챕터:
- Padding 추가한 합성곱
- 완성된 7x7 CNN forward pass
- 학습 전 / 학습 후 비교 (시뮬)