
🇶 CNN을 구성하는 각 레이어의 역할에 대해 설명해보세요.
CNN (Convolutional Neural Network, 합성곱 신경망)은 주로 이미지 인식과 처리에 특화된 딥러닝 구조입니다. 데이터의 공간적 구조(Spatial Structure)를 유지하면서 특징을 추출하는 것이 핵심이며, 크게 세 가지 주요 레이어로 구성됩니다.

이미지 출처: https://nl.mathworks.com/discovery/convolutional-neural-network.html
1. 합성곱 레이어 (Convolutional Layer)
CNN의 가장 핵심적인 부분으로, 이미지로부터 특징(Feature)을 추출하는 역할을 합니다.
- 동작 방식: 필터(Filter 또는 Kernel)가 이미지를 일정 간격(Stride)으로 훑으며 연산을 수행합니다.
- 역할: 이미지의 저수준 특징(선, 면, 색상)부터 고수준 특징(형태, 특정 객체의 부위)까지 단계별로 찾아냅니다.
- 특징:
가중치 공유를 통해 파라미터 수를 줄이면서도 이미지 내 객체의 위치가 바뀌어도 동일한 특징을 인식할 수 있게 합니다.
2. 풀링 레이어 (Pooling Layer)
추출된 특징 맵(Feature Map)의 크기를 줄여주는 차원 축소 레이어입니다.
- 동작 방식: 특정 영역에서 가장 큰 값을 뽑는 Max Pooling이나 평균값을 계산하는 Average Pooling을 주로 사용합니다.
- 역할:
- 데이터의 크기를 줄여 연산량을 감소시킵니다.
- 중요한 특징만 남기고 사소한 변화(노이즈)를 무시하여 모델의 과적합(Overfitting)을 방지합니다.
- 사물의 위치가 약간 변하더라도 동일하게 인식하는 불변성(Invariance)을 제공합니다.
3. 완전 연결 레이어 (Fully Connected Layer)
망의 마지막 부분에 위치하며, 앞서 추출된 특징들을 종합하여 최종적인 분류(Classification)를 수행합니다.
- 동작 방식: 2차원 형태의 특징 맵을 1차원 벡터로 펼친(Flatten) 후, 일반적인 신경망(ANN)처럼 모든 노드를 연결합니다.
- 역할: 합성곱과 풀링을 통해 얻은 고차원 특징들을 조합해 '이 이미지는 90% 확률로 강아지다'와 같은 최종 판단을 내립니다.
- 활성화 함수: 마지막 출력층에서는 보통 Softmax 함수를 사용하여 각 클래스별 확률 값을 출력합니다.
📊 요약 정리
| 레이어 | 주요 역할 | 핵심 키워드 |
|---|
| Convolution | 이미지 특징 추출 | 필터, 스트라이드, 패딩 |
| Pooling | 데이터 크기 축소 및 특징 강화 | 맥스 풀링, 계산 효율성 |
| Fully Connected | 최종 결과 도출 및 분류 | 소프트맥스, 확률 출력 |