8

我了解偏置节点在神经网络中的作用,以及为什么它对于转移小型网络中的激活函数很重要。我的问题是:偏差在非常大的网络中仍然很重要(更具体地说,是使用 ReLu 激活函数、3 个卷积层、2 个隐藏层和超过 100,000 个连接进行图像识别的卷积神经网络),还是它的影响得到被大量的激活所迷惑?

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

4

2 回答 2

8

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

如果您的输入和输出都具有相同的范围,例如从 -1 到 +1,那么偏置项可能不会有用。

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

于 2014-09-12T07:10:44.743 回答
3

偏置相当于在每一层的输入中添加一个像 1 这样的常数。那么这个常数的权重就等于你的偏差。添加真的很简单。

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

于 2014-09-12T09:41:30.640 回答