본문 바로가기
AI/AI 활용법

CNN(합성곱 신경망)이란 : 이미지 인식 AI의 작동 원리와 60년 역사 완전 정리

by AI시대의 컴공 졸업생 2026. 4. 28.
반응형

CNN(합성곱 신경망)이란 : 이미지 인식 AI의 작동 원리와 60년 역사 완전 정리

작성일: 2026년 4월 28일  |  읽기 시간: 약 18분  |  카테고리: AI 기술 해설

이 글은 CNN(합성곱 신경망)의 작동 원리를 합성곱·풀링·완전연결 레이어 단위로 풀고, 1998년 LeNet-5부터 2021년 Vision Transformer까지 ImageNet 대회를 축으로 한 60년 발전사를 한 자리에 담았습니다.

2012년 9월, 캐나다 토론토대학의 팀 하나가 ImageNet 대회 결과를 발표했습니다. 이전 해 우승 모델의 오차율이 25.8%였는데, 그들의 모델은 15.3%였습니다. 무려 10%포인트 이상의 격차. 그날 이후 컴퓨터 비전 연구의 흐름이 통째로 바뀌었습니다.

그 모델이 AlexNet이고, 그 기반이 바로 CNN(Convolutional Neural Network, 합성곱 신경망)입니다. 지금 스마트폰이 얼굴을 인식하고, 의료 AI가 X선을 판독하고, 자율주행차가 보행자를 감지하는 모든 곳에 CNN의 원리가 살아 있습니다.

이 글의 핵심 요약 (5줄)
  • CNN은 필터(커널)로 이미지를 슬라이딩하며 특징을 추출하는 딥러닝 구조로, 파라미터를 공유해 일반 신경망 대비 연산량을 대폭 줄인다.
  • 합성곱 → 풀링 → 완전연결 레이어 순서로 쌓이며, 낮은 레이어는 에지·색상, 깊은 레이어는 눈·바퀴 같은 고수준 패턴을 학습한다.
  • 1998년 LeCun의 LeNet-5가 미국 은행 수표 판독에 실제 배포된 최초의 CNN이며, 2012년 AlexNet이 GPU 병렬 학습으로 딥러닝 르네상스를 열었다.
  • ILSVRC top-5 오차율은 AlexNet(2012, 15.3%) → GoogLeNet(2014, 6.67%) → ResNet(2015, 3.57%) → SENet(2017, 2.25%)으로 낮아지며, 인간 수준(5.1%)을 2015년에 이미 돌파했다.
  • 2020년대에는 ViT(Vision Transformer)가 CNN의 귀납적 편향 없이도 대규모 데이터에서 경쟁하는 구조를 제시해 CNN과 병존 중이다.

CNN이란 무엇인가 : 한 문장 정의

CNN(합성곱 신경망)은 이미지의 공간 구조를 보존하면서 작은 필터로 슬라이딩하며 특징을 추출하는 딥러닝 구조입니다. 일반적인 완전연결(Fully Connected) 신경망은 픽셀 하나하나를 개별 입력으로 받아 모든 뉴런과 연결하는 반면, CNN은 인접 픽셀 간의 공간 관계를 그대로 살려 처리합니다.

[자기완결 단락 1] CNN(합성곱 신경망)은 1998년 Yann LeCun 등이 IEEE Proceedings에 발표한 논문 "Gradient-Based Learning Applied to Document Recognition"에서 처음 정식화되었으며, 합성곱 연산·풀링·완전연결 레이어의 조합으로 이미지 내 공간적 패턴을 계층적으로 학습한다.

핵심 발상은 간단합니다. 고양이 사진에서 귀를 찾는 필터가 있다면, 그 필터는 이미지의 왼쪽 위 모서리에서 오른쪽 아래 모서리까지 동일하게 적용됩니다. 같은 필터를 이미지 전체에 재사용하니까 파라미터가 훨씬 적어지고, 귀가 어느 위치에 있든 찾아낼 수 있습니다. 이것이 CNN의 두 핵심 특성인 파라미터 공유(Parameter Sharing)와 등변성(Equivariance)입니다.

