0

나는 길쌈 신경 네트워크를 배우며 수학 계산이 어떻게 이루어지는 지 알아 내려고합니다. 3 개의 채널 (RGB)을 갖는 입력 이미지가 있다고 가정하면, 이미지의 모양은 28 * 28 * 3이됩니다. 6 개의 필터가 크기 5 * 5 * 3과 스트라이드 1을 적용하여 다음 레이어에 적용 할 수 있습니다. 따라서 다음 단계에서 24 * 24 * 6을 얻게됩니다. 입력 이미지는 RGB 이미지이므로 각 필터의 ​​24 * 24 이미지가 RGB 이미지로 해석되는 방식, 즉 각 필터가 크기가 24 * 24 * 3 인 이미지를 내부적으로 구성합니까?길쌈 신경망의 깊이 해석

답변

2

첫 번째 길쌈 레이어를 적용한 후에는 더 이상 RGB라고 생각할 수 없습니다. 즉, [5, 5, 3] convolution은 5*5*3 = 75 float (25 픽셀, 각각 3 개 채널)의 모든 정보를 취해 네트워크가 해당 필터에 대해 교육 한 매개 변수를 기반으로 함께 혼합합니다.

많은 이미지 인식 작업에서 첫 번째 레이어는 가장자리 감지기 및 선명하게하는 마스크 등을 종종 습득합니다. 예를 들어 this visualization of the layers of VGG16을 참조하십시오.

그러나 출력 자체는 단지 정보입니다. 그 시점에서. 깊이 채널의 의미는 네트워크가 학습 한 방식에 달려 있습니다. 심도 채널을 차별화하는 중요한 의미가있을 것입니다 (그리고 그 의미가 다른 값이 무엇인지). 그러나 시각화하지 않고 직관적 인 것은 아닙니다. 나는 심도 채널을 독립적으로 시각화 한 프로젝트를 알지 못한다.

+0

좋습니다. 상당히 명확합니다. 따라서 첫 번째 컨볼 루션 계층에서는 각 필터가 모든 3 개 채널 (R, G 및 B)에 적용된 다음이 출력이 요소별로 추가됩니다. 그 맞습니까 ? –

+0

그것은 적용에 의한 의미에 달려 있습니다. :) 각 출력 요소는 해당 필터 매개 변수를 곱한 "패치"(필터와 동일한 크기)의 모든 입력 요소의 합계입니다. 깊이 'k'의 필터는 3D 입력 패치가 곱해진 k 개의 완전히 다른 필터 매개 변수 세트 (4D)를 갖습니다. 각각의 'k'필터는 하나의 출력을 생성합니다. 이 블로그 게시물은 유용한 정보를 제공합니다. http://colah.github.io/posts/2014-07-Understanding-Convolutions/ TF 문서의 정의 : https : //www.tensorflow .org/versions/r0.9/api_docs/python/nn.html # conv2d – dga

+0

(strides 해석에 대한 답변도 도움이 될 수 있습니다. http://stackoverflow.com/questions/34642595/tensorflow-strides-argument) – dga