합성곱과 풀링 — CNN의 핵심 연산
CNN의 두 가지 핵심 연산인 합성곱(Convolution)과 풀링(Pooling)의 수학적 원리와 PyTorch 구현을 다룹니다.핵심 아이디어
합성곱 연산은 **작은 필터(커널)**를 이미지 위에서 슬라이딩하며, 지역적 패턴(에지, 코너, 텍스처)을 탐지합니다. 완전 연결층(FC)과 달리 파라미터를 공유하므로, 파라미터 수가 이미지 크기에 독립적입니다.동작 방식
합성곱 연산
입력 에 커널 를 적용하는 2D 합성곱:출력 크기 계산
예시: 입력 32x32, 커널 3x3, 패딩 1, 스트라이드 1:구현
풀링
풀링(Pooling)은 특성 맵의 공간적 크기를 줄여 연산량을 감소시키고, 이동 불변성을 부여합니다.CNN 블록 패턴
관련 기술 비교
| 연산 | 특징 | 용도 |
|---|---|---|
| Conv2d | 지역적 패턴 추출 | 모든 CNN |
| Depthwise Conv | 채널별 독립 합성곱 | 경량 모델 (MobileNet) |
| Dilated Conv | 확장된 수용 영역 | 시맨틱 세그멘테이션 |
| Transposed Conv | 업샘플링 | 생성 모델 (GAN, VAE) |
1x1 합성곱의 용도는?
1x1 합성곱의 용도는?
1x1 합성곱은 공간 차원은 유지하면서 채널 수만 변경합니다. 채널 간 정보 혼합, 차원 축소(bottleneck), 비선형성 추가에 사용되며, Network in Network와 Inception 모듈에서 핵심적인 역할을 합니다.
참고 논문
| 논문 | 핵심 기여 | 연도 |
|---|---|---|
| Gradient-Based Learning Applied to Document Recognition (LeCun et al.) | LeNet-5, 합성곱+풀링 구조 정립 | 1998 |
| Network In Network (Lin et al.) | 1x1 합성곱, Global Average Pooling | 2013 |

