对于深度学习中的面部识别示例,在第一个隐藏层中分析特征(鼻子、眼睛、嘴唇等)。如果我们想分析更多的特征,比如酒窝、皮肤类型、肤色、皱纹等,我们会在第一个隐藏层中添加更多节点还是在网络中添加更多隐藏层?如果任一解决方案都有效,那么在性能和降低复杂性方面哪个解决方案更好?
问问题
61 次
1 回答
0
没有正确答案:它取决于许多不同的因素(主要取决于您的数据集)。
但通常对于相同数量的神经元,最好使用更多具有少量神经元的隐藏层,而不是使用具有大量神经元的一层。
如果您想了解更多详细信息,请查看 Jeff Heaton 的一篇精彩文章:
https://www.heatonresearch.com/2017/06/01/hidden-layers.html
从那篇文章:
隐藏层数:
none:仅能够表示线性可分函数或决策。
1:可以逼近任何包含从一个有限空间到另一个有限空间的连续映射的函数。
2:可以使用有理激活函数将任意决策边界表示为任意精度,并且可以将任何平滑映射逼近到任意精度。
>2:附加层可以学习层层的复杂表示(一种自动特征工程)。
和
有许多经验法则可以确定在隐藏层中使用的可接受的神经元数量,例如:
- 隐藏神经元的数量应该在输入层的大小和输出层的大小之间。
- 隐藏神经元的数量应该是输入层大小的 2/3,加上输出层的大小。
- 隐藏神经元的数量应小于输入层大小的两倍。
于 2019-08-06T07:41:43.287 回答