224×224 크기 컬러 이미지(3채널)를 완전연결 신경망으로 처리하면 첫 레이어 파라미터만 약 150만 개에 달합니다. CNN은 3×3 필터 64개를 쓸 경우 1,728개면 됩니다. 약 870배 차이입니다.

합성곱 연산 : 필터가 이미지를 읽는 방식

합성곱 연산은 필터(커널)를 이미지 위에서 일정 간격(스트라이드)으로 이동시키며 겹치는 픽셀과의 내적(dot product)을 계산하는 과정입니다. 결과로 나오는 2D 행렬은 피처 맵(Feature Map) 또는 활성 맵이라고 합니다.

합성곱 연산 — 3×3 필터가 이미지를 슬라이딩하는 구조 합성곱 연산 — 3×3 필터가 이미지를 슬라이딩하는 구조 합성곱(Convolution) 연산 — 3×3 필터가 5×5 이미지를 슬라이딩 입력 이미지 (5×5) 필터 / 커널 (3×3) 피처 맵 (3×3) 1 2 0 1 0 0 3 1 2 1 2 1 4 0 3 1 0 2 1 0 0 1 3 2 1 현재 필터 위치 → 스트라이드 1로 이동 1 0 -1 1 0 -1 1 0 -1 (수직 에지 검출 필터) 내적 (dot product) = (1×1)+(0×2)+(−1×0) +(1×0)+(0×3)+(−1×1) +(1×2)+(0×1)+(−1×4) = −2 −2 ... ... ... ... ... ... ... ... 3×3 피처 맵 생성 ReLU 활성화 후 음수 → 0 변환 × 스트라이드 1 출력 크기 = ⌊(N−F+2P)/S⌋ + 1 = ⌊(5−3+0)/1⌋ + 1 = 3
합성곱 연산 원리 (5×5 입력, 3×3 필터, 스트라이드 1)

수식으로 쓰면 다음과 같습니다.

(I * K)(i, j) = Σm Σn I(i+m, j+n) · K(m, n)

여기서 I는 입력 이미지, K는 필터(커널), (i, j)는 출력 피처 맵의 위치입니다. m, n은 필터 내부 인덱스로, 필터 크기 F에 대해 0부터 F-1까지 합산합니다.

필터를 훑고 나면 출력 피처 맵의 크기는 입력 크기 N, 필터 크기 F, 패딩 P, 스트라이드 S에 따라 결정됩니다.

출력 크기 = ⌊(N − F + 2P) / S⌋ + 1

예를 들어 32×32 이미지에 5×5 필터, 패딩 0, 스트라이드 1을 적용하면 출력은 (32-5+0)/1+1 = 28×28이 됩니다. 패딩을 2로 늘리면 (32-5+4)/1+1 = 32×32로 원본 크기가 그대로 유지되는데, 이를 Same 패딩이라 부릅니다.

필터는 훈련 과정에서 역전파를 통해 자동으로 학습됩니다. 초기 레이어의 필터는 수평선·수직선·색상 경계 같은 저수준 특징을 잡아내고, 레이어를 거듭할수록 눈·바퀴·텍스처처럼 점점 복잡한 패턴으로 진화합니다. 필터 = 손전등이 이미지를 훑는다는 비유가 여기서 나옵니다. 다만 그 손전등은 처음부터 무엇을 찾을지 정해져 있지 않고, 수백만 장의 이미지를 보면서 스스로 무엇을 찾아야 할지 배웁니다.

풀링 레이어 : 크기를 줄이고 강건성을 높인다

풀링(Pooling)은 피처 맵의 공간 크기를 줄여 계산량을 낮추고, 위치 변화에 강건하게 만드는 다운샘플링 연산입니다. 가장 흔한 Max Pooling은 2×2 영역에서 최댓값 하나만 남깁니다.

