Convolutional Neural Network합성곱 신경망
합성곱 신경망(Convolutional Neural Network, CNN)은 합성곱(convolution) 연산을 통해 이미지나 신호의 공간적 특징을 계층적으로 추출하는 딥러닝 아키텍처다. 1989년 LeCun 등이 제안하고 1998년 LeNet으로 발전시켰으며, 2012년 AlexNet이 ImageNet 분류 대회에서 기존 방법을 압도하는 성능을 보이면서 딥러닝 르네상스를 촉발했다.
핵심 구성 요소
합성곱층(convolutional layer)은 작은 크기의 필터(커널)를 입력 이미지 전체에 슬라이딩하며 합성곱을 수행해 특징 맵(feature map)을 생성한다. 하나의 필터는 이미지 어디서나 같은 가중치로 적용되는 가중치 공유 덕분에 에지 검출기 같은 필터가 위치와 무관하게 동작하며 파라미터 수를 크게 줄인다. 완전 연결 신경망과 비교하면 같은 입력 크기에서 파라미터 수를 수십~수백 배 절감할 수 있다.
풀링층(pooling layer)은 특징 맵의 해상도를 줄여 공간적 변환에 대한 불변성(translation invariance)을 높이고 계산량을 감소시킨다. 얕은 층의 필터들은 에지, 색상, 텍스처 같은 저수준 특징을 감지하고, 층이 깊어질수록 이 특징들이 조합되어 눈, 바퀴 같은 고수준 의미론적 특징을 표현한다. 이 계층적 표현 학습이 CNN이 이미지 인식에 강한 핵심 이유다.
발전과 주요 아키텍처
AlexNet 이후 VGGNet, GoogLeNet, ResNet, EfficientNet 등 다양한 아키텍처가 등장했다. 특히 ResNet의 잔차 연결(residual connection)은 수백 층 깊이의 네트워크에서 기울기 소실 문제를 해결해 극도로 깊은 네트워크 훈련을 가능하게 했다. CNN은 이미지 분류를 넘어 객체 탐지(YOLO, Faster R-CNN), 시맨틱 세그먼테이션(U-Net), 의료 영상 분석 등 컴퓨터 비전 전 분야에 걸쳐 쓰인다.