在神经网络中,偏差项的权重是否会在反向传播中更新?

时间:2015-12-25 23:32:15

标签: neural-network

在神经网络中,我正在尝试编写代码,但却陷入了困境。偏差项的权重是否在反向传播中得到更新?我在这里遵循算法http://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/,他们似乎没有更新它,他们为偏差项权重选择了一些任意值。这是否意味着偏差项的输出为1,其权重不应改变?

1 个答案:

答案 0 :(得分:2)

通常:是的,偏差权重应该更新并包含在训练中,就像NN中的任何其他权重一样(也在反向传播中)。

在您发布的示例中,偏差b1被添加到隐藏层的两个神经元中,并且偏向b2到输出层中的两个中子

Hidden layer:
    h1 = i1*w1 + i2*w2 + 1*b1
    h2 = i1*w3 + i2*w4 + 1*b1

Output layer:
    o1 = h1*w5 + h2*w6 + 1*b2
    o2 = i2*w7 + h2*w8 + 1*b2

使用initial,在此示例中,使用fixed,biases

b1 = 0.35
b2 = 0.60

这意味着隐藏中子的偏差总是精确为0.35,输出中子的偏差恰好为0.60。然而,这并不是通常的做法,因为你想训练你的NN找到“好”的偏见,就像你想要它训练找到好的重量一样。

另请注意,在您提供的链接的评论中,另一位用户已经询问为什么不会更改偏差,并且作者已回复,引用:

  

“嘿,在我经历过的教程中,他们没有更新偏见   这就是为什么我没有把它包括在内。“

这种缺乏特定的“为什么”可能意味着这个例子/教程的作者,无论多么精通,都不是NN主题的专家,所以你不应该过多的重量(没有双关语意。 ..)在这个特定的例子中,偏差没有改变。

如果你真的想在反向传播的背景下深入研究NN的完整覆盖,我宁愿向你推荐Michael Nielsen关于NN和深度学习的优秀书籍,特别是关于这个主题,第2章。注意,这里,偏倚权重被视为神经元 - 神经元数据传递的权重。

迈克尔是一位谷歌研究员,在高级NN和深度学习方面有大量有关公开文章。

  

反向传播的核心是部分的表达   成本函数C的导数∂C/∂w相对于任何权重w   (或偏见b)在网络中。表达式告诉我们有多快   当我们改变权重和偏差时,成本会发生变化。