Skip to main content

CNN — 이미지 인식

이미지에서 특성을 자동으로 추출하는 신경망 — 합성곱 연산이 핵심


1. 왜 CNN인가

일반 MLP로 이미지를 처리하면 파라미터가 폭발함. 224×224 컬러 이미지 = 150,528개 입력. 은닉층 1,000개면 가중치가 1.5억 개.

CNN은 **합성곱(Convolution)**으로 이 문제를 해결:

  • 파라미터 공유: 같은 필터를 이미지 전체에 적용
  • 지역적 연결: 전체가 아닌 작은 영역(수용 영역)만 관찰
  • 공간 정보 보존: 2D 구조를 유지

2. 핵심 구성 요소

2.1 합성곱 레이어 (Convolution)

항목설명
필터(커널)보통 3×3 또는 5×5 크기. 이미지 위를 슬라이딩하며 특성 추출
특성 맵필터 적용 결과. 필터 수 = 출력 채널 수
스트라이드필터 이동 간격. 1이면 1칸씩, 2면 크기 절반
패딩입력 가장자리에 0을 채워 크기 유지

얕은 레이어: 엣지, 색상 같은 저수준 특성 감지 깊은 레이어: 얼굴, 바퀴 같은 고수준 특성 감지

2.2 풀링 레이어 (Pooling)

공간 크기를 줄여 계산량 감소 + 위치 불변성 확보.

풀링동작사용
Max Pooling영역의 최댓값✅ 가장 많이 사용
Average Pooling영역의 평균값
Global Average Pooling전체 채널을 하나의 값으로✅ 최근 아키텍처에서 FC 대체

2.3 전체 구조


3. 주요 아키텍처 진화

아키텍처핵심 기여깊이
LeNet-5CNN의 시작 (필기 인식)5
AlexNetGPU 학습, ReLU, Dropout. ImageNet 혁명8
VGG3×3 필터만 사용. 깊이의 중요성 증명16/19
GoogLeNetInception 모듈 (다양한 크기 필터 병렬)22
ResNetResidual Connection(잔차 연결). 수백 레이어 가능50/101/152
EfficientNet깊이/너비/해상도를 동시 스케일링가변

ResNet의 핵심 — Residual Connection

기존: x → F(x)                    (깊어지면 기울기 소실)
ResNet: x → F(x) + x (입력을 출력에 직접 더함)

"학습할 것이 없으면 F(x)=0이 되어 x가 그대로 통과" → 깊은 네트워크도 안정적 학습 가능. Transformer의 Residual Connection도 이 아이디어.


4. Transfer Learning

사전학습된 CNN(ImageNet 1,400만 이미지)을 가져와 새로운 태스크에 적용하는 기법.

전략방법데이터 양
Feature Extraction사전학습 모델 고정, 마지막 레이어만 교체적음
Fine-tuning일부 또는 전체 레이어를 재학습중간~많음

💡 소량의 데이터로도 높은 성능을 얻을 수 있어 실전에서 가장 많이 사용되는 패턴. ImageNet으로 학습된 ResNet/EfficientNet을 기반으로 의료 영상, 불량품 탐지 등에 적용.


5. Object Detection 개요

분류(이것이 무엇?)를 넘어 **위치(어디에 있는가?)**까지 탐지.

모델방식특징
Faster R-CNN2-stage (영역 제안 → 분류)정확, 느림
YOLO1-stage (한 번에 탐지)✅ 빠름, 실시간
SSD1-stage중간

다음 글

RNN & Sequence 모델


📝 참고 자료