反向传播和梯度下降是不是使用相同的逻辑?
Posted
技术标签:
【中文标题】反向传播和梯度下降是不是使用相同的逻辑?【英文标题】:Does Back Propagation and Gradient Descent use the same logic?反向传播和梯度下降是否使用相同的逻辑? 【发布时间】:2021-05-18 01:15:14 【问题描述】:CNN 中使用反向传播来更新随机分配的权重、偏差和过滤器。对于值的更新,我们使用从头到尾的链式法则找到梯度并使用公式,
New Value = old value - (learning Rate * gradient)
梯度下降是一个优化器,用于优化损失函数。这里也计算梯度,公式为
New value = old value - (learning Rate * gradient)
如果我在上面给出的解释中有错误,请纠正我。
我的疑问是:
反向传播和梯度下降是否使用相同的逻辑? 反向传播和梯度下降之间有什么关系吗?【问题讨论】:
简短回答。 反向传播:找到成本的导数dC= dC/dW + dC/dB
。 梯度下降:使用导数更新 W, B.
【参考方案1】:
所以你会感到困惑,反向传播只是颠倒你移动的顺序的名称,通常在前向传播中你向前移动通过每一层,但在反向传播中你向后移动。
您可以将传播视为神经网络的引擎,在前向传播中它向前移动,在反向传播中它向后移动。引擎不做任何计算,它只用来定义你在哪一层,下一层是哪一层。
在反向传播中,您有成本函数。您可以使用的一种成本函数类型称为Gradient Descent
算法。另一种可能是Stochastic Gradient Descent
算法。这些算法用于找到调整权重的最佳值。
我希望这能解决您的问题,如果您需要更多信息,请发表评论。如果您想了解更多关于Gradient Descent
或Stochastic Gradient Descent
的详细信息,我建议您查看我之前的一些答案here 和here。
再见,祝你有美好的一天!
【讨论】:
是梯度下降、成本函数还是优化器? @pjrockzzz 从我能找到的资源中,它是一种成本函数。还包括stochastic gradient descent
。
@JamesBarnett Gradient Descent 是一个优化器,SGD 是一个随机近似值,其中我们的批量大小为 1。“成本”或“损失”函数略有不同,因为它是 但绝对与优化器不同。事实上,优化器最小化的是函数,通常是一些测量,如均方误差。因此,在您链接的这些典型梯度下降图像中,成本是 y 轴,参数是我们搜索成本函数的局部最小值的 x 轴。【参考方案2】:
反向传播是神经网络的梯度下降。 梯度下降是更通用的一阶迭代优化算法来逼近可微函数。用它来训练多层神经网络(其中每一层代表一个可微函数),我们可以为这种类型的模型推导出一个更专业的算法(处理我们有隐藏单元的事实)。生成的算法称为反向传播。
在每次训练迭代显示多少数据的特定上下文中,可以在 SGD 和 GD 之间创建一个second distinction(请参阅 James Barnett 的回答),尽管我认为术语“小批量学习”是如果要将其与随机梯度下降进行对比,则更精确。
【讨论】:
以上是关于反向传播和梯度下降是不是使用相同的逻辑?的主要内容,如果未能解决你的问题,请参考以下文章