梯度下降

  1. 梯度下降包含了三个要素,即当前点、方向和步长。“梯度下降”一词涵盖了两层含义:一是“梯度”,它是当前点函数值上升最快的方向;二是“下降”,它表示选取的方向与函数的导数方向相反。<br /> 梯度下降过程中的步长常被称为学习率,学习率的选取将会对梯度下降的最终结果造成影响。学习率的大小所造成的影响大致可有如下表格描述:<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/2711349/1602945228963-9e2d3b9a-0504-48bd-8667-f84a6420a886.png#align=left&display=inline&height=192&margin=%5Bobject%20Object%5D&name=image.png&originHeight=258&originWidth=731&size=106543&status=done&style=none&width=543)

梯度检查

  1. 为了确认代码中反向传播计算的梯度是否正确,提出了梯度检查这一概念。神经网络算法使用反向传播计算目标函数关于每个参数的梯度,可以看做解析梯度;利用数值微分可以求解每一步的数值梯度。我们可以l通过计算数值梯度,得到梯度的近似值,然后和反向传播得到的解析梯度进行比较,若两者相差很小的话则证明反向传播的代码是正确无误的。这样,我们就有了判断每一步计算梯度是否正确的方法。