![企业级AI技术内幕:深度学习框架开发+机器学习案例实战+Alluxio解密](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/36862212/b_36862212.jpg)
9.1 梯度下降陷阱
接下来我们来看梯度下降过程中有可能导致的各种问题:
第一种问题,如图9-5所示,变化率可能一开始太陡峭了,导致调整的时候从左侧一下跳到了右侧,又从右侧一下跳到了左侧,然后又从左侧跳到了右侧,始终不能趋近底部,这是很可能发生的情况。即使有更多的训练数据,也无法达到变化率为0的点,这是比较糟糕的状况。尤其变化率非常陡峭时,一下从最左侧跳到最右侧,又一下从最右侧跳到最左侧……,结果是离底部越来越远,这是个悲剧,花了很大的精力且用了很多的数据,训练出来的偏差实质上越来越大,这不是我们希望看见的。对于这种情况,我们要怎么处理?这是神经元网络必须解决的最基本的问题。按照我们最原始的算法,要调整的时候可以想到很多办法,如果梯度步伐太大,容易出一些问题,将步伐调小一点就行了。例如,在每次调整权重的时候要减去变化率,那么将变化率乘以一个系数α,系数α为0~1,就可以有效解决面临的问题。
图9-6是优化以后的状态。我们将变化率乘以一个系数α,α一般设置为0.1、0.01等,就能有效避免步伐过大的问题。首先计算当前状态的变化率,然后使用当前的权重减去变化率与系数α的乘积,x=x–(α*slope),一直训练到变化率等于0。
在梯度下降过程中,第一种问题是步伐过大,步伐不合适会导致圆点永远不能到达底部。第二种问题是局部最小值,图9-6所示的梯度下降过程非常单纯,只有一个最低点,但生产环境中数据的维度可能很多,在进行收敛的时候可能会到达一个局部的最小值,如图9-7所示,这种情况处理起来较麻烦。
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P142_24520.jpg?sign=1739054311-W6KsDzNur6pu40SWgG0YZwpwkEzn6GnU-0-361e99ee72e1c3726787ad53b18f8c70)
图9-5 变化率陡峭
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P142_24538.jpg?sign=1739054311-U3SxlvBElDe0A7pS4NeJDlRg3WnwkOEV-0-2b8b8179a04ea3a873e182dad2ed5df4)
图9-6 用变化率乘以系数来优化
如图9-8所示,我们要克服将局部的最低点误认为是全局的最低点问题。将收敛的空间划分成5个部分,找出每个部分的局部最低点,也就是变化率为0的状态。找到5个部分中每一个变化率为0的状态以后,进行比较,找到全局最低点,这是比较朴素的思路。
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P142_24551.jpg?sign=1739054311-ckNlVf6wcl9RIG6grJZqDf4jEDNUqtGU-0-0ee2adf12cc1b28edab63e22e3804d45)
图9-7 局部最小值
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P142_24577.jpg?sign=1739054311-QvVqFcZgQPqJkjZD4Mdxq1tYhDLQeKGe-0-a26e0908af1cccf22dac792c2460e8ce)
图9-8 多个局部最低点
第三个问题,在梯度下降过程中,步伐可能太小,步伐如果太小,就像人走路,每步本来可以移动50cm,但是如果担心下一步掉到悬崖,就小心翼翼,每步只移动1mm,这就太夸张了。图9-9描述了这种情况,这也是很不好的一种情况,因为资源是很昂贵的,计算时间特别长,训练结果又不太好,步伐太大时在更新权重的时候,是每次乘以一个系数α(α为0~1),这里做优化时也要乘以一个α,不过这里的α值不是0~1,而是要大于1。
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P142_24617.jpg?sign=1739054311-ijUJaVq458qv15rZNS1qrjZZtktFG6iB-0-4e855dcb867787b7973884ed02fb1981)
图9-9 步伐过小的问题
以上是梯度下降可能出现问题的三种情况,我们提出相应的解决方案,一般是由算法来支撑解决。