machine-learning - 本教程的神经网络隐藏层输入大小

标签 machine-learning neural-network artificial-intelligence

我正在关注本教程的第 5 部分,可以在此链接中找到该部分:http://peterroelants.github.io/posts/neural_network_implementation_part05/

这将创建一个适合识别 0-9 手写数字的神经网络。

在教程的中间,作者解释说神经网络有 64 个输入(代表 64 像素图像),其中包含两个输入大小为 20 的隐藏神经网络。(见下面的屏幕截图)

enter image description here

我有两个问题:

1) 谁能解释一下将 64 输入层投影到 20 输入层的选择?为什么选择20?是任意的还是通过实验确定的?有直观的原因吗?

2)为什么有两个隐藏层?我在某处读到,大多数问题可以通过 1-2 个隐藏层来解决,这通常是通过反复试验来确定的。这里也是同样的情况吗?

欣赏任何想法

最佳答案

网络有:

  • 一个输入层有 64 个神经元 --> 每个像素一个
  • 具有 20 个神经元的隐藏层
  • 另一个包含 20 个神经元的隐藏层
  • 具有 10 个神经元的输出层 --> 每个数字一个神经元

两个隐藏层各有 20 个神经元的选择是相对任意的,并且可能是通过实验确定的,正如您所说。此外,将这些层中的每一层描述为另一个网络可能会令人困惑/误导。你也是对的,因为 1-2 个隐藏层通常足以解决问题,而对于数字识别来说,这并不复杂,就是这种情况。

关于machine-learning - 本教程的神经网络隐藏层输入大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43299484/

相关文章:

python - model.fit() 是否在每个时期后重置指标?如何手动重置指标?

machine-learning - scikit learn - 如何对由多个独立值组成的单个特征进行建模

python - Keras:使用 flow_from _directory() 函数为两个输入模型创建自定义生成器

python - Tensorflow 形状不匹配

python - 在逻辑回归中使用排名数据

python - 这是一个过度拟合的网络吗?

machine-learning - 如何在弹性网络回归模型中添加有关预测变量的先验知识?

neural-network - 具有稀疏输出的神经网络

java - 8 拼图 : Solvability and shortest solution

tensorflow - Tensorflow 和 Theano 中图像数据集表示之间的差异