卷积神经网络 - 理论

Convolutional Neural Networks - Theory

很抱歉问了这个愚蠢的问题,但想了想还是没明白:

根据 Jordi Torres(参见 here)的说法,如果我们查看 28x28 = 784 像素的图像,那么实现这一点的一种方法是让隐藏层的一个神经元学习大约 5x5 = 25输入层的像素:

然而,正如他解释的那样:

Analyzing a little bit the concrete case we have proposed, we note that, if we have an input of 28×28 pixels and a window of 5×5, this defines a space of 24×24 neurons in the first hidden layer because we can only move the window 23 neurons to the right and 23 neurons to the bottom before hitting the right (or bottom) border of the input image. We would like to point out to the reader that the assumption we have made is that the window moves forward 1 pixel away, both horizontally and vertically when a new row starts. Therefore, in each step, the new window overlaps the previous one except in this line of pixels that we have advanced.

我真的不明白为什么我们需要第一个隐藏层中的 space 个 24x24 神经元?由于我采用 5x5 windows(其中 784 个像素中有 25 个像素),我认为我们总共需要 785/25 = 32 个神经元。我的意思是,隐藏层的一个神经元不学习25个像素的属性吗? 显然不是,但我真的很困惑。

您假设 不重叠 5x5 段,但事实并非如此。在此示例中,第一个输出来自输入的第 1-5 行、第 1-5 列。下一个使用第 1-5 行,第 2-6 列,到第 1-5 行,第 24-28 列,然后是第 2-6 行,第 1-5 列,等等,直到第 24-28 行,第 24- 列28.这被称为 1 的 "stride"。