CNN의 수용장은 왜 기대보다 작은가
이론적 receptive field 공식부터 유효 수용장의 Gaussian 감쇠, dilated convolution의 지수 확장, semantic segmentation 설계까지 — CNN이 실제로 '보는' 영역을 추적한다.
- 01 CNN의 수학적 토대 — Convolution부터 Frequency까지
- 02 CNN 설계의 다섯 가지 선택은 하나의 문제에서 나온다
- 03 CNN의 수용장은 왜 기대보다 작은가
- 04 Skip Connection은 왜 깊은 네트워크를 살렸는가
- 05 CNN 아키텍처 설계의 통일된 논리: 무엇이 성능을 결정하는가
- 06 CNN 응용의 통일 원리 — 손실 함수가 설계를 결정한다
- 07 CNN의 설계 철학은 어디서 왔는가
CNN 설계에서 receptive field(RF)는 “뉴런이 입력의 어느 영역을 보는가”를 정의한다. 그런데 재귀 공식으로 계산한 이론적 RF와, gradient로 측정한 실제 유효 RF 사이에는 큰 괴리가 존재한다. 그 괴리는 왜 생기고, 이를 극복한 dilated convolution은 어떻게 작동하며, semantic segmentation 아키텍처는 이 문제를 어떻게 다르게 풀었는가?
이론적 RF: 재귀 공식
번째 층의 RF는 다음 재귀 공식으로 계산한다.
기저 조건은 이다. 이 공식이 말하는 것은 단순하다 — 이번 층의 RF는 이전 RF에, 현재 커널이 새로 커버하는 범위(이전 stride 누적으로 가속된)를 더한 값이다. Stride가 없으면 ( for all ) RF는 로 단순 합산된다.
AlexNet을 예로 들면 5개 합성곱 층을 거쳐 최종 RF는 51이다. VGG-16은 max pooling을 stride 2로 모델링하면 최종 RF가 212로 입력 224에 근접한다. 이 수치들은 “이 아키텍처가 입력 전체를 커버하는가”를 설계 단계에서 판단할 수 있게 해준다.
번째 층이 kernel size , stride 을 가질 때, RF는 다음과 같다.
번째 층 출력 뉴런이 번째 층의 개 뉴런에 의존하고, 그 뉴런들이 입력 공간에서 간격으로 놓인다. 좌우 경계를 계산하면 총 span이 임을 얻는다.
유효 RF: Gaussian 감쇠와 법칙
이론적 RF는 최악의 경우 수치다. 모든 입력 픽셀이 최종 출력에 동등하게 기여한다고 가정한다. 실제로는 그렇지 않다.
입력 위치 가 출력 뉴런 에 기여하는 정도를 로 정의하면, 이 값은 중심에서 멀어질수록 급격히 감소한다. 중앙에서 경계까지의 gradient 경로 수는 늘어나지만 각 경로의 가중치 크기는 감소하기 때문이다. Luo et al. (2016)은 Central Limit Theorem으로 이를 정형화했다 — 층을 거친 gradient 분포는 Gaussian에 수렴하고, 그 표준편차는 이다.
AlexNet(5층, 이론적 RF 51)에서 실제 유효 RF는 약 1315 픽셀, 이론 대비 2530% 수준이다. 깊이가 깊을수록 이론과 실제의 괴리는 더 벌어진다.
설계에서 “RF=212면 충분하다”고 판단해도, 실제 유효 RF는 훨씬 작을 수 있다. Semantic segmentation 아키텍처들이 dilated convolution과 skip connection을 도입한 배경이 이것이다.
ResNet의 skip connection은 이 감쇠를 부분적으로 막는다. 에서 이므로, 항등 행렬 항이 경계 픽셀의 gradient를 직접 전달해 vanishing을 줄인다. 이것이 ResNet이 152층에서도 ERF를 비교적 크게 유지하는 이유다.
Dilated Convolution: RF의 지수 확장
유효 RF 문제를 정면 돌파하는 방법이 dilated (atrous) convolution이다. Dilation rate 일 때 커널 요소 간 간격이 로 늘어나고, 단일 층의 RF는 다음과 같다.
이면 span이 5, 이면 9가 된다. 여기서 지수 dilation 전략 을 적용하면 RF가 층 수에 지수적으로 증가한다.
WaveNet은 이 전략의 극단적 사례다. (causal), 10층의 지수 dilation으로 최종 RF = 샘플, 16kHz 기준 약 64ms 오디오를 커버한다. 1분(960,000 샘플)을 커버하려면 층이 필요하다.
Semantic Segmentation의 RF 딜레마
Semantic segmentation은 픽셀 수준 분류다. 각 픽셀이 주변 context를 충분히 봐야 정확한 경계를 예측할 수 있다. 대략 (객체 크기 )가 권장된다. 하지만 여기에 구조적 모순이 있다.
일반 CNN은 stride로 해상도를 낮춰 RF를 확보한다. AlexNet/VGG의 stride 32는 입력을 feature map으로 압축한다 — RF는 충분하지만 dense prediction에 필요한 공간 해상도가 사라진다.
세 아키텍처가 이 딜레마를 서로 다르게 해결했다.
FCN (Long et al., 2015)은 transpose convolution으로 저해상도 feature map을 원본 크기로 복원한다. 중간 해상도의 skip connection(pool3, pool4)을 더해 공간 정보를 일부 보완한다. 단순하지만 upsampling 과정에서 경계가 흐려진다.
U-Net은 encoder의 각 해상도 feature map을 decoder에 직접 concatenate한다. Bottleneck RF는 작지만, 초반 층의 edge·texture 정보가 decoder로 직접 흐르므로 경계 정확도가 높다. 의료 영상처럼 객체 크기가 작고 경계가 중요한 도메인에서 강점이 두드러진다.
DeepLab 계열은 backbone을 stride 8로 수정하고 dilated convolution으로 RF를 확보한다. Stride를 줄였으므로 해상도 손실이 적고, dilated conv로 충분한 RF를 얻는다. DeepLab v3+의 ASPP는 이 위에서 다양한 scale의 context를 동시에 추출한다.
트레이드오프
세 전략은 각자 다른 축에서 딜레마를 해결한다.
- FCN: 빠르고 단순하지만 boundary blur — RF는 크고 해상도 복구는 간접적
- U-Net: RF는 작지만 skip으로 보상 — 의료 분야에서 사실상 표준
- DeepLab: RF와 해상도 모두 확보하지만 구현 복잡도 증가 — 일반 segmentation SOTA
Dilated convolution 자체도 trade-off가 있다 — gridding artifact, 학습 난이도, 큰 dilation에서의 불안정성.
이론적 RF → 유효 RF의 Gaussian 감쇠 → dilated convolution의 지수 확장 → segmentation 아키텍처의 구조적 선택. 이 흐름은 하나의 질문을 공유한다: 뉴런이 실제로 얼마나 넓게 보는가? 공식이 보장하는 것과 gradient가 실제로 흘러가는 것 사이의 간극을 이해하는 것이 CNN 설계의 출발점이다.
정리
- 이론적 RF는 로 계산되지만, 실제 유효 RF는 깊이 에 따라 로 감쇠한다 (Gaussian 분포 수렴).
- Dilated convolution ()은 파라미터 수 증가 없이 RF를 로 지수 확장한다.
- Semantic segmentation에서 FCN·U-Net·DeepLab은 RF 확보와 해상도 유지의 딜레마를 각각 upsampling, skip connection, dilated conv로 풀었다.
- ASPP는 여러 dilation rate를 병렬 적용해 gridding artifact를 완화하고 multi-scale context를 동시에 추출한다.
다음 글에서는 ResNet의 잔차 블록이 gradient flow를 어떻게 바꾸는지, 그리고 skip connection이 단순한 “gradient highway” 이상의 의미를 갖는 이유를 추적한다.