偏置节点是非常大的神经网络所必需的吗?

时间:2014-09-11 16:26:08

标签: machine-learning artificial-intelligence neural-network image-recognition supervised-learning

我理解偏置节点在神经网络中的作用,以及为什么在小型网络中移动激活功能很重要。我的问题是:偏差在非常大的网络中是否仍然很重要(更具体地说,使用ReLu激活函数进行图像识别的卷积神经网络,3个卷积层,2个隐藏层和超过100,000个连接),或者它的影响是否得到因为激活的激活次数而失去了?

我问的原因是因为在过去我已经建立了我忘记实现偏置节点的网络,但是在添加一个网络时,性能上的差异可以忽略不计。这可能是偶然的,因为特定的数据集不需要偏见吗?我是否需要在大型网络中以更大的值初始化偏差?任何其他建议将不胜感激。

2 个答案:

答案 0 :(得分:7)

偏置节点/术语仅用于确保预测输出无偏。如果您的输入具有从-1到+1的动态(范围)并且您的输出仅仅是输入+3的转换,则具有偏置项的神经网络将具有具有非零权重的偏置神经元而其他人则为零。如果在这种情况下你没有偏置神经元,那么所有的激活函数和称重都将得到优化,以便最多模仿一个简单的加法,使用sigmoids / tangents和乘法。

如果您的输入和输出都具有相同的范围,例如从-1到+1,则偏差项可能没有用。

你可以看一下你提到的实验中偏置节点的重量。要么它非常低,这可能意味着输入和输出已经居中。或者它很重要,我敢打赌,其他重量的方差会减小,从而导致更稳定(并且不易过度拟合)的神经网络。

答案 1 :(得分:3)

偏差相当于在每个图层的输入中添加一个常数,如1。然后,该常数的权重等于您的偏差。添加起来非常简单。

理论上没有必要,因为网络可以“学习”在每一层上创建自己的偏置节点。其中一个神经元可以设置它的重量非常高,所以它总是1或0,所以它总是输出一个常数0.5(对于sigmoid单位。)这需要至少2层。