为什么在神经网络中使用偏置节点?


29
  1. 为什么在神经网络中使用偏置节点?
  2. 您应该使用几个?
  3. 您应该在哪些层中使用它们:所有隐藏层和输出层?

1
这个问题对这个论坛来说有点广泛。我认为最好查阅一本讨论神经网络的教科书,例如用于模式识别的 Bishop 神经网络或Hagan 神经网络设计
Sycorax说恢复莫妮卡

2
FTR,我认为这不是太广泛。
gung-恢复莫妮卡

Answers:


24

神经网络中的偏置节点是始终处于“打开”状态的节点。即,将其值设置为而不考虑给定模式中的数据。它类似于回归模型中的截距,并且具有相同的功能。如果神经网络在给定的层中没有偏置节点,则它将无法在下一层中产生与0不同的输出(在线性范围内,或者在传递时与0转换对应的值)功能值是0时的激活函数)。1000

enter image description here

考虑一个简单的示例:您有一个前馈感知器,其中有2个输入节点x 2,以及1个输出节点yx 1x 2是二进制特征,并设置为参考水平x 1 = x 2 = 0。将这些2 0乘以您喜欢的权重w 1w 2,将乘积求和,然后将其通过您喜欢的任何激活函数。没有偏置节点,只有一个x1x2yx1x2x1=x2=00w1w2输出值是可能的,这可能会产生非常差的拟合。例如,使用逻辑激活函数,必须为.5,这对于对罕见事件进行分类非常糟糕。y.5

偏置节点为神经网络模型提供了相当大的灵活性。在上面给出的示例中,唯一的预测比例可能的,而不偏压节点是,但与偏压节点,任何在比例0 1 可以为图案,其中是拟合X 1 = X 2 = 0。对于每个层,Ĵ,在添加有偏置节点,偏置节点将增加Ñ Ĵ + 1要估计的附加参数/重量(其中Ñ Ĵ + 1是在层节点的数目Ĵ50%(0,1)x1=x2=0jNj+1Nj+1)。要拟合的参数更多,意味着要训练的神经网络将成比例地花费更长的时间。如果您没有足够多的数据要学习的权重,那么它也增加了过度拟合的机会。 j+1

考虑到这一点,我们可以回答您的明确问题:

  1. 添加了偏置节点以增加模型拟合数据的灵活性。具体来说,它允许网络在所有输入要素都等于时拟合数据,并且很可能会降低拟合值在数据空间中其他位置的偏差。 0
  2. 通常,为输入层和前馈网络中的每个隐藏层添加单个偏置节点。您永远不会将两个或多个添加到给定的图层,但可能会添加零。因此,总数可能主要取决于您的网络结构,尽管可能需要考虑其他因素。(对于将偏向节点如何添加到除前馈之外的神经网络结构中,我不清楚。)
  3. 大多数情况下,这已被覆盖,但要明确地说:您永远不会在输出层添加偏置节点;那没有任何意义。

CNN在这方面是否有所不同?因为当我向转换层添加偏见时,性能(准确性)会降低!当我删除它们时,它实际上会更高!
丽卡

@侯赛因,我不知道,但是您可以提出一个新问题。我在那儿不是专家。
gung-恢复莫妮卡

如果我的输入永远不会为0,我是否仍需要偏置节点?
alec_djinn

1
@alec_djinn,是的。几乎可以肯定的是,即使没有输入值,模型也将在没有它们的情况下产生偏差。打个比方,它可能有助于读懂:什么时候可以消除线性回归模型中的截距?
gung-恢复莫妮卡

1
@krupeshAnadkat,“神经网络中的偏置节点是始终处于“打开”状态的节点。也就是说,其值设置为1而不考虑给定模式中的数据。” 因此,您可以根据需要进行连接,只需将节点的结果值更改为1个在将其乘以权重之前,因为偏置节点是一个值始终为1的节点。
恢复莫妮卡

2

简单简短的答案:

  1. 转移输入功能/更加灵活地学习功能。
  2. 每层一个偏置节点。
  3. 将它们添加到所有隐藏层和输入层-带有一些脚注

我的硕士论文中进行了几次实验(例如,第59页),我发现偏差对于第一层可能很重要,但尤其是在最后的完全连接层上,它似乎没有太大作用。因此,可以在前几层而不是最后一层使用它们。只需训练网络,绘制偏置节点的权重分布并在权重似乎太接近零时修剪它们。

这可能高度依赖于网络体系结构/数据集。


偏置节点会从上一层连接到它的箭头吗?或者它只是通过将其值“ 1”乘以传递给激活的加权总和中的权重来为下一层做出贡献。对此的答案将节省时间,请提供帮助
krupesh Anadkat

1
偏差只是下一层激活的一个附加数字。可视化的一种方法是,1在上一层中具有恒定的值,而下一层中的每个神经元具有一个权重(一个偏差值)。
马丁·托马

2

在神经网络中,批量归一化目前是制作智能“偏置节点”的黄金标准。您无需调整神经元的偏差值,而是调整神经元输入的协方差。因此,在CNN中,您可以在卷积层和下一个完全连接的层(例如ReLus)之间应用批量归一化。从理论上讲,所有完全连接的层都可以从“批次归一化”中受益,但是由于每个批次归一化都带有自己的参数,因此在实践中实现起来非常昂贵。

关于原因,大多数答案已经解释了,特别是当输入将激活推到极限时,神经元容易受到饱和梯度的影响。在ReLu的情况下,将其推到左侧,渐变为0。通常,在训练模型时,首先将神经网络的输入归一化。批处理规范化是一种规范神经网络内部各层之间输入的方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.