딥러닝_합성곱 신경망 (Convolutional Neural Network, CNN)
2021. 8. 26. 01:40ㆍDeep Learning
https://untitledtblog.tistory.com/150
이미지데이터를 다룰 때 CNN이 사용된다. 행렬형태로 데이터를 입력받아 정보 손실이 적기 때문이다. 또한 필터들을 모수화 (parameterization)할 수 있을 정도의 model parameter만 필요하며, CNN의 마지막 fully-connected layer는 원본 이미지가 아닌 풀링 계층을 통해 축소된 이미지를 처리하기 때문에 fully-connected layer의 가중치 또한 크게 줄어든다.
convolution layer + pooling layer로 특징을 추출하고Fully-connected layer로 클래스를 분류해 입출력 데이터의 형상을 유지한다.
1. convolution layer (합성곱 계층)
- n개의 채널은 n개의 필터를 갖게된다.
- CNN에서 학습의 대상은 filter parameter 이다.
- stride는 필터의 이동량을 의미한다.
- 그림에서 볼 수 있듯이 합성곱을 거치면 이미지의 크기가 축소된다. 이 문제를 해결하기 위해 입력이미지의 외각에 지정된 픽셀만큼 특정값(0)으로 추가하는 padding을 이용한다.
2. pooling layer
합성곱 데이터의 출력데이터를 입력데이터로 받는다.
- 학습대상 파라미터가 없다.
- 행렬의 크기가 감소하는 역할을 해 overfitting를 방지할 수 있다.
- 채널 수는 변화하지 않는다.
'Deep Learning' 카테고리의 다른 글
딥러닝_Softmax Classification (0) | 2021.08.21 |
---|---|
딥러닝_Binary Classification (0) | 2021.08.20 |
딥러닝_Linear Regression Implementation (0) | 2021.08.19 |