AI/개념

CNN 프리뷰 (초간단 CNN 개념 정리)

ksc036 2026. 4. 23. 22:28

 CNN (합성곱 신경망) 핵심 개념 정리

이미지는 보통 높이(Height), 너비(Width), 채널(Channel)로 구성된 데이터이다.
예를 들어 흑백 이미지는 채널이 1, RGB 이미지는 채널이 3이다.


 1. 필터(Convolution)

필터는 이미지에서 특정한 특징(feature)을 추출하기 위한 도구이다.

필터는 일반적으로 (k × k × 채널) 형태의 가중치 집합으로 구성되며,
이미지 위를 슬라이딩하면서 다음과 같은 연산을 수행한다:

  • 필터와 이미지의 해당 영역을 요소별로 곱한 뒤
  • 모든 값을 더해서 하나의 값을 생성

이 과정을 통해 특정 패턴(모서리, 선, 질감 등)을 추출할 수 있다.

또한 필터의 개수는 곧 출력 채널 수(feature map 수)가 된다.


  2. Stride와 출력 크기

Stride는 필터가 한 번에 이동하는 칸 수를 의미한다.

출력 크기는 다음과 같이 계산된다:

출력 크기=(N−F)/S + 1

  • N: 입력 크기
  • F: 필터 크기
  • S: stride

Stride가 커질수록 출력 크기는 더 작아진다.


 3. Padding

필터를 적용하면 이미지의 가장자리가 줄어드는 문제가 발생한다.
이를 해결하기 위해 입력 가장자리에 0을 추가하는 제로 패딩(Zero Padding)을 사용한다.

  • padding='valid' → 패딩 없음 → 크기 감소
  • padding='same' → 크기 유지

 4. 풀링(Pooling)

풀링은 feature map의 크기를 줄이면서 중요한 정보만 남기는 과정이다.

대표적으로 Max Pooling이 많이 사용되며,
일정 영역에서 가장 큰 값만 선택한다.

예:

[1 3
2 0] → 3
 

특징:

  • 연산량 감소
  • 과적합 방지
  • 위치 변화에 강건함(이동 불변성)

보통 pool_size와 stride를 동일하게 설정한다.


 5. CNN의 전체 구조

CNN은 크게 두 단계로 나뉜다:

1) Feature Extraction

  • Convolution
  • Activation (ReLU)
  • Pooling

 이미지에서 특징을 추출


2) Classification

  • Flatten 또는 Global Average Pooling
  • Dense Layer

 추출된 특징을 기반으로 분류 수행


한 줄 정리

 CNN은
“이미지에서 특징을 자동으로 추출하고, 이를 이용해 분류하는 모델”