▲ 그림 4-3 conv2d 층의 작동 방식의 예. 간소하게 나타내기 위해 입력 텐서(왼쪽 위)가 하나의 이미지로 이루어져 있고, 따라서 3D 텐서로 가정한다. 이 텐서는 높이, 너비, 깊이(컬러 채널) 차원을 가진다. 배치 차원은 생략했다. 그림이 복잡하지 않게 입력 이미지 텐서의 깊이는 2로 설정했다. 입력 이미지의 높이와 너비(4와 5)는 일반적인 실제 이미지보다 훨씬 작다. 깊이(2)도 전형적인 깊이인 3이나 4보다 작다(예를 들어 RGB나 RGBA). conv2d 층의 filters 속성(필터 개수)은 3, kernelSize는 [3, 3], strides는 [1, 1]로 가정한다.14 2D 합성곱의 첫 번째 단계는 높이와 너비 차원 방향으로 슬라이딩하면서 원본 이미지의 패치를 추출한다. 각 패치의 높이와 너비는 층의 filterSize에 해당하는 3이다 필터의 깊이는 원본 이미지와 같다. 두 번째 단계에서 3 × 3 × 2 패치와 합성곱 커널(즉, 필터) 간의 점곱(dot product)을 계산한다. 그림 4-4에 점곱 연산이 자세히 나타나 있다. 커널은 4D 텐서이고 세 개의 3D 필터로 구성된다. 이미지 패치와 필터 사이의 점곱은 세 개의 필터에 대해 각각 수행된다. 이미지 패치와 필터를 픽셀별로 곱하고 더하여 출력 텐서의 한 픽셀이 된다. 커널에 세 개의 필터가 있기 때문에 각 이미지 패치는 세 개의 픽셀 층으로 변환된다. 이런 점곱 연산이 모든 이미지 패치에 대해 수행되고, 그 결과로 만들어진 세 개의 픽셀 층이 합쳐져서 출력 텐서가 된다. 이 경우 출력 텐서의 크기는 [2, 3, 3]이다.