gpt4 book ai didi

math - 激活函数的导数及其在反向传播中的应用

转载 作者:行者123 更新时间:2023-11-30 08:23:24 25 4
gpt4 key购买 nike

我正在阅读this文档中,他们说权重调整公式是这样的:

new weight = old weight + learning rate * delta * df(e)/de * input

df(e)/de部分是激活函数的导数,通常是 sigmoid 函数,如 tanh

  • 这实际上是做什么用的?
  • 为什么我们还要乘以这个?
  • 为什么不只是 learning rate * delta * input够了吗?

这个问题出现在这个问题之后,并且与之密切相关:Why must a nonlinear activation function be used in a backpropagation neural network? .

最佳答案

训练神经网络只是指寻找权重矩阵中每个单元的值(对于具有一个隐藏层的神经网络来说,权重矩阵有两个),使得观测数据和预测数据之间的平方差被最小化。实际上,包含两个权重矩阵的各个权重在每次迭代时都会进行调整(它们的初始值通常设置为随机值)。这也称为在线模型,而不是在多次迭代后调整权重的批量模型。

但是应该如何调整权重——即哪个方向+/-?增加多少?

这就是导数的用武之地。导数的值较大将导致相应权重的较大调整。这是有道理的,因为如果导数很大,则意味着距离最小值还很远。换句话说,权重在每次迭代时都会在由总误差(观测值与预测值)定义的成本函数表面上最速下降(导数的最高值)方向上进行调整。

计算出每个模式的误差后(从迭代期间神经网络预测的值中减去响应变量或输出向量的实际值),权重矩阵中的每个权重将根据计算出的误差梯度按比例进行调整.

由于误差计算从神经网络的末尾开始(即在输出层,从预测中减去观测值)并继续到前面,因此称为反向传播

<小时/>

更一般地,优化技术使用导数(或梯度对于多变量问题)(对于反向传播,共轭梯度可能是最常见的)找到目标函数的最小值(又名损失)

它的工作原理是这样的:

一阶导数是曲线上与它相切的线的斜率为 0 的点。

因此,如果您在由目标函数定义的 3D 表面上行走,并且走到斜率 = 0 的点,那么您就位于底部 - 您已经找到了一个最小值(无论是全局或局部)的功能。

但一阶导数比这更重要。它还告诉您是否朝着正确的方向达到函数最小值。

如果您考虑一下当曲线/曲面上的点向下移向函数最小值时切线的斜率会发生什么情况,就很容易理解为什么会这样。

斜率(因此函数在该点的导数值)逐渐减小。换句话说,要最小化函数,请遵循导数 - 即,如果值减小,那么您就朝着正确的方向移动。

关于math - 激活函数的导数及其在反向传播中的应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9785754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com