Max Pooling — 2×2 영역에서 최댓값만 선택하는 과정 Max Pooling — 2×2 영역에서 최댓값만 선택하는 과정 Max Pooling vs Average Pooling — 2×2 윈도우, 스트라이드 2 입력 피처 맵 (4×4) Max Pooling 출력 (2×2) Average Pooling 출력 (2×2) 8 3 7 9 1 6 2 4 4 5 8 1 2 1 3 6 max() 8 9 5 8 max(8, 3, 1, 6) = 8 max(7, 9, 2, 4) = 9 max(4, 5, 2, 1) = 5 max(8, 1, 3, 6) = 8 avg() 4.5 5.5 3.0 4.5 avg(8, 3, 1, 6) = 4.5 avg(7, 9, 2, 4) = 5.5 avg(4, 5, 2, 1) = 3.0 avg(8, 1, 3, 6) = 4.5 Max Pooling: 가장 강한 특징을 선택 → 이미지 분류에 유리  |  Average Pooling: 부드러운 평균 → 시각화·생성 모델에 활용
Max Pooling vs Average Pooling 비교 (2×2 윈도우, 스트라이드 2)

Max Pooling의 효과는 두 가지입니다. 피처 맵이 절반 크기로 줄어 이후 레이어의 파라미터 수가 감소하고, 고양이 귀의 위치가 몇 픽셀 이동해도 같은 최댓값이 선택되어 위치 불변성(Translation Invariance)이 생깁니다. 평균값을 쓰는 Average Pooling도 있지만, 이미지 분류 문제에서는 Max Pooling이 대체로 더 좋은 성능을 냅니다.

현대 아키텍처에서는 풀링 대신 스트라이드 2짜리 합성곱으로 다운샘플링하는 경향이 늘었습니다. 학습 가능한 파라미터로 다운샘플링을 직접 최적화할 수 있기 때문입니다.

완전연결 레이어 : 분류 결정의 마지막 단계

완전연결(FC, Fully Connected) 레이어는 합성곱 레이어들이 추출한 고수준 피처를 받아 최종 클래스 확률로 변환하는 분류기 역할을 합니다. 피처 맵을 1차원 벡터로 평탄화(Flatten)한 뒤, 일반 신경망처럼 모든 뉴런이 연결됩니다.

마지막 FC 레이어 출력에는 Softmax 활성화함수를 적용해 각 클래스의 확률 합이 1이 되도록 정규화합니다. 예를 들어 ImageNet 1,000종 분류 모델이라면 1,000개 확률값이 출력됩니다. 이 중 가장 높은 확률의 클래스가 최종 예측 레이블이 됩니다.

전체 CNN 구조를 한 줄로 정리하면 이렇습니다. 입력 이미지 → [합성곱 + 활성화(ReLU) + 풀링] × N → 평탄화 → [완전연결 + 활성화] × M → Softmax → 클래스 확률.

LeNet-5 : 은행 수표를 판독한 최초의 CNN (1998)

LeNet-5는 1998년 Yann LeCun, Léon Bottou, Yoshua Bengio, Patrick Haffner가 Proceedings of the IEEE에 발표한 CNN 구조로, 1990년대 말 미국 은행 수표 판독 시스템에 실제 배포된 최초의 CNN입니다.

LeNet-5 구조 — C1·S2·C3·S4·C5·F6·Output 7레이어 LeNet-5 구조 — C1·S2·C3·S4·C5·F6·Output 7레이어 LeNet-5 아키텍처 (LeCun et al., 1998) — 7레이어 구조 INPUT 32×32 1 ch 입력 이미지 C1 Conv 5×5 6 maps 28×28 합성곱 156 param S2 Pool 2×2 avg 6 maps 14×14 평균 풀링 C3 Conv 5×5 16 maps 10×10 합성곱 1,516 param S4 Pool 2×2 avg 16 maps 5×5 평균 풀링 C5 Conv 5×5 FC 120 ch 완전 합성곱 F6 FC 84 units 완전 연결층 OUTPUT Softmax 10 class 숫자 0 ~ 9 전체 파라미터 ~60,000 입력: 32×32 (1ch) 출력: 10개 클래스 AlexNet(60M)의 1/1000 합성곱 레이어 (C) 풀링 레이어 (S) 완전연결 레이어 (F) 출력 레이어 LeCun et al., Proc. IEEE, 1998
LeNet-5 아키텍처 (LeCun et al., Proceedings of the IEEE, 1998 구조 기반 시각화)

