Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

梯度下降

Answer

梯度下降是深度学习中用于优化神经网络权重以最小化误差的重要方法。

在误差反向传播中,梯度下降被用于找到使网络误差最小化的权重。梯度表示网络的误差随权重变化的情况。

想象一下站在山顶上滑雪的场景,想尽快下到山谷。梯度下降就如同每 10 米停下来用卷尺测量周围环境的陡度(根据整个数据集测量梯度),以找到最陡峭的下山路径。而随机梯度下降则是快速估计陡度(仅使用几百个数据点来估计)。

在随机梯度下降中,沿着误差函数的最陡路径(负梯度或一阶导数)向下走,以寻找局部最小值,即为任务产生低误差的点。但要注意以微小的步骤进行,避免被困在半管状的障碍物中。尽管典型的误差景观可能有数百万个维度,存在很多山谷和鞍点,增加了寻找最优解的难度,但通过梯度下降仍有可能找到较好的解决方案。

从梯度下降的角度看,在某些情况下,第一步类似于计算梯度或调用 loss.backward(),第二步类似于应用梯度或调用 optimizer.step()。

Content generated by AI large model, please carefully verify (powered by aily)

References

深度学习(2)历史和训练

误差反向传播,或者通常简称反向传播,是一种用于在神经网络上找到误差相对于权重的梯度的方法。梯度表示网络的误差如何随着网络权重的变化而变化。梯度用于执行[梯度下降](https://developer.nvidia.com/blog/deep-learning-nutshell-history-training/#stochastic-gradient-descent),从而找到一组使网络误差最小化的权重。![https://developer.nvidia.com/blog/wp-content/uploads/2015/12/backprop-624x659.png](https://developer.nvidia.com/blog/wp-content/uploads/2015/12/backprop-624x659.png)图1:深度神经网络中任意层的反向传播。教授反向传播有三种好方法:(1)使用视觉表示(2)使用数学表示(3)使用基于规则的表示。本节末尾的奖励材料使用数学表示。在这里,我将使用基于规则的表示,因为它需要很少的数学知识并且很容易理解。

深度学习(2)历史和训练

想象一下,你站在山顶上,脚上绑着滑雪板。你想尽快下到山谷,但是有雾,你只能看到你周围的环境。你该如何尽快下山?你环顾四周,找到最陡峭的下山路径,沿着这条路径下山一段时间,再次环顾四周,找到新的最陡峭的路径,沿着这条路径下山,然后重复这个过程——这正是梯度下降所做的。梯度下降相当于每10米停下来,用卷尺测量周围环境的陡度(根据整个数据集测量梯度),而随机梯度下降相当于快速估计陡度(仅使用几百个数据点来估计陡度)。就随机梯度下降而言,我们沿着误差函数的最陡路径(负梯度或一阶导数)向下走,以寻找局部最小值,即为我们的任务产生低误差的点。我们以微小的步骤来做这件事,这样我们就不会被困在半管状的障碍物中(如果我们太快,我们永远无法摆脱这些半管,甚至可能被“弹射”上山)。虽然我们的滑雪景观是3D的,但典型的误差景观可能有数百万个维度。在这样的空间中,我们有很多山谷,所以很容易找到一个好的解决方案,但我们也有很多鞍点,这使得事情变得非常困难。

小七姐:Prompt Engineering a Prompt Engineer 精读翻译

³从梯度下降的角度看,第一步类似于计算梯度或调用loss.backward();第二步类似于应用梯度或调用optimizer.step()。从ReAct提示词(Yao等人,2023)的角度看,第一步是推理,第二步是行动。⁴Chen等人(2022)和Zhou等人(2023a)展示了大型语言模型可以遵循自然语言中指定的文本生成约束。