합성곱 신경망 (convolutional neural network, CNN)

컴퓨터과학·AI
한 줄 정의: 작은 필터를 이미지 위에서 이동시키며 선, 모서리, 무늬 같은 지역적 특징을 단계적으로 뽑아내는 인공신경망 구조입니다.
합성곱 신경망합성곱 신경망 단계 순서: 입력 이미지 → 합성곱층, 합성곱층 → 풀링층, 풀링층 → 완전연결층, 완전연결층 → 분류 출력.입력 이미지합성곱층필터로 특징 추출풀링층크기 축소완전연결층특징 통합분류 출력클래스 확률12345합성곱·풀링을 여러 층 반복해 수용 영역 확대합성곱 신경망합성곱 신경망 단계 순서: 입력 이미지 → 합성곱층, 합성곱층 → 풀링층, 풀링층 → 완전연결층, 완전연결층 → 분류 출력.입력 이미지합성곱층필터로 특징 추출풀링층크기 축소완전연결층특징 통합분류 출력클래스 확률12345합성곱·풀링을 여러 층 반복해 수용 영역 확대

쉽게 풀면

돋보기로 사진을 한 구석부터 조금씩 옮겨가며 살펴본다고 상상해보세요. 처음에는 돋보기 안에 "선"이나 "모서리" 같은 아주 단순한 무늬만 보이지만, 여러 번 훑고 나면 "눈", "코", "귀" 같은 부위가 보이고, 더 나아가면 "고양이 얼굴"처럼 큰 패턴이 보입니다. CNN은 바로 이렇게 작동합니다.

"필터"라는 작은 창을 이미지 전체에 슬라이딩하면서 각 위치의 특징을 뽑아내고, 이 과정을 여러 층에 걸쳐 반복하면서 단순한 무늬에서 점점 복잡한 형태를 인식하는 능력을 갖추게 됩니다. 사진 전체를 한 번에 통째로 보는 것이 아니라, 국소적인 부분부터 차근차근 조합해서 이해하는 방식입니다.

왜 중요한가

CNN은 이미지 분류, 객체 검출, 의료 영상 분석 등 시각 정보를 다루는 연구 대부분의 기본 구성 요소로 자리 잡았습니다. 사람이 일일이 특징을 설계하지 않아도 데이터로부터 자동으로 유용한 시각 패턴을 학습할 수 있다는 점에서, 딥러닝이 컴퓨터 비전 분야를 주도하게 된 핵심 전환점으로 논문에서 자주 언급됩니다. 최근에는 트랜스포머 기반 구조와의 성능 비교나 결합 방식도 활발한 연구 주제입니다.

핵심 정리

합성곱 신경망(CNN)은 이미지처럼 격자 구조를 가진 데이터를 다루기 위해 설계된 신경망입니다. 핵심 아이디어는 세 가지입니다(Goodfellow 외, 2016).

역사적으로는 Fukushima(1980)의 네오코그니트론이 시각 피질에서 영감을 받은 구조를 제안했고, LeCun 외(1998)는 이를 역전파로 학습하는 LeNet 계열로 손글씨 숫자 인식에 적용했습니다. 이후 Krizhevsky 외(2012)가 대규모 이미지 분류 대회에서 깊은 CNN으로 큰 성능 향상을 보이며 딥러닝이 널리 퍼지는 계기가 되었습니다.

예시로 보기

층의 크기와 매개변수를 직접 세어 봅시다(가상의 소형 모델, 코드로 계산). 입력은 28×28×1 흑백 이미지입니다.

  1. 합성곱 층: 3×3 필터 8개, 보폭 1, 패딩 없음 → 출력 26×26×8. 매개변수 = 3·3·1·8 + 8(편향) = 80
  2. 2×2 풀링 → 13×13×8. 펼치면 1352개 값.
  3. 완전연결 층으로 10개 클래스 → 매개변수 = 1352·10 + 10 = 13,530

