2014-06-19 37 views
0

CrossPost:https://stats.stackexchange.com/questions/103960/how-sensitive-are-neural-networksFF神经网络如何敏感?

我知道修剪的,如果它消除了实际的神经元或使得其重量为零我不知道,但我问这个问题,就好像没有被使用的修剪过程。

在不同尺寸的前馈神经网络对大数据集有很多的噪音:

  1. 是否有可能一个(或一些琐碎的金额)额外的或丢失隐藏的神经元或隐藏层或断开网络?或者如果它不是必需的,它的突触权重会简单地降低到零,并且如果它丢失了一两个,它会与其他神经元一起补偿吗?
  2. 实验时,应该一次添加一个输入神经元还是一组X?什么是X?增加5?
  3. 最后,每个隐藏层应该包含相同数量的神经元吗?这通常是我在例子中看到的。如果不是,如果不依靠纯粹的实验,如何以及为什么要调整它们的大小?

我宁愿过度使用它,并等待更长的时间来收敛,如果大型网络将自己适应解决方案。我尝试了很多配置,但仍然很难判断最佳配置。

回答

0

1)是的,绝对。例如,如果隐藏层中的神经元数量太少,那么您的模型将会过于简单并且具有较高的偏差。同样,如果你有太多的神经元,你的模型会过度拟合,并有很高的方差。添加更多的隐藏层可以让您对像对象识别这样的非常复杂的问题进行建模,但是添加更多隐藏层的工作有很多技巧;这被称为深度学习领域。

2)在单层神经网络中,其通常的经验法则是以输入数量的2倍的神经元开始。您可以通过二分查找来确定增量;即通过几个不同的体系结构,看看准确度如何变化。

3)不,绝对不是 - 每个隐藏层都可以包含尽可能多的神经元。其他人无法通过实验来确定它们的大小;你提到的所有内容都是你必须调整的超参数。

我不确定你是否正在寻找一个简单的答案,但也许你会对一种叫做失落的新型神经网络正规化技术感兴趣。在训练过程中,脱落基本随机地“移除”了一些神经元,迫使每个神经元成为良好的特征检测器。它可以大大防止过度配合,您可以继续设置神经元的数量,而不必担心太多。检查这篇文章了解更多信息:http://www.cs.toronto.edu/~nitish/msc_thesis.pdf

+0

我应该使用一些自动化的退出功能......但我真的在问,因为我的神经元变化是十,二十,五十,当我应该变化的时候以1为单位? – SilverFox