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

Neural Network Hidden Layer Input Size for this Tutorial

我正在学习本教程的第 5 部分,可以在 link 中找到:http://peterroelants.github.io/posts/neural_network_implementation_part05/

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

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

我有两个问题:

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

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

感谢任何想法

网络有:

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

两个20个神经元的隐藏层的选择比较随意,可能是实验决定的,就像你说的。此外,将这些层中的每一层描述为另一个 网络 可以是 confusing/misleading。你也是对的,因为 1-2 个隐藏层通常足以解决问题,而且数字识别并不复杂,情况就是这样。