휴! 이것이 conv2d 층의 상세 작동 방식입니다. 한걸음 뒤로 물러나서 conv2d가 실제로 어떤 일을 수행하는지 살펴보죠. 간단히 말해서 conv2d는 입력 이미지를 출력 이미지로 변환하는 특별한 방법입니다. 출력 이미지는 입력에 비해 일반적으로 높이와 너비가 작을 것입니다.15 줄어드는 크기는 kernelSize 설정에 따라 다릅니다. 출력 이미지의 채널은 입력보다 적거나 많거나 같을 수 있습니다. 이는 filters 설정에 따라 결정됩니다.
따라서 conv2d는 이미지-대-이미지 변환입니다. conv2d 변환의 두 가지 주요 특징은 국소성과 파라미터 공유입니다.
• 국소성(locality)은 출력 이미지에 있는 픽셀 값이 입력 이미지의 전체 픽셀이 아니라 작은 패치에서만 영향을 받는다는 성질입니다. 패치의 크기는 kernelSize입니다. 이것이 conv2d가 밀집 층과 다른 점입니다. 밀집 층에서는 모든 출력 원소가 모든 입력 원소로부터 영향을 받습니다. 다른 말로 하면, 밀집 층에서는 입력 원소와 출력 원소가 ‘조밀하게 연결’되어 있습니다(그래서 이름이 밀집 층입니다). 따라서 conv2d 층을 ‘희소한 연결’이라고 말할 수 있습니다. 밀집 층이 입력의 전역 패턴을 학습하는 반면 합성곱 층은 작은 커널 윈도 안에 있는 패턴인 지역 패턴을 학습합니다.
• 파라미터 공유(parameter sharing)는 출력 픽셀 A가 작은 입력 패치로부터 영향을 받는 방식과 정확히 동일하게 출력 픽셀 B도 입력 패치로부터 영향을 받는다는 성질입니다. 이는 모든 슬라이딩 위치에서 수행되는 점곱이 동일한 합성곱 커널을 사용하기 때문입니다(그림 4-3 참조).