📘 1. CNN이란 무엇인가?
CNN(Convolutional Neural Network, 합성곱 신경망)은 이미지 인식, 객체 탐지, 자율주행 등 시각 정보 처리에 특화된 인공신경망이다.
사람의 시각 피질(Visual Cortex)에서 영감을 받아 만들어졌으며, 이미지의 공간적 특징(Shape, Texture, Pattern) 을 자동으로 학습한다.
기존의 완전연결 신경망(Fully Connected Network, FCN)은 모든 픽셀을 동일하게 연결하지만,
CNN은 국소 영역(Local Receptive Field) 만을 관찰하고 필터(Filter) 를 이동시키며 전체 이미지를 효율적으로 분석한다.

🧩 2. CNN의 기본 구조
CNN은 일반적으로 다음과 같은 5단계 구조로 이루어진다.
1️⃣ 입력층 (Input Layer)
- 이미지 데이터를 입력받는 층
- 예: 28×28 흑백 이미지 → 입력 형태 (28, 28, 1)
- 예: 224×224 RGB 이미지 → 입력 형태 (224, 224, 3)
2️⃣ 합성곱층 (Convolution Layer)
- 필터(커널)를 통해 이미지의 특징(feature)을 추출
- 각 필터는 엣지, 색상, 패턴 등 특정 속성을 감지
- 연산 결과를 Feature Map이라 부른다.
3️⃣ 활성화 함수 (Activation Function)
- 비선형성을 부여하여 모델이 복잡한 패턴을 학습할 수 있게 한다.
- 주로 ReLU(Rectified Linear Unit) 함수 사용
→ 음수는 0, 양수는 그대로 유지 (학습 속도 향상 및 기울기 소실 완화)
4️⃣ 풀링층 (Pooling Layer)
- Feature Map의 크기를 줄여 연산량을 감소시키고, 중요한 정보만 남긴다.
- 주로 Max Pooling(최댓값만 추출) 방식 사용
- 모델의 공간적 불변성(translation invariance) 을 강화한다.
5️⃣ 완전연결층 (Fully Connected Layer, FC Layer)
- 추출된 특징을 기반으로 최종 분류(Classification) 수행
- 마지막에는 Softmax 함수를 통해 각 클래스별 확률을 계산한다.
🎯 3. CNN의 작동 예시
예를 들어, 고양이 이미지를 인식하는 CNN 모델은
- 첫 번째 합성곱층: 윤곽선과 가장자리 탐지
- 두 번째 합성곱층: 눈, 코, 귀 등 구체적 형태 인식
- 세 번째 합성곱층 이후: 고양이 전체 패턴 인식
- 최종 FC층: “고양이” 클래스 확률이 가장 높으면 분류
즉, CNN은 사람이 따로 특징을 지정하지 않아도,
‘단순한 픽셀 → 복잡한 패턴 → 의미 있는 객체’로 점점 추상화하는 과정이다.
🚀 4. CNN의 장점
✅ 이미지의 공간적 구조를 효율적으로 학습
✅ 파라미터 수가 적어 연산 효율적
✅ Feature Extraction(특징 추출)을 자동화
✅ 데이터 증강(Data Augmentation)과 결합 시 높은 일반화 성능
🔍 5. CNN의 한계
⚠️ 지역 정보에는 강하지만, 전체 문맥(Context) 파악은 어려움
⚠️ 고정된 필터 크기 한계로 인해 복잡한 패턴 인식에 제약
⚠️ 학습 데이터가 부족하면 과적합(Overfitting) 발생 가능
이를 극복하기 위해 ResNet, Inception, MobileNet, Vision Transformer(ViT) 등 다양한 구조가 발전했다.
🧠 6. 마무리 정리
CNN은 이미지 분석의 핵심 모델이며, 자율주행의 객체 인식·차선 감지, 의료 영상 진단, 위성 이미지 분석 등 수많은 분야에서 활용되고 있다.
오늘은 CNN의 기본 구조를 이해했다면,
다음 단계에서는 CNN 내부의 핵심 연산인 합성곱(Convolution) 과 풀링(Pooling) 을 직접 실습해볼 예정이다.
📅 다음 글 예고:
👉 [Day 62: 합성곱, 풀링 연산 실습]
“CNN의 뇌, 합성곱과 풀링을 직접 계산해보며 원리를 이해하자!”
'자율주행' 카테고리의 다른 글
| Day 63: 차량/보행자 이미지 분류 CNN 구현 (0) | 2025.10.29 |
|---|---|
| Day 62: 합성곱, 풀링 연산 실습 (0) | 2025.10.28 |
| Day 60: 논문 리뷰 + 학습 정리 (0) | 2025.10.26 |
| Day 59: Localization & Mapping 종합 프로젝트 (0) | 2025.10.25 |
| Day 58: SLAM 정확도 비교 실험 (0) | 2025.10.24 |