synapse

[기초 세션 복습] 이미지 처리의 혁명, CNN

minjin 2026. 3. 30. 02:17

2026년 3월 23일 synapse 기초 세션 복습 과제입니다

 

 

CNN 모델 발전 흐름

MLP의 한계  → CNN의 등장 → CNN의 한계 → ResNet의 등장 → EfficientNet의 등장


MLP의 한계

파라미터 폭발 + 공간 정보 손실로 인해 

지역성, 패턴 반복성, 위치 정보 반영 불가 문제 발생 

→ 이미지 처리에 부적합


CNN의 등장

이미지 픽셀의 자은 영역만 보면서 학습 

(ex. 필터를 사용하여 지역 패턴 추출, 같은 필터를 전체 이미지에 공유)

→ 파라미터 감소, 공간 구조 유지


CNN의 한계 

층이 깊어질수록 오히려 성능 저하

기울기가 너무 작거나 커져 학습 불안정

연산량 증가로 인해 채널 증가 시 계산 비용 증가


ResNet의 등장

일반적인 신경망은 입력 x를 여러 층을 거쳐 H(x)를 학습

 

ResNet은 skip  connection을 통해 깊은 네트워크 학습 성공

H(x) = F(x) + x


EfficientNet의 등장

기존에는 모델을 크게 만들 때 비효율적으로 확장하는 문제 존재

→ 깊이, 너비, 해상도 이 세 가지를 균형 있게 동시에 증가 시킴

 

결과적으로

적은 파라미터로 높은 성농을 내고

효율적인 모델 확장이 가능


CNN 구조 

입력 이미지 → convolution(특징 추출) → activation → pooling(크기 축소) → (반복) → fully connected → softmax

(출처: Convolutional Neural Networks | Understand the Basics of CNN)


convolution: 필터를 사용하여 이미지의 지역 패턴 추출

*지역 패턴: 이미지의 작은 영역에서 나타나는 특징

 

feature map: convolution 결과로 생성된 특징 표현 이미지

 

pooling: feature map 크기를 줄이며 중요 정보만 유지

→ max pooling / average pooling


Convolution 하이퍼파라미터

1 Kernel Size

2 Srtide

3 Padding

4 Filter


1 Kernel Size

한 번에 보는영역 크기 

큰 경우 → 넓은 정보, 연산량 증가

작은 경우   세밀하나 특징, 깊이로 보완

 

장점: (클 때) 넓은 문맥 정보 반영 / (작을 때) 세밀한 특징 추출 가능
단점: (클 때) 파라미터 증가 및 과적합 위험 / (작을 때) 전체 구조 파악 어려움


2 Stride

필터가 입력 이미지 위를 한 번 이동하는 간격

큰 경우   출력이 작아짐, 계산량 감소 but 세밀한 공간 정보가 손실될 가능성 존재

작은 경우   정보 유

 

보통 stride =1 → stride =2 로 설정 변경

 

장점: (클 때) 연산량 감소, 속도 향상 / (작을 때) 정보 손실 최소화
단점: (클 때) 중요한 특징 손실 가능 / (작을 때) 계산량 증가


3 Padding

이미지의 가장자리를 어떻게 처리할지 결정하는 것

 

패딩이 없는 경우 → 출력 크기가 줄어들어 경계 정보가 약해질 수 있음

패딩 크기를 유지하는 경우 → 출력 크기를 유지하면서도 경계도 학습에 포함시키기 쉬움

 

→ zero padding

이미지 가장자리에 픽셀값이 0인 추가 픽셀을 덧붙이는 것

 

장점: 출력 크기 유지 가능, 경계 정보 보존
단점: 불필요한 0 정보 추가, 연산량 증가


4 Filter 개수

몇 개의 특징을 추출할 것인가

 

필터 수 = 채널 수

 

값이 클 경우 → 다양한 특징 학습, 표현력 증가 but 연산량 증가
값이 작을 경우 → 계산 효율적 but 표현력 제한

 

장점: 다양한 패턴 학습 가능 (필터 많을수록)
단점: 파라미터 수 증가, 과적합 및 연산 비용 증가


추가 내용

ResNet의 Skip Connection

*skip connection: 입력값을 중간 레이어를 거치지 않고 그대로 출력에 더해주는 구조 

 

→ 전체 학습 X, 입력과 출력의 차이만 학습

 

중요한 이유

기울기 전달이 쉬워지고, 깊은 네트워크 학습 가능으로  성능 저하 문제를 해결, 정보 손실 감소로 원래 입력 정보 유지 가능

 

 

EfficientNet의 Compound Scaling

기존 CNN은 모델을 키울 때

깊이 늘리거나, 너비 늘리거나, 해상도 늘림 

 

but

EfficientNet은 위 세 가지 요소를 균형 있게 확장

성능 대비 파라미터 효율, 연산 대비 정확도 ↑, 과도한 모델 확장 방지