시즌 1 · 알파고편 / PART 4 · PART 4 · 신경망 등장: 직관을 학습한다 / Ch 5 · 작은 CNN 만들기 (7x7)

코드: Padding 추가한 합성곱

핵심: 같은 합성곱 연산, padding 추가 한 줄 차이로 깊이 13층까지 가능해짐.

📖 Padding 구현 핵심
pad = K // 2   # 3x3 → pad 1
padded = np.zeros((H + 2*pad, W + 2*pad, Cin))
padded[pad:pad+H, pad:pad+W, :] = image

입력을 zero-padded 큰 배열에 복사. 합성곱이 가장자리도 처리할 수 있게.

💡 Same vs Valid padding
  • Same padding (위의 것): 출력 크기 = 입력 크기. 가장자리 0 채움.
  • Valid padding: padding 없음. 출력이 작아짐 (위 "padding 없이" 예).

알파고는 "Same" 사용 — 13층 거쳐도 19x19 유지. 자리별 출력이 의미 있음.

다음 페이지에서 완성된 7x7 CNN을 만든다.

PYTHON