Fully-Connected Layer의 문제점
1. 변형(이동)되면 인식 못하는 경우
2. 이미지의 모든 pixel간의 feature 추출
Filter(Kernel): 이미지의 특징을 찾아내기 위한 파라미터
-> Filter 이용해서 convolution 연산
-> Filter를 어떻게 주느냐에 따라 얻어내는 결과물이 다르다.
-> Filter 모양의 feature 추출
-> n개의 Filter가 적용된다면 output data는 n개의 채널을 가짐
Stride: sliding 간격
Activation Map(=Feature Map)
-> Convolution layer의 최종 출력 결과
-> filter가 찾은 특성이 얼마나 있는지 지도처럼 압축해서 표현
-> filter 개수 = output activation map의 depth
Convolutional Layer의 Filter 개수, Filter의 Stride, Padding 적용 여부, Pooling 종류에 따라서 출력 데이터의 shape이 변경된다.
Padding
Convolution layer에서 Filter와 Stride의 작용으로 output size가 input size보다 줄어든다.
-> Padding: output size가 줄어드는 것을 막기 위해 input data의 외곽을 특정 값으로 덧대준다.
Pooling
-Max Pooling: 설정한 pool_size 안에서 가장 큰 값으로 downsampling
-Average Pooling: 설정한 pool_size 내부 값의 평균값으로 downsampling