神经网络,神经元数量最少

时间:2015-11-11 20:43:47

标签: machine-learning neural-network

我有一个2D表面,船只(以恒定速度)在场景中导航以拾取糖果。对于船上的每一个糖果,我都会增加健康。 NN有一个输出来控制船舶(左侧为0,右侧为1,因此0.5为直线)在[-1 .. 1]范围内有四个输入,表示两个归一化向量。船的方向和糖果的方向。

有没有办法计算隐藏层中的最小神经元数量?我也试过给两个输入而不是四个,第一个是点积[-1..1](我用糖果的方向点缀船的方向),第二个是(0/1),如果糖果是在船的左/右。看起来这种方法在隐藏层中使用较少的神经元时效果更好。

2 个答案:

答案 0 :(得分:2)

更少的输入意味着更少的神经元。这是因为输入组合的数量减少,神经网络更容易学习系统。关于如何计算隐藏层中的最佳节点数,没有黄金法则。但是,有2个输入,我说2个隐藏节点应该可以正常工作。这实际上取决于输入中的非线性程度。

答案 1 :(得分:1)

定义隐藏层的数量和每个隐藏层中的神经元数量始终是一个挑战,它可能与每种类型的问题不同。顺便说一句,前馈神经网络中的单个隐藏层可以解决大多数问题,因为它可以使函数近似。

Murata定义了一些用于神经网络的规则来定义前馈神经网络中隐藏神经元的数量:

  • 该值应介于输入和输出图层的大小之间。
  • 该值应为输入图层大小的2/3加上输出图层的大小。
  • 该值应小于输入图层大小的两倍

您可以尝试这些规则并评估它在您的神经网络中的影响。