Convolutional Neural Network
기존 신경망과 CNN의 Parameter 수 비교
- 기존은 입력 이미지가 Parameter 크기에 직접 영향을 미쳤으나, CNN은 훨씬 작은 Kernel 크기가 영향을 준다.
단, 은닉층의 갯수에 의한 비례 증가는 동일.
Feature Map 크기
Channel 수
- k 개 Channel의 Input에는 k Channel의 1개 Kernel이 필요하고, Output인 Feature mape은 1개의 Channel을 가진다.
따라서 Feature Map의 Channel 수는 Kernel 갯수로 결정된다.
Pooling
-
특성 맵을 다운샘플링하여 특성 맵의 크기를 줄이는 연산
- Pooling 연산에도 Kernel과 Stride가 필요하나, 학습해야하는 가중치가 없고, Channel 수가 유지됨.
- Pooling에는 위 그림처럼 최대값을 추출하는 max pooling과 평균값을 추출하는 average pooling이 있음.
Subsampling (downsampling)
-
Convolutional 층과 subsample 층 교대로 반복됨.
-
Input Image에 Convolution 과정을 수행하는 것은 단지 수치적 연산이다.
이 numerical result에 Pooling을 하는 것은 특성 추출 과정인데, linear Model과 Activation Function을 통해 확률값(probabilities)으로 변환한 것이 바로 subsample이다.
따라서 Convolution 층은 numerical matrices인 반면, Subsample은 항상 featured pictures이다.