为什么人工神经网络中需要偏置?每一层应该有单独的偏置吗?

19
我想制作一个模型来预测输入信号的未来响应,我的网络结构是[3,5,1]:
  • 3个输入,
  • 隐藏层中有5个神经元,以及
  • 输出层中有1个神经元。

我的问题是:

  1. 对于每个隐藏层和输出层,我们是否应该有单独的BIAS偏差?
  2. 我们是否应该为每个层分配BIAS偏置权重(因为BIAS成为网络的额外值,会导致网络负担过重)?
  3. 为什么BIAS偏置常常被设置为1?如果eta有不同的值,为什么我们不将BIAS偏置设置为不同的值?
  4. 为什么我们总是使用对数sigmoid函数作为非线性函数,可以使用tanh吗?

1
请参考此前的帖子,它有一个很好的解释。 - Rashmika Nawaratne
1个回答

11

因此,如果我们回溯讨论偏置单元在NN中的作用,我认为它会澄清大部分问题。

偏置单元旨在允许网络中的单元学习适当的阈值(即在达到一定的总输入后开始发送正激活),因为通常正总输入意味着正激活。

例如,如果您的偏置单元与某个神经元x具有权重-2,则仅当所有其他输入相加大于-2时,神经元x将提供正激活。

所以,在此背景下,您的答案如下:

  1. 不,一个偏置输入始终足够,因为它可以根据每个单元的权重影响不同的神经元。
  2. 一般来说,将偏置权重传递到每个非输入单元是一个好主意,否则那些没有偏置权重的单元将始终具有零阈值。
  3. 由于阈值一旦学习就应该在试验中保持一致。请记住,偏差表示每个单位与输入的交互方式;它本身不是输入。
  4. 您肯定可以这样做,许多人都这样做。任何压缩函数通常都可以作为激活函数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接