딥러닝 | CNN(합성곱신경망) 개요
딥러닝 | CNN(합성곱신경망) 개요
1. CNN 이란?
Convolutional Neural Network의 줄임말로, 격자 이미지와 같은 데이터를 설계하기 위해 고안된 인공 신경망
- 합성곱(convolution) 연산을 통해 이미지의 공간적 특징을 추출(feature map)한다.
- 특징
- vision 분야에서 성능 우수
- 이미지 데이터를 인식하고 패턴을 찾는데 유용
- 데이터를 학습하고 패턴을 사용하여 이미지를 분류함
1-1 CNN 모델 발전
- LeNet
- AlexNet
- VGGNet
- ResNet
- EfficientNet
2. CNN의 구조
Convolution과 Pooling을 반복하면서 특징을 찾고, 그 특징을 fully connected NN의 입력 데이터로 사용함으로써 Classification을 수행함
2-1 CNN Layer
CNN의 Layer는 크게 3가지로 나눌 수 있다.
- Convolutional Layer
- Pooling Layer
- Fully-connected Layer
2-1-1. Convolutional Layer
- 이미지 데이터는 3차원 tensor로 표현됨
2-1-2. Pooling Layer
feature map의 feature를 유지하면서, 이미지의 크기를 줄이는 다운사이징 기법
- 일반적으로, 이미지 데이터는 인접 픽셀들 간 유사도가 높다는 특징을 이용
- 기법 3가지
- Max Pooling : 가장 큰 신호에 값으로 반응 -> 노이즈 감소, 속도가 빠름, 영상의 분별력이 좋아짐
- Average Pooling
- Min Pooling
2-1-3. Activation Function
각 뉴런(노드)의 입력 값을 처리한 후에 출력값을 결정하는 함수
- 입력 값을 다음 층으로 출력을 전달할 지를 결정함
a=f(z)
\\ z = w \times X + b
- 활성화 함수 종류: ReLU, Sigmoid, Tanh, Leaky ReLU 등
활성화 함수 사용 이유?
- 비선형성: 신경망에 비선형성을 도입하여 단순한 선형 변환으로는 해결할 수 없는 문제 해결
- 출력 범위 조정
- 신경망의 학습 속도에 영향
This post is licensed under
CC BY 4.0
by the author.