LeCun 등(1998)의 논문에 따르면, LeNet-5는 32×32 픽셀 이미지를 입력받아 2개의 합성곱-풀링 블록을 거친 뒤 3개의 완전연결 레이어로 10개 숫자(0~9)를 분류합니다. 전체 파라미터는 약 6만 개에 불과합니다.

[자기완결 단락 2] LeCun et al.(1998, Proceedings of the IEEE)의 LeNet-5는 1990년대 말부터 NCR이 운용한 미국 은행권 수표 판독 시스템의 핵심 모듈로 배포되었으며, NCR/LeCun의 후속 발표에 따르면 2000년대 초 미국에서 처리되는 전체 수표의 약 10%가 이 시스템을 거친 것으로 알려져 있다(원 1998 논문에는 정확한 점유율 수치가 직접 기재되어 있지 않다).

LeNet-5 이후에도 CNN은 존재했지만, 2000년대 초반에는 벽에 부딪혔습니다. 이유는 세 가지였습니다. 학습 데이터가 부족했고, 연산 자원(GPU)이 없었으며, 깊은 네트워크를 학습하면 그래디언트가 소멸(Vanishing Gradient)해 수렴하지 않았습니다. 이 세 가지 장벽이 동시에 무너지기까지 14년이 걸렸습니다.

AlexNet과 딥러닝 르네상스 : 2012년의 돌파구

2012년 Alex Krizhevsky, Ilya Sutskever, Geoffrey Hinton이 발표한 AlexNet은 ILSVRC 2012에서 top-5 오차율 15.3%를 기록해 2위(26.2%)를 10%포인트 이상 차이로 따돌리며, GPU 기반 딥러닝의 시대를 열었습니다.

AlexNet GPU 병렬 학습 구조 — 두 GPU에 필터를 분산 배치 AlexNet GPU 병렬 학습 구조 — 두 GPU에 필터를 분산 배치 AlexNet 2-GPU 병렬 구조 (Krizhevsky et al., NeurIPS 2012) GPU 1 — 상단 경로 (48 filters each) GPU 2 — 하단 경로 (48 filters each) INPUT 227 ×227 3 ch INPUT 227×227 3 ch C1 11×11 stride 4 48 filt 55×55 +ReLU+LRN +Pool C1 11×11 stride 4 48 filt 55×55 +ReLU+Pool C2 5×5 128 filt 27×27 +ReLU+LRN +Pool C2 5×5 128 filt 27×27 +ReLU+Pool C3만 GPU 간 통신 C3 3×3 192 filt 13×13 +ReLU 입력:256ch C3 3×3 192 filt 13×13 +ReLU C4 3×3 192 filt 13×13 +ReLU C4 3×3 192 filt 13×13 +ReLU C5 3×3 128 filt 13×13 +ReLU +Pool C5 3×3 128 filt 13×13 +ReLU+Pool Flatten +Concat FC6 4096 +ReLU +Dropout 50% FC7 4096 +ReLU +Dropout 50% FC8 1000 Softmax AlexNet 핵심 수치 총 파라미터: ~60M 레이어: Conv 5 + FC 3 GPU: GTX 580 × 2 VRAM: 3GB / GPU 활성화: ReLU 정규화: Dropout 0.5 Top-5 오차: 15.3% (ILSVRC 2012 우승) 5개 합성곱 레이어(C1~C5) + 3개 완전연결 레이어(FC6~FC8) — 두 GPU에 필터를 절반씩 분산, C3에서만 GPU 간 통신
AlexNet 2-GPU 병렬 구조 (Krizhevsky, Sutskever & Hinton, NeurIPS 2012 구조 기반 시각화)

AlexNet이 LeNet-5와 구별되는 점은 크게 세 가지였습니다.

  • GPU 병렬 학습: GTX 580(3GB VRAM) 두 장을 병렬 연결해 6천만 개의 파라미터를 수용했습니다. 당시로서는 거의 불가능에 가까운 규모였습니다.
  • ReLU 활성화함수: Sigmoid·Tanh 대신 ReLU(Rectified Linear Unit)를 사용해 그래디언트 소멸 문제를 크게 완화하고 학습 속도를 4~6배 높였습니다.
  • 드롭아웃(Dropout): 학습 중 무작위로 뉴런을 50% 비율로 비활성화해 과적합(Overfitting)을 억제했습니다.
