IQ Lab
← all posts
AI 2026.04.28 · 13 min read Advanced

CNN의 설계 철학 — 왜 Convolution인가

Translation equivariance의 수학적 근거부터 VC 이론의 파라미터 효율, pooling의 invariance, 그리고 LeNet에서 EfficientNet까지 아키텍처 진화의 공통 원리를 추적한다.


CNN은 왜 이미지에 잘 맞는가? “그냥 실험적으로 잘 됐다”는 답은 틀렸다. Convolution이라는 연산 자체가 이미지 데이터의 통계적 구조 — 위치와 무관하게 같은 특징이 반복된다 — 를 수학적으로 반영한다. 이 단순한 사실이 파라미터 효율, 일반화 이론, 그리고 20년간의 아키텍처 진화를 모두 설명한다.

Translation Equivariance — 설계의 출발점

Convolution 연산의 핵심 성질은 translation equivariance다.

ϕ(Tsx)=Tsϕ(x)s\phi(T_s x) = T_s \phi(x) \quad \forall s

입력을 평행이동한 후 연산한 결과가, 연산한 후 평행이동한 결과와 같다. 이미지에서 강아지가 왼쪽 위에 있든 오른쪽 아래에 있든, 같은 필터가 같은 방식으로 반응한다는 뜻이다.

명제 1 · Convolution Layer의 Translation Equivariance

ϕ(x)=xk\phi(x) = x * k 로 정의되는 convolution 층에 대해, 임의의 shift ss에 대해 ϕ(Tsx)=Tsϕ(x)\phi(T_s x) = T_s \phi(x) 가 성립한다.

▷ 증명

m=msm' = m - s 치환을 이용한다.

