더북(TheBook)

국소성과 파라미터 공유 덕분에 필요한 파라미터 개수 측면에서 conv2d 층은 매우 효율적인 이미지-대-이미지 변환입니다. 특히 합성곱 커널의 크기는 입력 이미지의 높이와 너비에 따라 바뀌지 않습니다. 코드 4-1의 첫 번째 conv2d 층으로 돌아가 보면, 커널 크기는 [kernelSize, kernelSize, 1, filter](즉, [5, 5, 1, 8])이므로 총 5 × 5 × 1 × 8 = 200개의 파라미터가 있습니다. 이 크기는 입력되는 MNIST 이미지가 28 × 28이든 혹은 더 크든 상관없습니다. 첫 번째 conv2d 층의 출력 크기는 (배치 차원을 제외하고) [24, 24, 8]입니다. 따라서 conv2d 층은 28 × 28 × 1 = 784개의 원소로 구성된 텐서를 24 × 24 × 8 = 4,608개의 원소로 구성된 다른 텐서로 변환합니다. 밀집 층으로 이런 변환을 구현하려면 얼마나 많은 파라미터가 필요할까요? (편향을 제외하고도) 784 × 4,608 = 3,612,672개가 필요합니다. conv2d 층보다 18,000배나 많습니다! 이 사고 실험을 통해 합성곱 층의 효율성을 알 수 있습니다.

conv2d의 국소성과 파라미터 공유의 아름다움은 효율성 측면뿐만 아니라 생물학적 시각 시스템의 동작 방식을 (대략적으로) 흉내 냈다는 사실에 있습니다. 망막에 있는 뉴런을 생각해 보죠. 각 뉴런은 수용장(receptive field)이라 부르는 작은 시야의 작은 패치에서만 영향을 받습니다. 망막의 다른 위치에 있는 두 뉴런은 각각의 수용장에 있는 빛 패턴에 반응합니다. 이는 conv2d 층에서 파라미터를 공유하는 것과 매우 유사합니다. 더군다나 conv2d 층은 컴퓨터 비전 문제에 잘 동작하는 것으로 입증되었습니다. 이제 곧 MNIST 예제에서 알게 될 것입니다. conv2d는 효율성, 정확도, 생물학적 관련성 등 모든 것을 갖춘 훌륭한 신경망 층입니다. 그러므로 딥러닝에서 널리 사용되는 것이 놀라운 일은 아닙니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.