TensorFlow卷积神经网络教程

时间:2016-05-29 19:37:52

标签: machine-learning neural-network tensorflow conv-neural-network

我正在通过专家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。

我在这里缺少什么?

1 个答案:

答案 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

因此这个数字是非常随意的,他们只是凭经验测试它是否有效,但你可以在这里使用任意数量的单位,或任意数量的层。