컴퓨터 비전을 바꾼 단일 layer
Convolutional layer는 이미지 처리 네트워크의 핵심 빌딩 블록. 행렬곱 잠시 잊고 — 작은 창을 이미지 위에 슬라이드하는 거 생각해.
Filter (kernel)는 작은 행렬 — 보통 3×3 또는 5×5 — 가 입력 위를 슬라이드. 각 위치에서 local patch와 원소별 곱하고 합산. 전체 이미지 슬라이드하면 2D feature map 나와. filter 32개의 Conv2D는 32개 다른 filter 적용 → feature map 32개 쌓아.
핵심 통찰: weight 공유. 같은 3×3 filter가 모든 위치에 적용. 이게 CNN에 translation invariance (고양이가 좌상단이든 우하단이든 detector 작동)랑 극단적 파라미터 효율 줘. 3 채널 입력의 Conv2D(64, 3)는 (3×3×3 + 1) × 64 = 1,792 파라미터 — 같은 spatial 데이터 만지는 Dense layer보다 훨씬 적음.
Padding 규칙: 'same'은 zero-pad해서 출력 spatial size = 입력. 'valid'는 pad 안 해서 출력이 kernel_size - 1만큼 줄어.