这些类型的问题可能与问题有关,但我试图找到研究来解决隐藏层的数量及其大小(每层中的神经元数量)是否真的重要的问题。
所以我的问题是,如果我们有 1 个包含 1000 个神经元的大型隐藏层与每个包含 100 个神经元的 10 个隐藏层,这真的很重要吗?
这些类型的问题可能与问题有关,但我试图找到研究来解决隐藏层的数量及其大小(每层中的神经元数量)是否真的重要的问题。
所以我的问题是,如果我们有 1 个包含 1000 个神经元的大型隐藏层与每个包含 100 个神经元的 10 个隐藏层,这真的很重要吗?
基本上,拥有多个层(又名深度网络)会使您的网络更渴望识别输入数据的某些方面。例如,如果您有房子的详细信息(大小、草坪大小、位置等)作为输入并想要预测价格。第一层可以预测:
第二层可能会得出以下结论:
是的,一层也可以“检测”统计数据,但是它将需要更多的神经元,因为它不能依赖其他神经元来完成检测该统计数据所需的总计算的“部分”。
有很多方面。
1. 训练: 由于梯度消失(后爆炸)问题,训练深度网络是一项艰巨的工作。因此不建议构建 10x100 的神经网络。
2. 训练好的网络性能:
所以更深的网络更“聪明”,但 10x100 的网络结构是一个不错的选择。
如果您要解决的问题是线性可分的,那么 1000 个神经元中的一层可以比 100 个神经元中的每一个的 10 层做得更好。如果问题是非线性的并且不是凸的,那么您需要深度神经网络。
我认为您对神经网络的基础知识感到困惑。每层都有单独的激活函数和输入/输出连接权重。
第一个隐藏层的输出将乘以权重,由下一层的激活函数处理,依此类推。单层神经网络对于简单的任务非常有限,更深的 NN 可以比单层执行得更好。
但是,如果您的应用程序不是相当复杂,请不要使用超过层。总之,100 个神经元层并不意味着比 10 层 x 10 个神经元更好的神经网络,但 10 层是虚构的,除非你在进行深度学习。从隐藏层中的 10 个神经元开始,尝试添加层或向同一层添加更多神经元以查看差异。多层次的学习会更容易,但需要更多的训练时间。