neural-network - 为什么我们在计算反向传播算法时要取传递函数的导数?

标签 neural-network artificial-intelligence recurrent-neural-network

取导数背后的概念是什么?有趣的是,为了以某种方式教授一个系统,我们必须调整它的权重。但是为什么我们要使用传递函数的推导来做这件事。推导中的什么对我们有帮助。我知道推导是给定点连续函数的斜率,但这与问题有什么关系。

最佳答案

你一定已经知道成本函数是一个以权重为变量的函数。
现在将其视为 f(W)。

我们在这里的主要动机是找到一个 W,我们可以得到 f(W) 的最小值。

这样做的一种方法是在一个轴上绘制函数 f,在另一个轴上绘制 W ......但请记住,这里 W 不仅仅是一个变量,而是一个变量的集合。

那么另一种方式是什么呢?
它可以像改变 W 的值一样简单,看看我们得到的值是否低于 W 的先前值。

但是为 W 中的所有变量取随机值可能是一项乏味的任务。

所以我们要做的是,我们首先为 W 取随机值,然后查看 f(W) 的输出和每个变量的所有值的斜率(我们通过将函数与第 i 个变量进行部分微分并将第 i 个变量的值)。

现在一旦我们知道空间中那个点的斜率,我们就会向斜率的下侧移动一点(这个小因素在梯度下降中被称为 alpha)并且一直持续下去,直到斜率给出相反的值,表明我们已经达到了图中的最低点(具有 n 维的图,函数与 W,W 是 n 个变量的集合)。

关于neural-network - 为什么我们在计算反向传播算法时要取传递函数的导数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35765607/

相关文章:

machine-learning - 强化学习 - 如何处理进行数字逼近的不同数量的 Action

machine-learning - Caffe:使用 Scale 层添加 Softmax 温度

python - 您可以使用 Caffe 在同一数据上训练多个网络吗?

python - 如何用python reshape caffe中的图层?

tensorflow - 如何将 rnn 的初始状态设置为 tensorflow 中的参数?

java - 使用运行时生成的数据在 deeplearning4j 中训练递归神经网络

machine-learning - Pytorch 中 GRU 单元的隐藏和输出是否相同?

machine-learning - 绝对最佳的理论无损数据压缩可能是什么?

algorithm - 蒙特卡洛树搜索在实践中是如何实现的

python - 提供了断言错误 : The algorithm only supports <class 'gym.spaces.box.Box' > as action spaces but Box(-1. 0, 1.0, (3,), float32)