CNN이란

- CNN(Convolutional Neural Network)
- 이미지나 영상 처리의 특화된 딥러닝 신경망 구조
- 인간의 시각 피질 기능 모방
- 이미지의 공간적/지역적 정보 보존하면서 특징 추출
CNN이 필요한 이유 (vs MLP)

MLP 구조
1. 공간 정보 보존
MLP는 모든 레이어가 DENSE LAYER와 모든 연결이 Fully Connected라 1차원 벡터로 펼친 상태로 연산 수행
CNN은 필터를 사용해 이미지의 공간적 구조 보존
2. 파라미터 효율성
MLP는 이미지 크기가 커질수록 파라미터 급격히 증가 (펼쳐서)
CNN은 동일한 필터를 이미지 전체에 적용 -> 적은 파라미터
3. 위치 불변성 확보
MLP는 객체위치가 조금만 바뀌어도 다른 입력으로 인식
CNN은 pooling layer를 통해 위치 불변성 제공
- 객체의 위치가 변해도 동일한 객체로 인식 시켜줌
4. 자동 특징 추출
MLP는 수동으로 특징 추출
CNN은 인간 개입 없이, 필터를 통한 추출 가능
5. 계층적 패턴 인식
CNN은 계층적 패턴 인식
- 초기레이어: 엣지나 텍스처 같은 단순 패턴 감지
- 깊은 레이어: 더 복잡한 구조(눈이나 바퀴) 인식
6. 성능 우수성
CNN이MLP보다 혼동행렬, 상관계수 등 다양한 지표에서 더 높은 정확도 보임
CNN 구조

1. Convolution Layer

- 필터(filter)가 이미지 위를 슬라이딩하며 지역적인 시각 특징 추출
- 필터는 패턴감지하며, 이를 통해 Feature map이 생성
- 필필터는 역전파 과정을 통해 자동으로 업데이트
2. Activation Function

- 신경망에 비선형성을 부여하여 복잡한 패턴도 학습 가능
- 가장 널리 쓰이는 함수
Relu(x) = max(0,x)
- 역전파 기능을 통해 가중치와 편향을 업데이트 할 수 있게 함
3. Pooling Layer

- Feature map의 크기를 줄여 연상량과 과적합 감소
- Max Pooling: 지정된 영역 내에서 가장 큰 값
- Average Pooling: 지정된 영역의 평균값 계산
4. Fully Connected Layer

- 마지막 단계에서 Flatten도니 Feature map을 입력 -> 전체 특성을 종합 -> 최종 분류 결과 도출
- 일반적으로 Softmax 함수로 확률 기반 출력 수행
하이퍼파라미터
1. Stride

- 필터가 이미지위를 이동할 때 건너뛰는 픽셀 수
- Stride 값이 클 수록 Feature map 크기 감소
- 다운샘플링 역할을 하여 연산량과 메모리 요구사항 줄여줌
2. Padding

- 입력 이미지 가장자리에 특정값을 추가
- 홀수 크기의 커널(필터)를사용할 때 패딩을 적용하면 입출력 같은 차원 유지
3. Filter Size

필요하면 Markdown 형식이나 다른 스타일로도 바꿔줄게!
4. Number of convolutional layers
- CNN 성능에가장 큰 영향을 미치는 하이퍼파라미터
- 모델의 표현력과 학습에 직접적인 영향
5. Learning rate

- 모델 수렴에 직접적 영향
- 학습률이 낮으면 학습 느리게 진행
- 학습률이 높으면 최적점 지나치거나 발산
- 0.001이 연구를 통한 최적의 성능
6. Dropout rate

- 과적합 방지에 중요한 역할
- 무작위로 뉴련 비활성
7. Optimizer

- 모델 학습 방식에 영향을 줌
- 경사 하강법을 어떻게 수행할지 결정하는 방법
8. Epochs

- 반복 횟수 결정
- 적으면 과소적합 / 많으면 과대적합
- 모니터링을 통해최적의 에폭수 찾자
활용사례
1.자율주행 자동차
도로 위 보행자, 차량, 신호등 등의 객체를 인식하여 주행 판단
2. 의료 영상 분석
CT나 MRI와 같은 영상 데이터를 분석하여 종양이나 병변을 자동으로 검출하고 진단 보조
3. 얼굴 인식 및 감정 분석
얼굴 특징점 추출을 통해 인물 식별이나 감정 상태 분류
4. 필기체 숫자 인식
MNIST 데이터셋처럼 손글씨 숫자를 자동으로 분류
5. 이미지 기반 추천 시스템
의류, 가구, 음식 사진 등을 기반으로 유사한 스타일을 추천
한줄 요약
CNN은 이미지, 영상, 시각적 패턴 등 공간 구조가 중요한 데이터를 효과적으로 분석할 수 있도록 설계된 딥러닝 모델, 컴퓨터 비전의 핵심 기술