神经网络如何知道如何调整特定神经元的权重?

人工智能 神经网络 深度学习 反向传播 权重
2021-10-27 18:05:51

我知道反向传播使用成本和梯度下降来调整权重以最小化成本。但它如何知道首先要赋予哪些权重更多的权重?隐藏层中的每个神经元内部是否有某种东西以某种方式定义了它是如何成为正确结果的重要神经元?网络如何知道如何调整特定神经元的权重?

1个回答

tl;博士

梯度下降的重点是评估每个参数对损失的贡献。这些信息是通过每个参数的损失梯度来揭示的。

更深层次的看...

假设我们有一个带参数的 NNwi,i=1,2,.... 这个 NN 做出一些预测,我们将其与实际目标进行比较并计算损失J. 损失(或成本)函数告诉我们离目标有多远这就是我们想要减少的,以便预测更接近目标。

通过计算损失函数的偏导数J写一个参数wi(所以这只是一个偏导数,而不是完整的梯度向量)

Jwi

NN 揭示了两条信息:

  • 斜率_Jwi,它告诉 NN多少wi影响J.
  • 它的符号,它告诉 NN调整的方式wi减少(或增加)的价值J.

通过使参数更新依赖于导数

winewwioldλJwi

NN 导致对损失影响最大的参数被更新得最多。

您可以将其视为:网络错误更应归咎于的参数(即对损失的贡献更大)被迫改变最多,方向将减少损失。