独家连载 | 理解梯度下降法

4.3.2 梯度下降法(Gradient Descent)二维例子

4.2.1中我们已经知道了代价函数的定义,代价函数的值越小,说明模型的预测值越接近真实标签的值。代价函数中的预测值y是跟神经网络中的参数w和b相关的。我们可以先考虑一个简单的情况,假如神经网络只有一个参数w,参数w与代价函数loss的关系如图4.2所示:
独家连载 | 理解梯度下降法

假设w的初始值是-3,我们需要使用梯度下降法来不断优化w的取值,使得loss值不断减少,首先我们应该先计算w=-3时的梯度,如图4.3所示:
独家连载 | 理解梯度下降法

从图4.3中我们可以看出,当w为-3时,w所处位置的梯度应该是一个负数,梯度下降法在优化代价函数的时候,是沿着负梯度方向去减小代价函数的值,所以负梯度是一个正数,w的值应该变大。根据梯度下降法的优化公式:
独家连载 | 理解梯度下降法

学习率η一般是一个大于0的数,独家连载 | 理解梯度下降法
为负数,我们可以判断出w的值会变大。变大的数值跟学习率大小η有关,也跟函数f在w处的梯度大小有关。

假设w变大移动到了w=2的位置,我们需要再次计算w=2时的梯度,如图4.4所示:
独家连载 | 理解梯度下降法

从图4.4中我们可以看出,当w为2时,w所处位置的梯度应该是一个正数,梯度下降法在优化代价函数的时候,是沿着负梯度方向去减小代价函数的值,所以负梯度是一个负数,w的值应该变小。根据梯度下降法的优化公式4.7。

学习率η一般是一个大于0的数,独家连载 | 理解梯度下降法为正数,我们可以判断出w的值会变小。变小的数值跟学习率大小η有关,也跟函数f在w处的梯度大小有关。

我们可以发现不管w处于那一个位置,当w向着负梯度的方向进行移动时,实际上就是向着可以使loss值减小的方向进行移动。这就有点类似一个小球在山坡上面,它总是往坡底的方向进行移动,只不过它每一次是移动一步,这个步子的大小会受到学习率和所处位置梯度的大小所影响。

4.3.3 梯度下降法(Gradient Descent三维例子

我们可以再考虑一个稍微复杂一点点的情况,假如神经网络有两个参数w1和w2,参数w1和w2与代价函数loss的关系如图4.5所示:
独家连载 | 理解梯度下降法

我们在图中随机选取两个w1和w2的初始值p1和p2,然后从p1,p2这两个初始位置开始使用梯度下降法优化网络参数,得到如图4.6中的结果:
独家连载 | 理解梯度下降法

图4.6中可以看到网络参数的优化过程其实就是p1,p2两个“小球“从初始点开始,每次移动一步,不断向坡地进行移动。在这个过程中整个网络的loss值是在不断变小的。

同时我们还可以观察到一个现象,p1“小球“最后走到了图中的全局最小值(global minimum),而p2“小球”最后走到的位置是一个局部极小值(local minimum)。说明我们在使用梯度下降法的时候不同的初始值的选取可能会影响到最后的结果,有些时候我们可以得到loss的全局最小值,或者称为全局最优解。而有些时候我们得到的结果可能是loss的局部极小值,或者称为局部最优解。这算是梯度下降法存在的一个问题。

作者介绍

独家连载 | 理解梯度下降法