CNN의 수학적 토대 — Convolution부터 Frequency까지
Discrete convolution의 정의와 cross-correlation의 차이부터, Translation equivariance의 군론적 증명, Toeplitz 행렬 표현, 그리고 Spectral bias까지 CNN의 설계 철학을 추적한다.
- 01 CNN의 수학적 토대 — Convolution부터 Frequency까지
- 02 CNN 설계의 다섯 가지 선택은 하나의 문제에서 나온다
- 03 CNN의 수용장은 왜 기대보다 작은가
- 04 Skip Connection은 왜 깊은 네트워크를 살렸는가
- 05 CNN 아키텍처 설계의 통일된 논리: 무엇이 성능을 결정하는가
- 06 CNN 응용의 통일 원리 — 손실 함수가 설계를 결정한다
- 07 CNN의 설계 철학은 어디서 왔는가
CNN의 각 설계 결정 — 커널 공유, 깊은 레이어 쌓기, 풀링 삽입 — 은 직관이 아니라 수학에서 나온다. 그 수학의 출발점은 단순하다: convolution이란 무엇인가. 그리고 그 정의 하나에서 equivariance, 군론, 행렬 대수, 주파수 분석이 전부 뻗어 나온다. CNN의 다섯 챕터를 관통하는 하나의 질문은 이것이다 — 왜 이 연산이 시각 인식에서 작동하는가?
Convolution과 Cross-Correlation — 이름이 다른 같은 것
2D 이미지 와 커널 에 대한 수학적 convolution은 다음과 같다.
핵심은 인덱스의 부호다. 은 커널을 뒤집어서(flip) 이미지에 얹는다. 물리학과 신호 처리에서 이 flip은 인과성을 표현한다.
그런데 PyTorch의 F.conv2d와 TensorFlow의 tf.nn.conv2d는 flip이 없다.
이것은 convolution이 아니라 cross-correlation이다. 두 연산의 관계는 다음과 같다.
실제 구현이 cross-correlation을 쓰는 이유는 단순하다. 학습 가능한 가중치 는 어차피 초기화 없이 최적화된다. 따라서 을 직접 학습하는 것과 를 학습하는 것은 모델 용량이 동일하다. Flip을 빼면 구현이 간단해지고, 학습 결과는 달라지지 않는다.
유한한 이미지에서 커널이 경계를 벗어날 때 처리 방법이 결과에 영향을 준다. Zero padding은 경계를 0으로 채워 계산이 간단하지만 edge 근처에서 bias가 생긴다. Reflect padding은 경계에서 반사되어 더 자연스러운 경계 조건을 만들고, Replicate padding은 경계값을 복제한다. 이미지 특성과 태스크에 따라 선택이 달라진다.
Convolution이 선형 연산이라는 사실도 중요하다.
이 선형성 덕분에 backpropagation에서 gradient가 다시 convolution 형태를 유지하고, chain rule이 깔끔하게 적용된다.
Translation Equivariance — 군론의 언어로
CNN이 강력한 이유로 자주 언급되는 것이 translation equivariance다. 고양이가 이미지 어디에 있든 같은 feature가 감지된다. 그런데 이것을 군론의 언어로 정확히 표현하면 무엇인가?
평행이동 를 다음과 같이 정의한다: , where .
임의의 이미지 , 커널 , 평행이동 벡터 에 대해:
좌변을 전개하면:
우변을 전개하면:
좌변 = 우변.
Equivariance와 invariance는 다르다. 함수 가 equivariant하면 — 입력의 변환이 출력에 그대로 전파된다. Invariant하면 — 출력이 변환에 무관하다. Conv layer는 equivariant하고, Global Average Pooling은 invariant하다. 분류 문제에서 최종 출력은 invariant해야 하므로, CNN 구조는 자연스럽게 “앞부분 equivariant + 뒷부분 invariant”로 설계된다.
Equivariance는 합성에 닫혀 있다. Conv layer 여러 개를 쌓아도, 그 사이에 ReLU 같은 pointwise activation을 끼워도 전체 네트워크는 여전히 equivariant하다. 이기 때문이다.
Group Equivariant CNN — 회전까지 확장
표준 CNN은 translation에만 equivariant하다. 회전된 이미지를 넣으면 feature map이 달라진다. 의료 영상에서 종양의 방향은 무의미하고, 위성 이미지에서 건물의 방향도 마찬가지다.
Cohen & Welling(2016)의 **Group Equivariant CNN (G-CNN)**은 이 한계를 깬다. 핵심 아이디어는 feature map에 group index를 추가하는 것이다.
는 “어느 방향에서의 활성화인지”를 나타낸다. 90도 회전 group 를 쓰면, 각 spatial location마다 4개의 방향별 feature가 계산된다. 이 커널 는 circulant matrix 구조를 가지며, group 공리를 만족하면 자동으로 rotation equivariance가 보장된다.
Group size 가 커질수록 파라미터가 늘어나지만, group structure를 활용한 weight sharing으로 기본 커널 하나에서 개의 회전 버전을 자동 생성하면 실제 파라미터 수는 표준 CNN과 같게 유지할 수 있다.
Toeplitz 행렬과 주파수 영역
Convolution은 선형이므로 행렬-벡터 곱으로 표현할 수 있다. 길이 신호 와 길이 필터 의 convolution은:
여기서 는 Toeplitz matrix — 각 대각선의 값이 상수인 행렬이다. 경계를 wrap-around로 처리하면(circular convolution) 이 행렬은 circulant matrix가 된다.
Circulant matrix의 결정적 성질이 있다.
Circulant matrix 는 DFT matrix 로 대각화된다:
여기서 이고 는 DFT 계수다.
이것이 Convolution Theorem의 핵심이다.
시간/공간 영역의 convolution은 주파수 영역에서 element-wise 곱셈이 된다. 이 사실로부터 두 가지 실용적 결론이 나온다.
첫째, 계산 복잡도다. Direct convolution은 이지만 FFT 기반은 다. 필터 길이 정도부터 FFT가 이론적으로 유리하다. 하지만 현실의 CNN은 대부분 또는 커널을 쓰므로, GPU에서 최적화된 Direct GEMM이 더 빠르다.
둘째, 필터를 주파수 응답으로 해석할 수 있다. Sobel edge detector는 수평 방향의 high-pass filter다. Blur 커널은 low-pass filter다. 각 학습된 CNN 필터도 동일하게 frequency response로 시각화할 수 있다.
트레이드오프
Convolution vs Cross-correlation: CNN 구현은 cross-correlation을 쓰지만 equivariance 증명은 그대로 유효하다. 대신 논문의 수학적 정의와 구현의 gap을 인식해야 한다.
Translation-only vs Group equivariance: 표준 CNN은 가볍고 빠르다. G-CNN은 rotation symmetry가 있는 데이터에서 더 적은 데이터로 더 높은 성능을 낸다. Group size 증가는 메모리와 연산량을 선형으로 늘린다.
Direct vs FFT convolution: 소형 커널에서는 Direct가 빠르고 구현이 단순하다. 대형 커널이나 신호 처리 태스크에서는 FFT가 점근적으로 유리하다.
Spectral bias: 신경망은 자연스럽게 저주파를 먼저 학습한다(Rahaman et al., 2019). 자연 이미지의 power spectrum이 분포를 따르므로 이는 데이터와 모델이 정렬된 결과지만, 고주파 세부를 학습하려면 더 많은 반복이 필요하다.
정리
- CNN의 “convolution”은 수학적으로는 cross-correlation이다. 학습 가능한 가중치 관점에서 두 연산은 모델 용량이 동일하다.
- Translation equivariance는 군론의 언어로 로 정확히 표현된다. Equivariance는 합성에 닫혀 있어, 깊은 네트워크 전체에 보존된다.
- Convolution은 Toeplitz 행렬-벡터 곱이다. Circular convolution은 DFT로 대각화되어 주파수