在训练神经网络时解释梯度和偏导数

数据挖掘 机器学习 神经网络 损失函数 梯度下降 反向传播
2021-09-23 05:51:30

我试图通过了解如何解释梯度及其偏导数来了解 NN 训练中偏微分的目的。以下是我解释它们的方式,所以我想知道我是否正确,如果不是,请有人指出我正确的方向。

如果我们正在使用依赖于单个变量的函数,那么该函数相对于该特定变量的导数是一个斜率(即常数),它告诉我们因变量的变化将如何影响函数值的变化。

如果我们使用依赖于几个 (N) 变量的函数,那么该函数相对于所有这些因变量的导数是一个梯度(即偏导数的向量),它指向函数极值的方向。每个偏导数对应于我们试图优化的 N 维空间中的一个特定维度(例如,二次成本函数 C(W,b))。

我的问题是,当我们计算一个参数(例如输入 x1 和第一个隐藏层神经元之间的权重)的偏导数时,我们将所有其他权重和偏差视为常数,并且我们正在评估如果我们要成本函数将如何变化朝着那个特定重量所代表的方向迈出一步。这个对吗?如果不是,请纠正我对NN训练过程中偏微分的理解。

另外,雅可比矩阵在 NN 训练中的作用是什么?

太感谢了!

1个回答

我的问题是,当我们计算一个参数(例如输入 x1 和第一个隐藏层神经元之间的权重)的偏导数时,我们将所有其他权重和偏差视为常数,并且我们正在评估如果我们要成本函数将如何变化朝着那个特定重量所代表的方向迈出一步。这个对吗?

是的。

长答案:这正是导数的含义。这是特定变量的影响,同时保持所有其他变量不变这是一个万物平等的条件(或者ceteris paribus,如果你喜欢拉丁语的话)。

您需要它来了解该特定参数在该当前值下对最终损失的贡献程度。您必须保持其他一切都相同,以便了解该参数对最终模型错误的责任。


另外,雅可比矩阵在 NN 训练中的作用是什么?

更一般地,神经网络的雅可比矩阵是 y 的偏导数矩阵。它的大小是:

( Number of observations, Number of parameters )

这是一种存储/表示渐变信息的方法。执行反向传播的链式规则的应用是在实践中执行的。