TensorFlow 卷积神经网络教程

我在学习TensorFlow的’Expert MINST’教程(https://www.tensorflow.org/versions/r0.8/tutorials/mnist/pros/index.html),但在这一部分卡住了:

全连接层

现在图像尺寸已经缩小到7×7,我们添加了一个包含1024个神经元的全连接层,以便对整个图像进行处理。我们将池化层的张量重塑为一批向量,乘以一个权重矩阵,加上偏置,并应用ReLU函数。

为什么是1024这个数字?它从哪里来的?

我对全连接层的理解是,它必须以某种方式恢复到原始图像尺寸(然后我们开始将数据输入到我们的softmax方程中)。在这种情况下,原始图像尺寸是高度 x 宽度 x 通道 = 28*28*1 = 784…而不是1024。

我在这里错过了什么?


回答:

1024只是一个任意的隐藏单元数量。此时,网络的输入已经减少到64个平面,每个平面尺寸为7×7像素。他们并不是试图“恢复到原始图像尺寸”,他们只是声称,他们想要一个能够提取全局特征的层,因此他们希望它与来自最后一个池化层的每个神经元密集连接(这些神经元代表你的输入空间),而之前的操作(卷积和池化)是局部特征

因此,为了以多层感知器(MLP)的方式处理这些数据,你需要7*7*64=3136个神经元。他们在上面又加了一层1024个神经元,所以如果你画出你的网络,它会是这样的

 输入 - 卷积 - 池化 - .... - 卷积 - 池化 - 隐藏 - 输出28 x 28-               ....         7*7*64   1024      10                                    =3136

因此,这个数字是相当任意的,他们只是通过经验测试发现它有效,但你可以在这里使用任何数量的单元,或者任何数量的层。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注