问题:这种方法的性能与用于数百万个顶点的通常光线追踪器相比如何(NN 似乎比光线追踪器更尴尬地并行)?
您尝试解决的问题似乎不是机器学习模型的问题。这种方法应该适用于复杂的统计数据问题,对于人类来说,找到好的算法解决方案太难了。这些简单的问题(从某种意义上说,你可以找到高效的算法),你可以深入分析(因为它只是 2/3 维数据)应该使用经典方法来解决,而不是神经网络(也不是任何其他机器学习模型) )。
即使您尝试这样做,您对问题的表示也准备不足,网络不会通过向其展示此类数据来学习“阴影的概念”,有两个可以用与您的数据一致的神经网络表示的模型. 即使是经过训练的网络的效率似乎也无法与“算法”替代方案相提并论。
总结一下——没有理由使用这样的方法,事实上,使用它们:
- 不能很好地工作,因为问题的表现不好(而且我“从头顶”看不到一个好的表现)
- 即使它会起作用,它也不会有效
问题:它需要思考多少个神经元?我是否必须尝试所有隐藏层神经元数、隐藏层数、最小训练迭代次数的组合......?有没有办法预见到这一点?
正如我之前所说,无论您使用什么参数,它都不会很好地学习这种数据。但是对于“未来参考”——对于“简单”的神经网络,实际上你总是需要一个隐藏层。在大多数情况下,更多的隐藏层实际上并没有帮助,因为梯度消失现象(对此,深度学习是一个成功的解决方案)。隐藏层大小有一些经验法则,但没有真正的数学答案。一个好的选择是使用大量隐藏单元并添加强正则化,这将防止网络过度拟合,这可能是隐藏层太大的结果。考虑迭代次数 - 你永远不应该将其用作参数。只要网络不符合一些明确定义的停止标准,就应该对网络进行训练——迭代次数不是其中之一。最经典且运行良好的方法是测量泛化误差(独立验证集的误差),当它开始上升时 - 停止学习过程。