ϕ(Tsx)[n]=mx[ms]k[nm]=mx[m]k[(ns)m]=(xk)[ns]=Tsϕ(x)[n]\phi(T_s x)[n] = \sum_m x[m-s]\, k[n-m] = \sum_{m'} x[m']\, k[(n-s)-m'] = (x*k)[n-s] = T_s \phi(x)[n]

따라서 ϕ(Tsx)=Tsϕ(x)\phi(T_s x) = T_s \phi(x). \square

이 성질은 LL개 층을 쌓아도 보존된다. 각 층 ϕi\phi_i가 equivariant이면, 합성 ϕLϕ1\phi_L \circ \cdots \circ \phi_1도 equivariant이다. CNN 전체가 위치 불변 특징 검출기가 되는 근거가 여기에 있다.

중요한 구분이 하나 있다. ML 프레임워크가 “convolution”이라 부르는 것은 사실 cross-correlation이다.

Conv:mf[m]g[nm],Cross-corr:mf[m]g[n+m]\text{Conv}: \sum_m f[m]\,g[n-m], \quad \text{Cross-corr}: \sum_m f[m]\,g[n+m]

수학적 convolution은 커널을 뒤집지만, cross-correlation은 뒤집지 않는다. 커널을 학습하는 ML에서는 뒤집기 여부가 무의미하다 — 어차피 학습이 수렴 방향을 결정하기 때문이다. 이 구분은 이론적으로는 의미있지만 실무에서는 무시해도 된다.

파라미터 공유와 VC 이론

Equivariance는 “같은 커널을 전체 이미지에 적용한다”는 파라미터 공유로 구현된다. 이 단순한 원칙이 완전연결층 대비 극적인 파라미터 절감을 만든다.

224×224224 \times 224 RGB 이미지의 첫 번째 층을 비교하면:

FC:DinDout=(224×224×3)×649.6M\text{FC}: D_\text{in} \cdot D_\text{out} = (224 \times 224 \times 3) \times 64 \approx 9.6\text{M} CNN (3×3):k2CinCout=9×3×64=1,728\text{CNN}\ (3{\times}3): k^2 \cdot C_\text{in} \cdot C_\text{out} = 9 \times 3 \times 64 = 1{,}728

약 5500배 차이. 공간 차원 H,WH, W가 파라미터 수식에서 사라진다는 것이 핵심이다.

이 차이는 VC 이론으로 일반화 성능과 직결된다. Vapnik-Chervonenkis 부등식에 따르면:

LtrueLemp+O ⁣(dVCn)L_\text{true} \leq L_\text{emp} + O\!\left(\sqrt{\frac{d_\text{VC}}{n}}\right)

FC의 VC 차원은 HWCinCout\propto H \cdot W \cdot C_\text{in} \cdot C_\text{out}이고, CNN은 k2CinCoutL\propto k^2 \cdot C_\text{in} \cdot C_\text{out} \cdot L이다. 같은 학습 데이터 nn개에서 CNN의 일반화 오차 상한이 (k/H)2(k/H)^2배 낮다. 더 적은 파라미터로 더 나은 일반화를 달성하는 이유가 과적합 방지에 관한 직관이 아니라 이 이론에 있다.

Sample Complexity

일반화 오차를 ϵ\epsilon 이내로 유지하는 데 필요한 샘플 수는 ndVC/ϵ2n \gtrsim d_\text{VC}/\epsilon^2에 비례한다. 수치 예시에서 FC는 CNN보다 약 2000배 많은 데이터가 필요하다. CNN이 적은 데이터로도 학습되는 이유다.

깊이를 쌓으면 receptive field가 선형으로 확장된다.

RFL=(k1)L+1\text{RF}_L = (k-1) \cdot L + 1

3×33 \times 3 커널 7층이 13×1313 \times 13 수용야를 만들고, 13층이 25×2525 \times 25를 만든다. 파라미터는 깊이에 선형으로 증가하지만 receptive field는 각 층 추가로 커널 크기만큼 확장된다.

Pooling — Equivariance를 Invariance로

Equivariance는 강력하지만 때로는 과도하다. 1픽셀 shift된 이미지가 shift된 출력을 만드는 것은 분류 작업에서 불필요한 민감도다. Pooling이 이를 완화한다.

MaxPoolk(X)[i,j]=max(m,n)N(i,j)X[m,n]\text{MaxPool}_k(X)[i,j] = \max_{(m,n) \in \mathcal{N}(i,j)} X[m,n]

2×22 \times 2 윈도우 안에서 최댓값만 추출하면, 특징이 윈도우 내에서 한 칸 이동해도 같은 값이 통과한다. 이것이 local translation invariance — strict가 아닌 soft한 불변성이다.

Max pooling은 두 가지 역할을 동시에 한다. 작은 shift에 대한 robustness를 제공하면서, 공간 해상도를 절반으로 줄여 다음 층의 계산량을 줄인다. Stride 2 convolution도 공간을 절반으로 줄이지만, pooling은 영역 내 최댓값을 선택하므로 “어디서 가장 반응했는지”라는 정보를 보존한다.

트레이드오프

Max pooling은 정보를 명시적으로 버린다. 최댓값이 아닌 위치의 gradient는 역전파에서 0이 된다. Stride 2 conv 대신 pooling을 선택하는 것은 “학습 가능한 다운샘플링” vs “결정론적 최댓값 선택”의 트레이드오프다. ResNet처럼 깊은 네트워크는 후반부에 stride conv를 선호한다 — 이미 충분한 특징이 추출된 시점에서 pooling의 정보 손실이 더 크기 때문이다.

Global Average Pooling은 이 원리의 극단이다. H×W×CH \times W \times C 특성맵을 CC차원 벡터로 압축하면, 공간 정보는 사라지고 “이 채널이 얼마나 활성화됐는가”만 남는다. FC 층의 HWC×num_classesH \cdot W \cdot C \times \text{num\_classes} 파라미터를 C×num_classesC \times \text{num\_classes}로 줄이고, Class Activation Map 같은 해석 가능성 기법의 기반이 된다.

아키텍처 진화의 공통 원리

LeNet(1998)부터 EfficientNet(2019)까지, 아키텍처 진화는 세 축 — 깊이, 너비, 해상도 — 의 탐색이었다.

LeNet-5 (1998): 5층, 62K 파라미터, 95.3% (MNIST)
AlexNet (2012): 8층, 60M,  63.3% (ImageNet top-1)
VGG-16  (2014): 16층, 138M, 71.3%
ResNet-50(2016): 50층, 25M,  77.7%
DenseNet-121(2017): 121층, 7M, 77.2%
EfficientNet-B7(2019): 66M, 85.0%

VGG의 핵심 통찰은 ”3×33 \times 3 두 개가 5×55 \times 5 하나보다 낫다”는 것이다. 수용야는 같지만 비선형성이 두 배이고, 파라미터는 2×9<252 \times 9 < 25로 적다. ResNet의 혁신은 skip connection이다:

y=F(x)+xy = F(x) + x

역전파 시 L/x=L/y(F/x+I)\partial L / \partial x = \partial L / \partial y \cdot (\partial F/\partial x + \mathbb{I})로, FF의 gradient가 소실되어도 항등항이 gradient를 통과시킨다. 100층이 넘는 네트워크 학습이 가능해진 수학적 이유다.

EfficientNet은 이 세 축의 최적 비율을 공식화했다:

d=αϕ,w=βϕ,r=γϕ,αβ2γ22d = \alpha^\phi,\quad w = \beta^\phi,\quad r = \gamma^\phi, \quad \alpha \cdot \beta^2 \cdot \gamma^2 \approx 2

ϕ\phi를 늘릴수록 연산량이 약 2배 증가하도록 제약하면서, 깊이/너비/해상도를 동시에 균형있게 키운다.

정리

  • Convolution은 이미지의 translation equivariance 구조를 수학적으로 반영한다. 이것은 관찰이 아니라 ϕ(Tsx)=Tsϕ(x)\phi(T_s x) = T_s \phi(x)의 증명 가능한 성질이다.
  • 파라미터 공유는 FC 대비 VC 차원을 수천 배 낮추고, 같은 데이터로 훨씬 작은 일반화 오차를 보장한다.
  • Max pooling은 equivariance를 soft invariance로 변환한다. 정보 손실과 robustness의 교환이다.
  • LeNet에서 EfficientNet까지의 진화는 “equivariant + parameter efficient + 깊이 확장 가능”이라는 세 요구를 점진적으로 해결한 역사다.

다음 장에서는 CNN이 다루기 어려운 long-range dependency를 RNN이 어떻게 다루는지, 그리고 BPTT(Backpropagation Through Time)의 수학으로 넘어간다.

REF
Krizhevsky, Sutskever, Hinton · 2012 · ImageNet Classification with Deep Convolutional Neural Networks · NeurIPS
REF
He, Zhang, Ren, Sun · 2016 · Deep Residual Learning for Image Recognition · CVPR