CNN 해부학: convolution 연산의 수학과 변형들의 분류
convolution이 왜 이미지에 맞는 연산인지(국소성, 가중치 공유, 평행이동 등변성)부터 stride/padding/dilation이 출력 크기와 수용 영역을 결정하는 수식, 그리고 grouped/depthwise/pointwise/separable/deformable로 이어지는 변형 연산들의 계보까지 한 번에 정리한다.
1 articles · 14 analyses (15 au total)
convolution이 왜 이미지에 맞는 연산인지(국소성, 가중치 공유, 평행이동 등변성)부터 stride/padding/dilation이 출력 크기와 수용 영역을 결정하는 수식, 그리고 grouped/depthwise/pointwise/separable/deformable로 이어지는 변형 연산들의 계보까지 한 번에 정리한다.
5개 conv + 3개 FC, 60M 파라미터의 대형 CNN을 ReLU, dropout, 데이터 증강, 2-GPU 분산으로 ImageNet에서 학습해 ILSVRC-2012 top-5 오류 15.3%로 2위(26.2%)를 압도했다. 딥러닝 기반 컴퓨터 비전 시대를 연 논문.
Global average pooling 뒤의 선형 분류 가중치를 conv feature map에 되돌려 곱하면, 클래스별로 판별에 기여한 영역의 지도(Class Activation Map)를 얻을 수 있음을 보인다. 위치 라벨 없이 학습한 분류기만으로 ILSVRC 약지도 위치추정 top-5 오류 37.1%를 달성했다.
SE의 채널 어텐션에 공간 어텐션을 직렬로 추가한 경량 모듈을 제안한다. 채널 축에서는 avg+max 이중 풀링과 공유 MLP로 "무엇을", 공간 축에서는 채널 방향 풀링과 7×7 conv로 "어디를" 강조하며, 채널→공간 순서가 최적임을 ablation으로 보였다.
어텐션의 전역 문맥과 depthwise convolution의 국소 패턴 모델링을 한 블록 안에 결합한 Conformer를 제안한다. macaron식 반스텝 FFN 두 개 사이에 상대 위치 어텐션과 conv 모듈을 끼운 블록으로, LibriSpeech에서 WER 1.9/3.9%(LM 포함)의 SOTA를 달성하며 음성 인식 인코더의 표준이 됐다.
convolution의 고정된 k×k 샘플링 격자에 학습된 2D offset을 더해, 필터가 물체의 크기와 형태를 따라 휘어지게 만드는 deformable convolution을 제안한다. 분수 offset은 bilinear 보간으로 처리하며, ResNet-101의 마지막 3개 conv층만 교체해도 COCO 검출과 semantic segmentation이 크게 개선된다.
깊이, 너비, 해상도 중 하나만 키우면 정확도가 조기 포화됨을 보이고, 세 축을 α^φ, β^φ, γ^φ로 함께 키우는 compound scaling을 제안한다. NAS로 찾은 MBConv+SE 기반 B0에 이를 적용한 B7이 8.4배 적은 파라미터로 ImageNet 84.3%를 달성했다.
클래스 점수의 그래디언트를 feature map에 대해 전역 평균한 값을 채널 중요도로 삼아, GAP 구조 요구와 재학습 없이 임의의 CNN에서 클래스 판별적 히트맵을 뽑는 Grad-CAM을 제안한다. GAP-선형 구조에서 CAM과 수학적으로 일치함을 증명해 엄밀한 일반화임을 보였다.
국소 수용 영역, 가중치 공유, 서브샘플링이라는 세 원리로 이동·왜곡 불변성을 구조에 내장한 convolutional network(LeNet-5)를 집대성하고, MNIST를 구축해 손글씨 숫자 인식 오류율 0.95%(왜곡 증강 시 0.8%)를 달성한다. 미분 가능한 모듈의 합성으로 시스템 전체를 end-to-end 학습한다는 사상까지 담은 CNN의 원전.
표준 convolution을 depthwise(채널별 공간 필터)와 pointwise(1×1 채널 혼합)로 분해해 계산량을 8~9배 줄인 경량 아키텍처를 제안한다. 너비 배수 α와 해상도 배수 ρ로 지연시간-정확도 트레이드오프를 연속적으로 조절하며, VGG16의 1/30 계산량으로 거의 같은 ImageNet 정확도를 낸다.
깊은 plain 망이 얕은 망보다 학습 오류조차 높아지는 열화 문제를 지적하고, 층이 H(x) 대신 잔차 F(x) = H(x) - x를 배우게 하는 항등 지름길 연결로 이를 해결한다. 152층 ResNet으로 ILSVRC-2015 우승(top-5 3.57%), residual connection은 이후 모든 딥러닝 아키텍처의 기본 부품이 됐다.
전역 평균 풀링으로 채널별 통계를 짜내고(squeeze) 두 FC층의 게이트로 채널별 중요도를 계산해(excitation) feature map을 재보정하는 SE 블록을 제안한다. 계산량 0.26% 추가로 ImageNet 오류를 일관되게 낮추며 ILSVRC-2017에서 우승했다.
raw waveform을 받는 CNN의 첫 conv층을 sinc 함수 두 개의 차로 매개화해, 필터당 저·고 차단 주파수 2개만 학습하는 SincNet을 제안한다. 필터 계수 전체를 배우는 CNN보다 빠르게 수렴하고 화자 식별·검증 모두에서 앞서며, 학습된 필터가 피치·포먼트 대역으로 수렴해 해석까지 가능하다.
유닛 입력에 시간 지연을 두고, 시간축으로 복제된 유닛들이 가중치를 공유하도록 제약해 시간 이동 불변성을 학습하는 Time-Delay Neural Network를 제안한다. 유성 파열음 B/D/G 인식에서 당시 최선의 HMM(93.7%)을 98.5%로 압도했고, 시간축 weight sharing이라는 아이디어는 1D convolution의 원형이 됐다.
필터를 3×3 하나로 통일하고 깊이만 11층에서 19층까지 늘리는 통제 실험으로, 깊이가 CNN 성능의 핵심 변수임을 보였다. VGG16/19는 ILSVRC-2014 준우승과 함께 이후 수년간 전이학습의 표준 backbone이 됐다.