网络知识 娱乐 深度学习入门(15)

深度学习入门(15)

从page102继续往下,

如下图所示,f(x0,x1) = x0^2 +x1^2 的梯度呈现为有向向量(箭头)。观察下图,我们发现梯度指向函数f(x0,x1) 的“最低处”(最小值),就像指南针一样,所有的箭头都指向同一点。其次,我们发现离“最低处”越远,箭头越大。

深度学习入门(15)

f(x0,x1) = x0^2 + x1^2 的梯度


上面这个图,其实用三维的切线更好理解,梯度就是求某个方向固定的时候(二维场景下,比如x1固定,x0变化),就是求相交曲线中x0斜率,如下图所示。越偏离最低点(0,0),斜率变化越快,数值越高。-by 飞霜

深度学习入门(15)

如果x1固定,就沿着x0的方向切一刀和图像相交的曲线的斜率

虽然上图的梯度指向了最低处,但并非任何时候都这样。实际上,梯度会指向各点处的函数值降低的方向。更严格地讲,梯度指示的方向是各点处的函数值减少最多的方向,这是一个非常的重要的性质。

高等数学告诉我们,方向导数 = cos() * 梯度 (是方向导数的方向与梯度方向的夹角)。因此所有的下降方向中,梯度方向下降最多。

知乎这篇文章对方向导数解释的蛮清楚的:https://www.zhihu.com/question/36301367,https://blog.csdn.net/weixin_42018112/article/details/88079998


深度学习入门(15)

偏导数、方向导数、梯度的描述

偏导数只能表示多元函数沿某个坐标轴方向的导数,如对于二元函数z = x 2 + y 2 z=x^2+y^2z=x2+y2 ,∂ z ∂ x = 2 x {{partial z} over {partial x}} = 2x∂x∂z=2x表示函数沿X XX轴方向的导数,而∂ z ∂ y = 2 y {{partial z} over {partial y}} = 2y∂y∂z​=2y表示函数沿Y YY轴方向的导数。

除开沿坐标轴方向上的导数,多元函数在非坐标轴方向上也可以求导数,这种导数称为方向导数。很容易发现,多元函数在特定点的方向导数有无穷多个,表示函数值在各个方向上的增长速度。一个很自然的问题是:在这些方向导数中,是否存在一个最大的方向导数,如果有,其值是否唯一?为了回答这个问题,便需要引入梯度的概念。

一般来说,梯度可以定义为一个函数的全部偏导数构成的向量(这一点与偏导数与方向导数不同,两者都为标量)。事实上,梯度向量的方向即为函数值增长最快的方向,

4.4.1 梯度法

机器学习的主要任务是在学习时寻找最优参数。同样地,神经网路也必须在学习时找到最优参数(权重和偏置)。这里所说的最优参数是指损失函数取最小时的参数。但是,一般而言,损失函数很复杂,参数空间庞大,我们不知道它在何处能取得最小值。而通过巧妙地使用梯度来寻找函数最小值(或者尽可能小的值)的方法就是梯度法。

这里需要注意的是,梯度表示的是各点处的函数值减小最多的方向。因此,无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。实际上,在复杂的函数中,梯度指示的方向基本上都不是函数值最小处。

函数的极小值、最小值以及被称为鞍点的地方(saddle point)的地方,梯度为0.极小值是局部最小值,也就是限定在某个范围内的最小值。安电视从某个方向上看是极大值,从另一个方向上看则是极小值的点。虽然梯度法是要寻找梯度为0的地方,但是那个地方不一定是最小值,(也有可能是极小值或者鞍点)。此外,当函数很复杂且呈扁平状时,学习可能会进入一个(几乎)平坦的地区,陷入被称为”学习高原”的无法前进的停滞期。


虽然梯度的方向并不一定指向最小值,但沿着它的方向能够最大限度地减少函数的值。因此,在寻找函数的最小值(或者尽可能小的值)的位置的任务中,要以梯度的信息为线索,决定前近的方向。

此时梯度法就派上用场了,在梯度法中,函数的取值从当前位置沿着梯度方向前进一定距离,然后在新的地方重新求梯度,再沿着新梯度方向前进,如此反复,不断地沿梯度方向前进。像这样,通过不断地沿梯度方向前进,逐渐减少函数值的过程就是梯度法(gradient method)梯度法是解决机器学习中最优化问题的常用方法,特别是在神经网络的学习中经常被使用。

根据目的是寻找最小值还是最大值,梯度法的叫法有所不同。严格的讲,寻找最小值的梯度法称为梯度下降法(gradient descent method),寻找最大值的梯度法称为梯度上升法(gradient ascent method)。但是通过反转损失函数的符号,求最小值的问题和求最大值的问题会变成相同的主题,因此“下降” 还是 “ 上升”的差异本质上并不重要。一般来说,神经网络(深度学习)中,梯度法主要是指梯度下降法。


看到page104. 其实已经读到前面了,打字还是很费力。。

明天继续。