[자기완결 단락 3] Krizhevsky, Sutskever, Hinton(2012)의 AlexNet은 5개 합성곱 레이어와 3개 완전연결 레이어로 구성되며, 총 파라미터 약 6천만 개를 NVIDIA GTX 580 두 장으로 분산 학습해 ILSVRC 2012 top-5 오차율 15.3%를 달성했다 (NeurIPS 2012).

당시 2위 팀의 오차율은 26.2%였습니다. 10%포인트 이상의 격차는 단순한 수치 개선이 아니었습니다. AI 연구자들이 지지부진하게 붙잡고 있던 SVM과 핸드크래프트 피처의 시대가 끝났다는 선언이었습니다.

ILSVRC 역사로 보는 CNN의 발전 : 2010~2017

ILSVRC(ImageNet Large Scale Visual Recognition Challenge)는 2010년부터 2017년까지 매년 열린 이미지 분류·검출 대회로, 참가팀들이 120만 장 이상의 ImageNet 데이터셋에서 1,000개 카테고리를 분류하는 성능을 겨룹니다. 아래 표는 연도별 우승 모델과 top-5 오차율의 변화를 정리한 것입니다.

ILSVRC 역대 top-5 오차율 그래프 — 2012년 AlexNet 이후 급격한 하락 ILSVRC 역대 top-5 오차율 그래프 — 2012년 AlexNet 이후 급격한 하락 ILSVRC Top-5 오차율 추이 (2010–2017) ImageNet 1,000종 분류 대회 — 인간 수준 5.1% 기준선 포함 0% 5% 10% 15% 20% 25% 30% Top-5 오차율 (%) 2010 2011 2012 2013 2014 2015 2016 2017 연도 (ILSVRC 개최년도) 인간 5.1% 최초 돌파 28.2% NEC-UIUC 25.8% XRCE 15.3% AlexNet 2위와 10.9%p 격차 (2위: 26.2%, SVM 기반) 11.7% ZFNet 6.67% GoogLeNet 3.57% ResNet 2.99% 2.99% Trimps 2.25% SENet CNN 기반 모델 핸드크래프트 특징 인간 수준 5.1% (Russakovsky et al., 2015) 인간 수준 돌파 (2015, ResNet)
ILSVRC 2010–2017 top-5 오차율 추이. 인간 수준 5.1% 기준선은 Russakovsky et al., IJCV 2015 수치.
연도 우승 모델 기관 top-5 오차율 핵심 혁신
2010 NEC-UIUC NEC Labs / UIUC 28.2% SIFT + SVM 핸드크래프트 피처
2011 XRCE Xerox Research 25.8% 피셔 벡터(Fisher Vector)
2012 AlexNet 토론토대학 (Hinton 팀) 15.3% GPU 병렬 학습 · ReLU · Dropout
2013 Clarifai (ZFNet 기반) Clarifai (Zeiler 창업, NYU) 11.19% 시각화 기반 필터 크기 최적화
2014 GoogLeNet Google 6.67% Inception 모듈 · 6.8M 파라미터(AlexNet 대비 1/9)
2014 VGGNet 옥스퍼드대학 VGG 7.3% 3×3 필터 심층화 (16~19레이어)
2015 ResNet Microsoft Research 3.57% 잔차 연결(Skip Connection) · 152레이어
2016 Trimps-Soushen 중국 트림프스 2.99% 앙상블 기법 강화
2017 SENet Momenta / 옥스퍼드 2.25% 채널 어텐션 (Squeeze-and-Excitation)

인간 수준 오차율은 약 5.1%(Russakovsky et al., 2015)로 측정됩니다. ResNet이 이를 2015년에 이미 돌파했고, 이후 3% 아래로 내려갔습니다. 2017년 ILSVRC는 이 대회가 "CNN 발전의 충분한 벤치마크 역할을 마쳤다"는 판단으로 마지막 회를 열었습니다.

[자기완결 단락 4] Russakovsky et al.(2015, International Journal of Computer Vision)에 따르면, ImageNet 1,000종 분류 과제에서 인간 전문가의 top-5 오차율은 약 5.1%이며, He et al.(2015)의 ResNet-152는 3.57%로 이를 최초로 하회해 기계가 특정 이미지 분류 작업에서 인간 수준을 넘었음을 공식화했다.

