gpt4 book ai didi

machine-learning - SGD 和反向传播有什么区别?

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

您能告诉我随机梯度下降(SGD)和反向传播之间的区别吗?

最佳答案

反向传播是一种在有向计算图中(例如神经网络)计算梯度的有效方法。这不是一种学习方法,而是一种经常用于学习方法的很好的计算技巧。这实际上是导数链式法则的简单实现,它让您能够根据图的大小在线性时间内计算所有所需的偏导数(而朴素的梯度计算将随着深度呈指数级增长) )。

SGD 是众多优化方法中的一种,即一阶优化器,也就是说,它基于对目标梯度的分析。因此,就神经网络而言,它通常与反向传播一起应用以进行有效的更新。您还可以将 SGD 应用于以不同方式(通过采样、数值逼近器等)获得的梯度。对称地,您也可以将其他优化技术与反向传播一起使用,所有可以使用梯度/雅可比的技术。

这种常见的误解来自这样一个事实,即为了简单起见,人们有时会说“使用反向传播进行训练”,实际上意味着(如果他们没有指定优化器)“使用反向传播作为梯度计算技术通过 SGD 进行训练”。此外,在旧教科书中,您可以找到诸如“增量规则”和其他有点令人困惑的术语之类的内容,它们描述完全相同的事物(因为神经网络社区很长一段时间都有点独立于一般优化社区)。

因此你有两层抽象:

  • 梯度计算 - 反向传播发挥作用的地方
  • 优化级别 - SGD、Adam、Rprop、BFGS 等技术发挥作用,这些技术(如果它们是一阶或更高阶)使用上面计算的梯度

关于machine-learning - SGD 和反向传播有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37953585/

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