
딥러닝에서 처음 배우는 구조는 Fully Connected Layer (FC Layer)
모든 입력 뉴런이 모든 출력 뉴런과 연결돼 있어서, 말 그대로 완전 연결.
→ 그래서 이미지엔 CNN이 훨씬 좋음

CNN은 이미지처럼 공간 구조가 있는 데이터를 처리하는 데 특화된 모델.
입력 전체를 한 번에 보는 게 아니라 작은 패치(부분 영역)만 보면서 처리함.
특징 추출(feature/learning) 영역은 convolution layer와 pooling layer를 여러 겹 쌓는 형태로 구성됨. convolution layer는 입력 데이터에 필터를 적용 후 활성화 함수를 반영하는 필수적인 요소임.
마지막 부분에는 이미지 분류를 위한 Fully connected layer가 추가됨.
각 layer가 어떤 동작을 하는지 보자.
예: 눈을 찾으려면 전체 이미지 다 볼 필요 없고, 눈 주변만 보면 됨
근데 의료 영상처럼, 장기가 항상 같은 위치에 있는 경우엔 이 가정이 안 맞을 수도 있음
→ 이렇게 나온 값들이 Feature Map!
Convolutional Layer에서는 여러 개의 필터(filter)를 사용할 수 있고,
각 필터는 입력 이미지에 동일한 연산을 수행하지만 학습된 가중치(weight)가 다름.
이렇게 필터를 적용한 결과를 Activation Map (또는 Feature Map)이라고 부름.
Q. 입력 이미지가 일 때,
필터 4개를 적용하면
출력 activation map의 크기는?
입력: , 필터: , 스트라이드: , 패딩:
, ,
따라서 각 activation map 크기:
필터가 4개 → 출력의 depth는 4
파라미터 수 공식:
필터가 입력 이미지 위를 얼마나 멀리 이동하느냐를 의미!

| Stride 값 | 필터 움직임 설명 |
|---|---|
| 1 | 모든 위치에 적용 (촘촘하게) |
| 2 이상 | 일부 위치만 적용 (성긴 적용) |
입력의 가장자리 정보 손실을 막기 위해 입력 주변에 0을 추가하는 것!

| 종류 | 설명 |
|---|---|
| Valid | 패딩 없음 → 출력 크기 작아짐 |
| Same | 패딩 추가 → 출력 크기 유지됨 |
CNN에서는 Convolution Layer를 여러 층 쌓아서 점점 더 복잡한 특징을 추출하는 구조로 발전시킵니다. 이를 Nested Conv Layers, 즉 중첩된 합성곱 층이라 부르기도 함.
하나의 필터만으로는 이미지의 로우레벨 정보(선, 모서리)만 추출할 수 있음!
하지만 이를 반복적으로 쌓으면 점점 더 복잡하고 추상적인 정보를 학습하게 됨.
CNN이 층을 거치며 학습하는 특징들:
| Layer Depth | 추출하는 특징 |
|---|---|
| 1~2층 | Edge, Texture 같은 Low-level feature |
| 3~4층 | Shape, Object part 같은 Mid-level feature |
| 5층 이상 | Face, Object 같은 High-level feature |
이미지를 Conv Layer 여러 층을 통해 아래처럼 처리함:
| 항목 | Fully Connected Layer | Convolution Layer |
|---|---|---|
| 연결 | 전부 다 연결 | 일부만 연결 (국소 영역) |
| 파라미터 | 많음 | 적음 |
| 위치 정보 | 못 씀 | 사용 가능 |
| 용도 | 일반적인 분류기 | 이미지 특화 |
CNN은 FC Layer의 특수한 형태라고도 볼 수 있음 (Conv 크기를 조절하면 FC처럼 만들 수 있음)
CNN에서 Pooling Layer는 Feature Map의 크기를 줄이고, 불필요한 정보를 제거하는 역할을 함.

| 종류 | 설명 |
|---|---|
| Max Pooling | 영역 내에서 가장 큰 값을 선택 |
| Avg Pooling | 영역 내의 평균 값을 선택 |
일반적으로 Max Pooling이 더 자주 사용.
CNN은 Convolution Layer와 Pooling Layer를 반복적으로 사용하면서
입력 이미지에서 의미 있는 특징(feature)을 추출하고,
이후 Fully Connected Layer로 전달하여
최종적으로 분류(Classification)를 수행하는 구조.
즉, CNN은 이미지에서 학습 가능한 특징을 자동으로 추출하고
그것을 바탕으로 의사결정을 내릴 수 있도록 학습되는 구조이다.