在非常大的神经网络中是不是需要偏置节点?

Posted

技术标签:

【中文标题】在非常大的神经网络中是不是需要偏置节点?【英文标题】:Is the bias node necessary in very large neural networks?在非常大的神经网络中是否需要偏置节点? 【发布时间】:2014-11-05 16:55:51 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

对于卷积网络来说,这并不是真的“就像在每一层的输入中加 1”。【参考方案2】:

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

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

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

【讨论】:

啊,原来偏差很小,所以我猜数据集必须已经合理居中了。为答案喝彩。

以上是关于在非常大的神经网络中是不是需要偏置节点?的主要内容,如果未能解决你的问题,请参考以下文章

反向传播梯度求解推导

ELM学习

神经网络算法-梯度下降GradientDescent

神经网络中的偏置项b到底是什么?

神经网络中的偏置项b到底是什么?

深度学习-几个常用概念