CNN의 핵심적인 요소 중 하나로 입력 데이터의 특징을 추출하여 특징의 패턴을 파악하는 층
합성곱층의 뉴런은 수용 영역(receptive field)의 픽셀에 연결하여 이미지의 공간 정보를 보유함
→ 이미지의 공간 정보를 유지하며 특징을 인식함
입력 데이터를 필터가 순회하며 불필요한 정보를 걸러내고 중요한 특징만 추출해 만든 출력(행렬)
CNN의 특징 추출 영역에 해당
특징 추출 영역 : Convolution Layer와 Pooling Layer를 여러 겹 쌓은 영역
Convolution Layer : 입력 데이터에 필터 적용, 활성화 함수 반영
Pooling Layer : 추출한 특징을 강화
합성곱의 가중치
→ 특징(feature)이 데이터에 있는지 검출해 가중치를 부여
만약 데이터가 있다면 1, 없다면 0
이미지 특징을 찾아내기 위한 공용 파라미터로 학습의 대상이 됨
커널과 혼용됨
→ 커널(kernel)과 필터(filter)
필터로 분류된 데이터를 대상으로 특징 유무 수치화를 위해 데이터를 비선형 값으로 바꿔주는 함수
linear, relu, sigmoid, softmax 등을 사용할 수 있음
→ 이 때 이동하는 간격(보폭) = Stride
→ 학습할 가중치가 줄어들고 연산의 수도 감소함
filter와 stride 작용으로 특징맵의 크기는 입력 데이터보다 작아짐(손실)
→ 해결방안 : Padding
합성곱층의 input data를 filter가 순회하며 만든 출력(행렬)
불필요한 정보를 걸러내고 중요한 특징만 추출한 것
filter의 크기에 따라 이동하는 횟수가 달라지고, filter의 이동 보폭(stride)에 따라서도 feature의 크기가 변화됨
Feature Map Size = (input size + 2 * padding - filter size) / stride + 1
필터를 통해 추출된 feature map 에 activation function을 적용한 최종 출력층
활성화 함수 : feature map의 행렬 값(정량적인 값)을 특징 유/무의 비선형 값으로 바꿔주는 과정