반응형
1. CNN의 정의
CNN(Convolutional Neural Network)은
이미지와 같은 **격자(grid) 형태의 데이터에서 공간적 특징(spatial feature)**을 효과적으로 추출하기 위해 설계된 딥러닝 모델이다.
기존의 완전연결신경망(Fully Connected Network)과 달리,
CNN은 **국소 영역(Local region)**을 기반으로 연산을 수행한다.
2. CNN의 핵심 아이디어
CNN의 본질은 다음 세 가지 원리에 기반한다.
- Local Receptive Field (국소 수용 영역)
- Parameter Sharing (가중치 공유)
- Hierarchical Feature Extraction (계층적 특징 추출)
3. CNN의 구조
CNN은 일반적으로 다음과 같은 계층 구조로 구성된다.
- Convolution Layer
- Activation Function
- Pooling Layer
- Fully Connected Layer
4. Convolution 연산의 원리
4.1 기본 개념
Convolution은 입력 이미지 위에 작은 필터(kernel)를 이동시키면서
각 위치에서 **내적(dot product)**을 수행하는 연산이다.
4.2 수식 표현
(I∗K)(x,y)=∑m∑nI(x+m,y+n)⋅K(m,n)(I * K)(x, y) = \sum_m \sum_n I(x+m, y+n) \cdot K(m,n)
의미:
- I: 입력 이미지
- K: 필터(커널)
- (x, y): 출력 feature map의 위치
4.3 동작 과정
- 작은 필터를 이미지의 일부 영역에 적용
- 해당 영역과 필터 간 element-wise 곱 수행
- 결과를 모두 더하여 하나의 값 생성
- 필터를 이동(stride)하며 반복 수행
결과적으로 Feature Map이 생성된다.
5. 핵심 구성 요소
5.1 Convolution Layer
역할:
- 입력 데이터에서 특징(feature) 추출
특징:
- 여러 개의 필터 사용 → 다양한 특징 탐지
- Edge, texture, shape 등을 학습
5.2 Activation Function
대표적으로 ReLU 사용
수식:
f(x) = max(0, x)
역할:
- 비선형성 추가
- 모델 표현력 증가
5.3 Pooling Layer
역할:
- Feature map의 크기 축소 (downsampling)
종류:
- Max Pooling
- Average Pooling
효과:
- 연산량 감소
- 과적합 방지
- 위치 변화에 대한 강건성 확보
5.4 Fully Connected Layer
역할:
- 추출된 특징을 기반으로 최종 분류 수행
구조:
- 일반적인 신경망(Dense Layer)
6. CNN의 핵심 원리
6.1 Local Receptive Field
각 뉴런은 전체 이미지가 아니라
일부 영역만을 관찰한다.
의의:
- 이미지의 지역적 패턴 학습 가능
6.2 Parameter Sharing
하나의 필터를 전체 이미지에 동일하게 적용
의의:
- 파라미터 수 감소
- 학습 효율 증가
6.3 Hierarchical Feature Learning
CNN은 계층적으로 특징을 학습한다.
- 초기 레이어 → edge, line
- 중간 레이어 → shape, texture
- 깊은 레이어 → object, semantic 의미
7. CNN이 이미지 처리에 적합한 이유
- 공간 구조 유지
- 파라미터 수 감소 (Fully Connected 대비)
- 위치 변화에 대한 강건성
- 자동 특징 추출 (Feature Engineering 불필요)
8. 전체 흐름 요약
입력 이미지
→ Convolution (특징 추출)
→ Activation (비선형성)
→ Pooling (크기 축소)
→ 반복
→ Fully Connected (분류)
9. 핵심 정리
- CNN은 이미지의 공간적 패턴을 학습하는 신경망
- Convolution 연산을 통해 특징을 자동 추출
- 깊어질수록 더 추상적인 특징을 학습
- 현대 컴퓨터 비전의 핵심 모델 구조
반응형
'AL,ML 학부연구생 > 공부 기록' 카테고리의 다른 글
| RNN(Recurrent Neural Network)는 무엇이고, FNN과 어떻게 다른가? (0) | 2026.03.23 |
|---|---|
| FeedForward Neural Network (FNN)이란 무엇인가? (0) | 2026.03.23 |
| Query, Key, Value (Q, K, V)란 무엇인가? (0) | 2026.03.23 |
| AI에서 Transformer 란 무엇인가? (0) | 2026.03.23 |
| 인공 신경망 종류와 각 의미 (0) | 2026.03.23 |