VGGNet과 GoogLeNet : 깊이 vs 효율의 두 전략

VGGNet(Simonyan & Zisserman, 2014)은 "3×3 필터만 쌓으면 깊어질수록 강해진다"는 단순한 원칙으로 16~19레이어 구조를 실험해 컴퓨터 비전 연구의 표준 베이스라인이 된 CNN 아키텍처입니다.

VGGNet의 핵심 통찰은 5×5 합성곱 하나를 3×3 두 개로 대체할 수 있다는 것입니다. 수용 영역(Receptive Field)은 같고, 파라미터는 줄며, 비선형성은 오히려 높아집니다. 단점은 파라미터 총량이 1억 4천만 개에 달해 메모리 부담이 크다는 점입니다. 그럼에도 단순하고 규칙적인 구조 덕에 전이학습(Transfer Learning) 베이스로 지금도 널리 쓰이죠.

GoogLeNet(Szegedy et al., 2014)은 반대 방향에서 문제에 접근했습니다. AlexNet의 60M 파라미터를 6.8M(1/9 수준)으로 줄이면서도 top-5 오차율 6.67%를 달성했습니다. 핵심은 Inception 모듈입니다. 1×1, 3×3, 5×5 합성곱을 병렬로 수행하고 결과를 합치는 구조인데, 1×1 합성곱으로 채널을 먼저 압축해 연산량을 절감합니다.

[자기완결 단락 5] Szegedy et al.(arXiv 2014 / CVPR 2015 발표)의 GoogLeNet은 Inception 모듈을 통해 파라미터 수를 AlexNet의 6천만 개에서 680만 개로 약 1/9 수준으로 줄이면서도 ILSVRC 2014 top-5 오차율 6.67%를 달성했으며, 이는 당시 인간 수준(5.1%)에 불과 1.57%포인트 차이였다.

ResNet : 레이어를 152개까지 쌓을 수 있었던 이유

ResNet(Residual Network)은 Kaiming He 등이 CVPR 2016에서 발표한 구조로(Best Paper Award 수상), 잔차 연결(Residual/Skip Connection)을 통해 152레이어까지 안정적으로 학습하고 ILSVRC 2015 top-5 오차율 3.57%를 달성했습니다.

ResNet 잔차 블록 구조 — 입력 x가 컨볼루션을 거친 F(x)에 직접 더해지는 Skip Connection ResNet 잔차 블록 구조 — 입력 x가 컨볼루션을 거친 F(x)에 직접 더해지는 Skip Connection ResNet 잔차 블록(Residual Block) — F(x) + x Skip Connection He et al., CVPR 2016 — 그래디언트 소멸 문제 해결의 핵심 아이디어 일반 신경망 (Plain Network) 레이어가 H(x) 전체를 학습 x Weight Layer 1 Conv 3×3 + BN ReLU Weight Layer 2 Conv 3×3 + BN H(x) 그래디언트 소멸 위험 vs 잔차 블록 (Residual Block) 레이어가 잔차 F(x) = H(x) − x 만 학습 x Skip Connection (Identity) x Weight Layer 1 Conv 3×3 + BN ReLU Weight Layer 2 Conv 3×3 + BN + F(x) + x → ReLU 핵심 수식 H(x) = F(x) + x F(x) = 잔차(residual) 그래디언트 흐름 ∂L/∂x = ∂L/∂H · (1 + ∂F/∂x) '1' 항이 그래디언트를 앞 레이어에 직접 전달 → 소멸 없이 152층 학습 가능 ResNet-152 성능 3.57% ILSVRC 2015 top-5 오차율
일반 신경망 vs 잔차 블록 비교 (He et al., CVPR 2016 구조 기반 시각화)

레이어를 20개 이상 쌓으면 오히려 성능이 떨어지는 현상이 2015년 이전까지의 고질적인 문제였습니다. 그래디언트가 역전파되면서 점점 작아져 앞 레이어로 전달되지 못하기 때문입니다. ResNet은 이 문제를 우회로(shortcut)로 돌파했습니다. 각 블록이 입력 x에 대해 F(x) + x를 출력하도록 설계된 구조인데요. 레이어가 학습해야 할 대상이 F(x), 즉 '잔차(Residual)'만 남으므로 학습이 훨씬 안정됩니다.

