|
|
|
|
移动端

2.5.1 最小值和梯度下降

《深度学习与计算机视觉:算法原理、框架应用与代码实现》本书全面介绍了深度学习及计算机视觉中最基础的知识,并结合最常见的应用场景和大量实例,带领读者进入丰富多彩的计算机视觉领域。作为一本“原理+实践”教程,本书在讲解原理的基础上,通过有趣的实例带领读者一步步亲自动手,不断提高动手能力,而不是枯燥和深奥原理的堆砌。本节为大家介绍最小值和梯度下降。

作者:叶韵来源:机械工业出版社|2017-10-23 16:55

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

2.5  数学优化基础

几乎所有的机器学习中,都面临减小模型预测值和数据之间误差的问题,这类问题一般都可以被转化为求一个目标函数的最小值问题,称为优化问题。本节将介绍和深度学习相关优化问题中的最基本的概念和几种常见方法。

2.5.1  最小值和梯度下降

下面用最简单的一维情况举例子,如图2-46所示。

如图2-46所示为一个一维函数的曲线。最中间的值是这个函数的最小值(global minima);最小值右边有一个局部最小值(local minima),又称为极小值。简单来说,对于一个给定的函数,优化问题就是寻找最小值的问题。

1.梯度下降法

俗话说“人往高处走,水往低处流。”很自然地我们会想到,如果把曲线的形状也看成山峰山谷,那么是否可以以一种方法模拟自然界中“水往低处流”的过程,来解决寻找最小值的问题呢?目前的答案就是梯度下降算法。

算法2-1  梯度下降法

给定目标函数f(x)和初始点x0

重复:

△xt  =  -▽f(xt)

xt+1  =  xt  +  η△xt

停止,如果  |△xt|  <  ε

算法描述不难理解,就是先求出所在位置的梯度,然后这个梯度取负就是x向着极小值前进的方向。x更新的时候,将梯度乘以一个系数η,控制更新时步长的大小,这个值称为学习率。对应到具体例子,来看在图2-46中最小值左边的方块。一开始方块所处的位置在全局最小值左边,并且单调下降就能够接近全局最小值。方块初始位置梯度很大,所以第一次迭代的箭头前进得比较多。第二次迭代的时候梯度小了一些,所以迭代步长也变小,不过最终接近了全局最小值。再来看右边的三角,可以看到迭代的步长也随着梯度的下降而减小。不过也正因为这个问题,三角进入右边的极小值之后,就被“陷”住了。

2.极值和鞍点

所以可以看到梯度下降的两个问题:第一,在梯度小的区域,算法的迭代速度会特别慢。从道理上讲,在梯度小的区域慢速迭代是合理的,但是在实际应用中,如果算法迭代到一个非常长但是梯度很小的区域时,就会陷入一种极其缓慢的停滞状态。比如图2-46中标出的一段梯度很小,很“平”的区域,这种区域称之为停滞区(plateau)。第二,如果存在一个梯度为0,或是梯度值小于更新的标准的区域,则算法会在此处停止迭代,而这个区域未必是全局最小值。最常见的一种情况之一是极小值,虽然不是全局最小,但是算法会在极小值停住。除了极小值,在优化中还有一种很常见的情况叫鞍点(saddle point),也就是在鞍点的梯度为0,但是又并非局部最大/小值。

极小值是一个比较容易形象理解的概念,即使在高维度无法形象想象,通过脑补也不难理解。鞍点则复杂一些,如图2-47中所示,分别是一维和二维鞍点的例子。

图2-47a是一维鞍点的例子,一般来说一维情况下鞍点的心态虽然会各不相同,但大都可以分为图2-47中的这两类:左边高右边低,或者左边低右边高。而到了二维的情况时,因为自由度变高了,则情况也复杂很多,比如图2-47b中左边的图,从一个方向上看去,两边高,在该方向上,鞍点所在位置是极小值。而和该方向垂直的方向则是个极大值,外型上看上去像个马鞍,这也是鞍点名字的由来。而图2-47b中右边的鞍点例子则是三个方向都较大,一个方向较小。因为自由度的增加,在二维情况下还能有很多种情况的鞍点。总体来说,随着维度的增加,由于定义和性质,极值点的情况总体还是不变,对于极小值,需要周围任意方向在一定范围内都大于极值所在。而鞍点则五花八门,各式各样。

所以随着维度的增加,如果稍微定性考虑一下极值和鞍点,对于任一个极值点,该点在任一维度上都是极值,而所有维度都是极值的概率,是相对而言最低的;相对于极值点,鞍点的条件则宽松一些,所以鞍点出现的概率会高很多;在实际算法优化的过程中,梯度很小的区域也就是停滞区,往往会让梯度下降法停滞很久,甚至当梯度小于一定值之后,停滞区事实上就和鞍点没什么区别了,这种情况发生的几率相对来说则更高。

所以总结起来,就是梯度下降法的问题基本都是由于鞍点/停滞区和极值导致。其中高维空间里,比起极值点来说,鞍点/停滞区是一个更普遍的让人头疼的问题。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

无懈可击的Web设计

一个网站,无论视觉上多美观或者内容多丰富,如果它不能适应各种浏览情况并能面向尽可能广泛的用户群,那它就不算是真正成功的网站。本书提...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