梯度下降和反向传播如何协同工作?

数据挖掘 机器学习 神经网络 梯度下降 反向传播 成本函数
2021-09-25 02:29:27

请原谅我,因为我是新手。我附上了一张图表,试图模拟我对神经网络和反向传播的理解?根据 Coursera 上的视频和在线资源,我对神经网络的工作原理形成了以下理解:

  1. 给定输入,使用概率分布为其分配权重。
  2. 激活函数使用权重来提供预测值。
  3. 成本或损失函数计算实际类与预测值之间的预测误差。
  4. 梯度下降等优化函数使用成本函数的结果来最小化误差。

如果以上是正确的,那么我很难理解梯度下降和反向传播之间的联系?

这是到目前为止我的理解的图像:

1个回答

首先,请记住,函数的导数给出了函数增加的方向,而它的负数给出了函数减小的方向。

训练模型只是最小化损失函数,并最小化你想要在导数的负方向上移动。反向传播是计算导数的过程,梯度下降是通过梯度下降的过程,即通过损失函数调整模型的参数下降。

反向传播是这样调用的,因为要计算导数,您使用从最后一层(直接连接到损失函数,因为它是提供预测的层)到第一层的链式法则,即接受输入数据的那个。您正在“从后向前移动”。

在梯度下降中,人们试图使用反向传播中计算的导数来达到关于参数的损失函数的最小值。最简单的方法是通过减去其对应的导数乘以学习率来调整参数,学习率调节你想要在梯度方向上移动多少。但是还有一些更高级的算法,例如 ADAM。