在 Tensorflow 示例“Deep MNIST for Experts”中https://www.tensorflow.org/get_started/mnist/pros
我不清楚如何确定激活函数权重中指定的特征数。
例如:
我们现在可以实现我们的第一层。它将由卷积组成,然后是最大池化。卷积将为每个 5x5 补丁计算 32 个特征。
W_conv1 = weight_variable([5, 5, 1, 32])
为什么这里选择 32?
为了构建一个深度网络,我们堆叠了这种类型的几个层。对于每个 5x5 补丁,第二层将具有 64 个特征。
W_conv2 = weight_variable([5, 5, 32, 64])
再次,为什么选择 64?
现在图像大小已减小到 7x7,我们添加了一个具有 1024 个神经元的全连接层,以允许对整个图像进行处理。
W_fc1 = weight_variable([7 * 7 * 64, 1024])
为什么这里是 1024?
谢谢
32和64是各个层中的滤波器数量。1024 是全连接层中输出神经元的数量。您的问题基本上是关于选择这些超参数背后的原因。
这些特定选择背后没有数学或编程原因。这些已在实验后被采用,因为它们在 MNIST 数据集上提供了良好的准确性。您可以更改这些数字,这是修改模型的一种方式。不幸的是,您还无法在 TensorFlow 或任何其他文献来源中探索选择这些参数背后的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句