합성곱 층의 매개변수는 80개뿐입니다. 만약 같은 크기의 출력(26×26×8)을 완전연결 층으로 만든다면 784×5408 + 5408 = 4,245,280개가 필요합니다. 가중치 공유 덕분에 약 53,066분의 1로 줄어드는 셈입니다.

자주 하는 오해

논문에서는 이렇게 쓰입니다

실제 논문에서

국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"입력 영상은 5개의 합성곱 층(convolutional layer)과 2개의 완전연결 층으로 구성된 CNN을 통과하여 최종적으로 10개의 클래스 중 하나로 분류되었다."

이 문장은 "이미지가 여러 단계의 특징 추출 과정을 거친 뒤, 마지막에 10가지 범주 중 어디에 속하는지 판단하는 데 사용되었다"는 뜻입니다.

"경량화를 위해 표준 합성곱을 깊이별 분리 합성곱(depthwise separable convolution)으로 대체하여 연산량을 크게 줄이면서도 정확도 저하를 최소화하였다."

모바일이나 임베디드 환경을 겨냥한 연구에서는 CNN의 연산량을 줄이는 경량화 기법이 중요한데, 필터 연산 방식을 바꾸어 계산 비용을 낮추는 시도를 설명하는 문장입니다.

"CNN 기반 인코더로 추출한 특징 맵을 종양 영역 분할(segmentation) 모델의 입력으로 사용하여 병변 경계를 픽셀 단위로 예측하였다."

의료 영상 분석 논문에서는 CNN이 단순 분류를 넘어, 이미지 내 특정 영역(장기, 병변 등)의 경계를 픽셀 단위로 구분해내는 데도 널리 쓰인다는 의미입니다.

조금 더 깊게 보면

CNN의 성능은 필터 크기, 스트라이드, 풀링(pooling) 방식, 층의 깊이 같은 구조적 선택에 크게 좌우되며, 각 층을 지날수록 수용 영역(receptive field)이 넓어지면서 더 넓은 범위의 맥락을 반영하게 됩니다.

층이 깊어질수록 학습이 어려워지는 문제를 해결하기 위해 잔차 연결(residual connection) 같은 구조가 널리 쓰이며, 배치 정규화(batch normalization) 등의 기법이 학습 안정성을 높이는 데 함께 사용됩니다.

최근 논문에서는 CNN의 지역적 특징 추출 능력과 트랜스포머의 전역적 관계 학습 능력을 결합한 하이브리드 구조도 자주 다루어집니다.

주의할 점

CNN은 이미지처럼 격자 구조를 가진 데이터(가까이 있는 픽셀끼리 관련이 깊은 데이터)에 특히 강점을 보이는 구조로, 순서가 중요한 문장 데이터에는 트랜스포머나 순환 구조가 더 널리 쓰이는 경우가 많습니다. 또한 필터 개수나 층의 깊이 같은 설정은 하이퍼파라미터 튜닝을 통해 정해야 하며, 데이터가 적으면 과적합되기 쉬워 데이터증강을 함께 활용하는 경우가 많습니다.

헷갈리기 쉬운 용어

이미지나 시퀀스를 다루는 대표 신경망 구조들은 데이터를 보는 방식이 다릅니다.

모델·요소데이터를 보는 방식특징
합성곱 신경망작은 필터로 지역 패턴을 훑음격자 구조 데이터(이미지)에 강함
순환 신경망입력을 순서대로 읽으며 상태를 이어 감순서가 중요한 시퀀스 데이터
트랜스포머모든 위치 간의 관계를 어텐션으로 직접 계산전역 관계 학습에 강함
풀링 층특징 맵을 요약해 크기를 줄임CNN의 구성 요소

참고 문헌

  1. LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278–2324.
  2. Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems, 25.
  3. Fukushima, K. (1980). Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics, 36(4), 193–202.
  4. Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

개념 계통

상위 개념
하위 개념

분야 전체 개념 지도 보기 →

관련 용어