합성곱 연산
- Dense layer(fully connected layer)
- 입력 특성 공간의 전역 패턴을 학습
합성곱 층
- 지역 패턴 학습
- 평행 이동 불변성(translation invariant)
- 패턴의 공간적 계층 구조 학습
- 지역적이고 평행이동으로 변하지 않는 특성을 학습하므로 지각에 관한 문제에서 매우 효율적이므로 매우 작은 이미지 데이터셋에서 특성공학 없이 컨브넷 훈련해도 좋은 결과를 만들수 있다.
합성곱 작동 방식
- 3D input feature map을 3*3 윈도우가 sliding하며 3D feature patch 추출
- 3D feature patch와 합성곱 커널의 점곱으로 1D patch로 변환
- 변환된 1D patch를 3D feature map으로 재구성
이때 출력 높이와 너비는 입력 높이와 너비와 다를 수 있다. 패딩과 스트라이드 때문이다.
padding
- 입력과 동일한 높이와 너비를 가진 output feature map을 얻고 싶을 때
- 입력 특성 맵의 가장자리에 적절한 개수의 행과 열을 추가해서 0으로 채운다
- conv2d 층에서 padding 매개변수로 설정 가능하며 옵션은 2가지: valid(패딩 추가 안함), same(패딩추가)
stride
- 합성곱 진행시 두 번의 연속적인 윈도우 사이의 거리
- 스트라이드 2를 사용했다는 것은 특성 맵의 너비와 높이가 2의 배수로 다운샘플링 되었다는 뜻이다
- stride 합성곱은 분류 모델에서는 잘 사용되지 않으며 분류 모델은 max pooling 연산을 사용하는 경우가 많다.
max pooling
- stride 합성곱과 비슷하게 강제적으로 특성 맵을 다운샘플링함
- input feature map에서 윈도우에 맞는 패치를 추출하고 추출한 패치에 하드코딩된 최댓값 추출 연산을 사용