梯度下降

作者: DonkeyJason | 来源:发表于2018-07-21 09:58 被阅读0次

    输出的具体过程


    image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

    如 Luis 所说,用梯度下降,我们通过多个小步骤来实现目标。在这个例子中,我们希望一步一步改变权重来减小误差。借用前面的比喻,误差就像是山,我们希望走到山下。下山最快的路应该是最陡峭的那个方向,因此我们也应该寻找能够使误差最小化的方向。我们可以通过计算误差平方的梯度来找到这个方向。
    梯度是改变率或者斜度的另一个称呼。如果你需要回顾这个概念,可以看下可汗学院对这个问题的讲解
    要计算变化率,我们要转向微积分,具体来说是导数。一个函数 f(x) 的导函数 f​′​​(x) 给到你的是 f(x) 在 x 这一点的斜率。例如 x​2​​ ,x​2​​ 的导数是 f​′​​(x)=2x。所以,在 x=2 这个点斜率 f​′​​(2)=4。画出图来就是:

    image.png

    梯度示例

    梯度就是对多变量函数导数的泛化。我们可以用微积分来寻找误差函数中任意一点的梯度,它与输入权重有关,下一节你可以看到如何推导梯度下降的步骤。

    下面我画了一个拥有两个输入的神经网络误差示例,相应的,它有两个权重。你可以将其看成一个地形图,同一条线代表相同的误差,较深的线对应较大的误差。
    每一步,你计算误差和梯度,然后用它们来决定如何改变权重。重复这个过程直到你最终找到接近误差函数最小值的权重,即中间的黑点。

    image.png

    Gradient descent steps to the lowest error

    注意事项
    因为权重会走向梯度带它去的位置,它们有可能停留在误差小,但不是最小的地方。这个点被称作局部最低点。如果权重初始值有错,梯度下降可能会使得权重陷入局部最优,例如下图所示。

    image.png

    梯度下降引向局部最低点

    有方法可以避免这一点,被称作 momentum.

    相关文章

      网友评论

        本文标题:梯度下降

        本文链接:https://www.haomeiwen.com/subject/dqfvpxtx.html