CNN의 지역성
CNN에서 특정 픽셀 위치의 feature는 입력 이미지의 국소 영역(local patch)을 참고해 계산되며,
이 출력이 영향을 받는 입력 영역의 범위를 Receptive Field(수용 영역)라고 한다.
초기 레이어에서는 작은 패치만 보지만, 레이어가 깊어질수록 receptive field가 점점 확장되어
각 위치의 feature가 더 넓은 입력 영역의 정보를 통합하게 된다.

Receptive Field 확장과 전역 관계
위 자료에서 보다시피 layer3 의 한 픽셀은 layer1 전체에 해당한다.
레이어가 깊어질 수록 Receptive Field가 커지는 건 맞지만
예를들어 1D [A,B,C,D,E] 가 있을 때
CNN
D,E → C → B → A
멀리 있는 정보가 이웃을 거쳐 A로 전파된다.
CNN은 전역 관계를 간접적으로만 전달하게 된다.
y(i,j) = Σ_k Σ_l W(k,l) · x(i+k, j+l)
(i,j) 출력은 (i+k, j+l) 주변만 사용
k,l 범위 = kernel size
(비교) Self-Attention
{B, C, D, E} (direct weighted sum) → A
각 위치가 모든 위치와 직접 연결되어 가중합으로 정보를 통합한다.
y_i = Σ_ j α(i,j) · x_ j
i번째 위치가 모든 j 위치를 직접 참조
j범위 = 전체 입력, 입력 시퀀스의 모든 위치
CNN Locality Inductive Bias
왜 Locality Bias가 말이 되는가 → 자연 이미지의 통계적 특성
- 엣지, 코너, 텍스처와 같은 저수준 시각 패턴은 국소적으로 존재한다
- 가까운 픽셀들은 통계적으로 강한 상관관계를 가진다.
CNN은 inductive bias를 어떻게 주입하는가 → 아키텍처 설계를 통한 가정 주입
- “가까운 픽셀들이 더 중요한 정보를 가진다”는 가정을 구조적으로 강제한다.
- 컨볼루션 커널은 국소 영역에만 적용되고, 동일한 커널이 공간 전체에 공유된다(Stationarity).
이렇게 설계한 inductive bias의 이점은?
지역성 귀납 편향은 모델이 탐색해야 할 가설 공간을 크게 제한하여 적은 데이터에서도 효율적인 학습을 가능하게 한다.
또한 컨볼루션 연산은 공간 크기에 대해 선형적인 계산 복잡도를 가지므로 고해상도 이미지에서도 계산량이 안정적으로 증가한다.
CNN Locality Inductive Bias의 구조적 한계
양쪽 눈을 예로 보자.
CNN
왼쪽 눈과 오른쪽 눈의 feature가 각각 국소적으로 추출된 후,
깊은 레이어에서 점진적으로 통합되어 암묵적으로 결합된다.
두 눈 사이의 관계는 여러 레이어를 거쳐 간접적으로 전파되며,
“눈이 두 개 있다”는 사실은 패턴 조합의 결과로 추론된다.
(비교) Self-Attention
왼쪽 눈과 오른쪽 눈이 직접 연결되는 attention edge를 형성하며,
두 위치 간의 관계가 그래프 구조로 명시적으로 모델링된다.
종합
따라서 전역 관계가 중요한 문제에서는
- 좌우 폐 병변의 대칭성
- 문장의 long-range dependency
- 멀리 떨어진 객체 간 관계 reasoning
CNN은 더 깊은 네트워크가 필요하고, gradient 경로가 길어지며, 데이터 요구량 또한 증가한다.
또한 관계를 암묵적으로(implicit) 표현하기에,
실제로 잘 학습되었는지 검증하기 어렵고, 관계에 대한 명확한 평가 기준이 없다면,
데이터 구성, 샘플링 비율, 모델 아키텍처 등 실험에 대한 가설을 정립하기 어려워진다.
+ GAP(Global Average Pooling)
inductive bias는 backbone 표현뿐 아니라 feature aggregation 단계에서도 반영된다.
Global Average Pooling(GAP)은 주로 분류 모델에서 사용되는 feature pooling 연산이다.
각 채널(feature map)의 공간 차원(H×W)을 평균 내어 채널당 하나의 스칼라 값으로 축약한다.
채널은 특정 시각 패턴(ex: 엣지, 텍스처, 객체의 부분 구조)에 대한 활성화 경향을 나타내며,
GAP은 해당 패턴이 이미지 전체에 얼마나 강하게 존재하는지를 전역적으로 요약한다.
위치 정보는 제거되고 패턴의 존재 강도만 보존된다.

Feature Map: (C × H × W) → Vector: (C)

채널을 제거하거나 채널 간 정보를 합치는 연산이 아니라,
각 채널의 공간 차원(H×W)을 요약하는 연산이고 i, j 위치에 대한 정보는 사라진다.
왜 분류 문제에서 주로 사용하는가?
분류 문제는 “이미지에 고양이가 있는가?”와 같이 위치보다 존재 여부가 중요하다.
Flatten + Fully Connected(FC) 조합은 (H×W×C) feature map을 그대로 펼쳐
매우 큰 FC 파라미터를 생성하며, 이는 모델 크기 증가와 과적합 위험이 생긴다.
반면 GAP은 (H×W×C) feature map을 (C) 차원으로 축약하여
모델 파라미터 수, 메모리 사용량, 과적합 가능성을 모두 감소시킨다.
또한 공간 정보를 평균 내어 요약함으로써 특정 위치에 대한 의존을 줄이고,
translation invariance(이동 불변성)를 강화하여 분류 일반화 성능에 유리한 inductive bias를 제공한다.
'AI > deep-learning' 카테고리의 다른 글
| Real-ESRGAN 아키텍처: RRDB와 고주파 생성 (0) | 2026.01.16 |
|---|---|
| TF) Local rendezvous is aborting with status: OUT_OF_RANGE: End of sequence 에러 해결 (0) | 2024.07.28 |
| Segmentation/Detection 방법 (0) | 2024.04.13 |
| CLIP (0) | 2023.11.26 |
| Stable Diffuision을 알아보자 (0) | 2023.11.21 |