He et al.(2015)의 논문에서 ResNet-110은 CIFAR-10에서 ResNet-20보다 훨씬 낮은 오차율을 기록했습니다. 깊이가 성능으로 직결된다는 사실을 처음으로 대규모로 증명한 사례입니다. ResNet의 잔차 블록 개념은 이후 EfficientNet, DenseNet, ViT를 포함한 거의 모든 현대 아키텍처에 영향을 미쳤습니다.

ViT(Vision Transformer) : CNN의 독주에 도전한 구조

ViT(Vision Transformer)는 Dosovitskiy 등이 2021년 ICLR에서 발표한 구조로, 이미지를 패치(Patch) 단위로 쪼개 자연어 처리의 Transformer에 그대로 입력해 CNN의 귀납적 편향(Inductive Bias) 없이도 대규모 데이터에서 CNN에 필적하거나 능가하는 성능을 보여줍니다.

CNN과 ViT의 이미지 처리 방식 비교 CNN과 ViT의 이미지 처리 방식 비교 CNN vs ViT — 이미지 처리 방식 비교 합성곱 지역 특징 추출 vs 패치 임베딩 + Self-Attention 전역 맥락 학습 CNN (Convolutional Neural Network) 입력 이미지 (예: 32×32 픽셀) 3×3 filter 슬라이딩 필터 합성곱 레이어 × N (지역 수용 영역) 풀링 레이어 (다운샘플링) 완전연결 레이어 → 분류 귀납적 편향: 인접 픽셀 중요 (지역성) + 위치 불변성 소~중규모 데이터에서 강점 | 파라미터 효율적 ViT (Vision Transformer) 입력 이미지 → 16×16 패치 분할 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 패치 → 벡터 임베딩 패치 임베딩 + 위치 인코딩 (P1 … P196) Multi-Head Self-Attention (모든 패치 쌍) MLP Head → 분류 (CLS 토큰) 귀납적 편향 없음: 모든 패치 간 관계를 데이터로 학습 대규모 데이터(수억 장)에서 CNN 능가 | 전역 맥락 포착 vs
CNN(지역 합성곱) vs ViT(패치 임베딩 + Self-Attention) 구조 비교 (Dosovitskiy et al., ICLR 2021 기반 시각화)

CNN은 지역 수용 영역(Local Receptive Field)이라는 귀납적 편향을 내장합니다. "인접 픽셀이 중요하다"는 가정을 구조 자체에 심어두는 것입니다. ViT는 이를 제거하고 이미지를 16×16 패치 196개로 나눠 각 패치를 토큰처럼 취급합니다. Self-Attention으로 모든 패치 간 관계를 학습하기 때문에, 충분히 큰 데이터(JFT-300M 등)가 있으면 로컬 패턴뿐 아니라 전역 맥락도 학습합니다.

[자기완결 단락 6] Dosovitskiy et al.(2021, ICLR, "An Image is Worth 16×16 Words")은 JFT-300M으로 사전학습한 ViT-H/14가 ImageNet 1K 분류에서 정확도 88.55%를 달성했다고 보고했으며, 이는 당시 최고 수준의 CNN 기반 EfficientNet-B7(84.3%)을 상회하는 수치다.

단, ViT는 중간 규모 데이터에서 CNN보다 낮은 성능을 보이는 경향이 있습니다. 귀납적 편향이 없으니 데이터가 충분하지 않으면 오히려 손해입니다. 이를 보완한 DeiT(Data-efficient Image Transformers), Swin Transformer, ConvNeXt(CNN 구조에 Transformer 설계 원칙을 적용) 같은 하이브리드 계열이 빠르게 발전하고 있습니다. 2020년대의 컴퓨터 비전은 CNN과 Transformer가 경쟁하면서 서로를 흡수하는 방향으로 진화 중입니다.

자주 묻는 질문 (FAQ)

