为什么神经网络中成本偏差的变化等于神经元中的误差?

人工智能 神经网络 深度学习 反向传播 数学 结石
2021-11-13 08:21:56

在阅读迈克尔尼尔森关于神经网络的书时,我在理解方程(BP3)时遇到了一个问题,即

(BP3)Cbjl=δjl,
可以翻译成简单的英语如下

成本变化,C,关于神经元的偏差,bjl, 等于该神经元中的误差,δjl.

为什么会这样?

1个回答

这只是链式法则的一个应用。同一章有“四个基本方程的证明”部分,证明了BP1-2,而PB3-4留给读者作为练习。我同意这确实是一个很好的练习,这就是为什么我鼓励你在这里停下来并尝试使用链式法则自己证明它

现在,如果您决定进一步阅读,这里是一个证明的草图。

回忆方程 (25) 和 (29),两个定义

  • zl是一个线性变换al1zl=wlal1+bl

  • δl是偏导数C关于zlδl=Czl

链式法则本身:

  • 的偏导数C关于bl

Cbjl=kCzklzklbjl

这个总和中的几乎所有元素都将为零,除了一个k=j. 其中的第一项是根据定义δjl, 第二项zjlbjl1, 因为z是线性的b.

关于权重的导数采用相同的方式,仅在最后一项不同:z是线性的w也一样,但有一个系数al1.