我正在通过专家MINST'教程(https://www.tensorflow.org/versions/r0.8/tutorials/mnist/pros/index.html)和我坚持这一部分:
密集连接的图层
现在图像尺寸已减少到7x7,我们添加了一个 具有1024个神经元的完全连接层允许处理 整个形象。我们将张量层中的张量重新形成为一个 批量向量,乘以权重矩阵,添加偏差,并应用a RELU。
为什么数字1024?这是从哪里来的?
我对完全连接层的理解是它必须以某种方式回到原始图像大小(然后我们开始将事物插入到我们的softmax方程中)。在这种情况下,原始图像大小为高度x宽度x通道= 28 * 28 * 1 = 784 ...而不是1024。
我在这里缺少什么?
答案 0 :(得分:3)
1024只是任意数量的隐藏单位。此时,网络输入减少到64个平面,每个平面大小为7x7像素。他们不会尝试回到原始图片尺寸,他们只是声称,他们想要一个可以提取全局功能的图层,因此他们希望它能够密集连接来自最后一个汇集层(代表您的输入空间)的每个神经元,而之前的操作(卷积和汇集)是本地特征。
因此,为了以MLP方式使用它,您需要7 * 7 * 64 = 3136个神经元。他们在顶部添加了另一层1024,所以如果你绘制你的网络,它将是
的行 INPUT - CONV - POOL - .... - CONV - POOL - HIDDEN - OUTPUT
28 x 28- .... 7*7*64 1024 10
=3136
因此这个数字是非常随意的,他们只是凭经验测试它是否有效,但你可以在这里使用任意数量的单位,或任意数量的层。