我正在关注本教程的第 5 部分,可以在此链接中找到该部分: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 个神经元的选择是相对任意的,并且可能是通过实验确定的,正如您所说。此外,将这些层中的每一层描述为另一个网络可能会令人困惑/误导。你也是对的,因为 1-2 个隐藏层通常足以解决问题,而对于数字识别来说,这并不复杂,就是这种情况。
关于machine-learning - 本教程的神经网络隐藏层输入大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43299484/