CNN과 일반 신경망(MLP)의 가장 큰 차이는 무엇인가요?
파라미터 공유와 공간 구조 보존입니다. MLP는 모든 입력·출력 뉴런이 완전 연결되어 픽셀 위치가 사라지지만, CNN은 같은 필터를 이미지 전체에 재사용하고 2D 공간 구조를 유지합니다(LeCun et al., 1998, Proceedings of the IEEE).
합성곱 신경망(CNN)은 이미지 외에 다른 분야에도 쓰이나요?
음성·시계열·텍스트에도 쓰입니다. 1D CNN이 오디오·시계열·문장에 적용되며, 대표 사례는 WaveNet(DeepMind, 2016) 음성 생성 모델입니다.
LeNet-5와 AlexNet의 핵심 차이는 무엇인가요?
규모·활성화함수·학습 인프라 세 가지입니다. LeNet-5는 CPU로 학습한 6만 파라미터 구조이며, Sigmoid/Tanh를 사용했습니다. AlexNet은 GPU 두 장에 6천만 파라미터를 분산하고, ReLU와 Dropout으로 깊은 네트워크 학습을 가능하게 했습니다 (Krizhevsky et al., 2012, NeurIPS).
ResNet이 152레이어를 쌓을 수 있는 원리는 무엇인가요?
잔차 연결(Skip Connection)이 그래디언트 소멸을 방지하기 때문입니다. 각 블록이 입력 x를 그대로 출력에 더하는 구조(F(x)+x)를 가지므로, 그래디언트가 합산 경로를 통해 앞 레이어까지 손실 없이 전달됩니다. He et al.(arXiv 2015 / CVPR 2016, Best Paper Award)에서 처음 공식 제안되었습니다.
ILSVRC 대회에서 인간 수준을 AI가 언제 처음 넘었나요?
2015년 ResNet이 top-5 오차율 3.57%로 인간 수준(5.1%)을 처음 하회했습니다. 인간 오차율 5.1%는 Russakovsky et al.(2015, IJCV)이 공식 측정한 값입니다. ResNet은 같은 해 ILSVRC 우승 모델이었습니다.
CNN과 ViT 중 어떤 것이 더 좋은가요?
데이터 규모에 따라 다릅니다. 소~중규모 데이터는 CNN이, 수억 장 사전학습 환경은 ViT가 유리합니다(Dosovitskiy et al., 2021, ICLR).

정리 : CNN 60년의 핵심과 다음 한걸음

합성곱 신경망은 Hubel과 Wiesel(1962, Journal of Physiology)의 고양이 시각 피질 연구에서 아이디어를 얻어, 1980~90년대 LeCun의 LeNet 시리즈로 구체화되고, 2012년 AlexNet의 GPU 혁명으로 폭발했습니다. 그리고 ResNet이 2015년 인간 수준을 넘은 뒤, 이제는 ViT와 ConvNeXt V2(Woo et al., 2023, CVPR), Swin Transformer V2(Liu et al., 2022, CVPR) 같은 하이브리드 구조와 경쟁·융합하며 진화를 이어가고 있습니다.

CNN의 가장 큰 유산은 특징 공학(Feature Engineering) 없이도 데이터에서 스스로 표현을 학습한다는 패러다임입니다. 이 원칙은 이미지를 넘어 음성, 텍스트, 단백질 구조 예측까지 뻗어 나갔습니다. 딥러닝의 범용성은 바로 여기서 출발했습니다.

이 글을 읽은 뒤 실천할 수 있는 다음 한걸음:

  • PyTorch 또는 TensorFlow로 LeNet-5를 직접 구현하고 MNIST에서 돌려보기
  • torchvision에서 ResNet-50 사전학습 가중치를 로드해 전이학습 실험하기
  • Grad-CAM 라이브러리로 CNN이 어떤 영역을 보고 분류하는지 시각화하기

글쓴이 : 성큼이90

컴퓨터공학 전공 R&D 기획·PM. AI 기술·건강·재테크 분야의 데이터 기반 콘텐츠를 씁니다. 학술 1차 출처를 우선해 인용하고, 의료·법률 등 전문 영역은 면책 고지를 함께 표기합니다.

저자 소개 보기 · 블로그 홈

반응형