人工神经网络为什么需要BIAS?我们应该为每一层分别设置BIAS吗?

Faa*_*waN 18 machine-learning neural-network bias-neuron

我想制作一个模型来预测输入信号的未来响应,我的网络架构是[3,5,1]:

  • 3输入,
  • 隐藏层中的5个神经元,和
  • 输出层中有1个神经元.

我的问题是:

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

zer*_*ord 10

因此,如果我们退一步讨论偏见单位在NN中的作用,我认为大部分内容已经明确了.

偏差单元用于允许网络中的单元学习适当的阈值(即在达到某个总输入后,开始发送正激活),因为通常正的总输入意味着正激活.

例如,如果您的偏置单位的权重为-2且具有一些神经元x,那么如果所有其他输入加起来大于-2,则神经元x将提供正激活.

所以,以此为背景,你的答案:

  1. 不,一个偏置输入总是足够的,因为它可以根据每个单元的重量不同地影响不同的神经元.
  2. 一般而言,将偏差权重传递给每个非输入单元是个好主意,因为否则那些没有偏置权重的单位将具有始终为零的阈值.
  3. 自阈值以来,一旦学会应该在试验中保持一致.请记住,偏差表示每个单位如何与输入相互作用; 它本身不是输入.
  4. 你当然可以和许多人一样.任何sqaushing功能通常用作激活功能.