딥러닝에서 이미지 데이터를 다룰 때 가장 많이 사용되는 모델이 바로 CNN(Convolutional Neural Network, 합성곱 신경망) 입니다.
CNN은 사람의 시각 처리 방식에서 영감을 받아 만들어졌으며, 이미지의 공간적 특징(Spatial Feature)을 효과적으로 추출하는 데 강점을 가지고 있습니다.
이번 글에서는 CNN을 구성하는 주요 레이어들의 역할을 하나씩 정리해보겠습니다.
일반적인 CNN의 구조는 다음과 같습니다.
입력 이미지
↓
합성곱(Convolution) 레이어
↓
활성화 함수 (ReLU)
↓
풀링(Pooling) 레이어
↓
(위 과정 반복)
↓
완전연결층(Fully Connected Layer)
↓
출력층(Output Layer)
CNN의 핵심 레이어입니다.
작은 필터(커널, Kernel)를 이용해 이미지 위를 슬라이딩하면서 특징을 추출합니다.

대표적으로 ReLU (Rectified Linear Unit) 를 사용합니다.
ReLU(x) = max(0, x)
Feature Map의 크기를 줄이는 역할을 합니다.

Convolution과 Pooling을 거친 Feature Map을

보통 다음을 사용합니다:
[고양이: 0.1, 강아지: 0.8, 토끼: 0.1]
가장 높은 확률의 클래스를 선택합니다.
| 레이어 | 역할 | 목적 |
| Convolution | 특징 추출 | 이미지 패턴 학습 |
| Activation (ReLU) | 비선형성 추가 | 복잡한 패턴 학습 |
| Pooling | 크기 축소 | 연산량 감소, 과적합 방지 |
| Fully Connected | 분류 수행 | 특징 기반 판단 |
| Output | 확률 출력 | 최종 예측 |
CNN은 단순히 여러 층을 쌓은 신경망이 아닙니다.
"특징 추출기 + 분류기" 구조의 모델입니다.
이미지 분류, 객체 탐지, 의료 영상 분석, 자율주행 등
현대 컴퓨터 비전의 핵심 기술은 대부분 CNN을 기반으로 하고 있습니다.
| 이미지를 모델에 입력하기 전에 리사이징(Resizing)과 정규화(Normalization)를 하는 이유 (0) | 2026.02.28 |
|---|---|
| 오토 인코더가 적용되기 적합한 상황과 Encoder·Decoder의 개념 및 차이점 (0) | 2026.02.15 |
| PyTorch의 텐서(Tensor)와 NumPy의 Array(배열) 차이 (0) | 2026.02.07 |
| 딥러닝 프레임워크 PyTorch와 TensorFlow의 차이 (0) | 2026.02.07 |
| 딥러닝의 성능향상을 위해 고려하는 하이퍼파라미터의 종류 (0) | 2026.01.31 |