토픽 41 / 172·딥러닝
CNN (Convolutional Neural Network)
CNN (Convolutional Neural Network)
합성곱 연산을 사용하여 이미지의 공간적 패턴을 자동으로 학습하는 딥러닝 아키텍처로, 이미지 분류·객체 탐지·이미지 분할 등 컴퓨터 비전 분야에서 뛰어난 성능
특징: 지역연결(Local Connectivity), 파라미터공유(Weight Sharing), 공간계층구조(저수준→고수준 특징), 이동불변성(Translation Invariance)
구성요소(레이어) 상세
- •합성곱층(Convolution Layer): 학습 가능한 필터(커널, 예: 3x3x채널)를 입력에 슬라이딩하며 내적 연산 수행 → 특징맵(Feature Map) 생성. 가중치 공유로 파라미터 수 대폭 감소(FC 대비). 초기 층은 엣지/색상/텍스처 같은 저수준 특징, 깊은 층은 얼굴/물체 같은 고수준 특징 학습. 출력 크기 = (입력크기 - 필터크기 + 2×패딩)/스트라이드 + 1. 1x1 Conv는 채널 수 조절/차원 축소에 사용(GoogLeNet)
- •풀링층(Pooling Layer): 특징맵을 다운샘플링하여 공간 차원 축소. Max Pooling: 영역 내 최대값 선택(가장 강한 특징 보존, 가장 널리 사용, 보통 2x2/stride 2). Average Pooling: 영역 내 평균값 계산(전체적 특징 보존, 최종 층에서 주로 사용). Global Average Pooling(GAP): 채널별 전체 평균, FC층 대체로 파라미터 대폭 감소. 효과: 연산량 감소, 과적합 방지, 이동 불변성 강화
- •완전연결층(FC Layer, Dense): 특징맵을 1차원 벡터로 펼친(Flatten) 후 모든 뉴런 연결. 최종 분류/회귀 수행(Softmax/Sigmoid). 파라미터가 가장 많아 과적합 원인 → 최근에는 GAP로 대체 추세. 마지막 FC는 클래스 수만큼 출력 노드
CNN 전체 파이프라인: 입력이미지 → [Conv→ReLU→Pool]×N(특징 추출) → Flatten → [FC→ReLU→Dropout]×M(분류) → Softmax(출력)
하이퍼파라미터: 필터크기(3×3이 표준, VGG 이후), 스트라이드(이동간격, 1~2), 패딩(Same/Valid), 채널수(32→64→128 점진 증가)
장점: 자동특징추출(수작업 특징공학 불필요), 파라미터효율(가중치 공유), 공간정보보존, 높은정확도
단점: 대규모데이터·GPU필요, 해석어려움(블랙박스), 회전/크기 변화에 취약(Augmentation으로 보완)
적용사례: 이미지분류(ResNet), 객체탐지(YOLO·Faster R-CNN), 얼굴인식, 의료영상진단
비교: CNN(이미지·공간·지역패턴) vs RNN(시계열·순서·장기의존성) vs Transformer(병렬·어텐션·전역패턴)
연관: 딥러닝, 이미지분류, 객체탐지, ResNet, 합성곱, 풀링