第三章 深度学习基础
学习目标:
1.理解为什么优化会失败
2.学会对学习率进行调整
3.学习通过批量归一化改变误差表面
3.1 局部最小值与鞍点
3.1.1 临界点及其种类
我们一般将梯度为0的点统称为临界点,而临界点又可以分为局部最小值,局部最大值,和鞍点,
我们在深度学习的过程中有可能发现参数对损失函数微分为0的时候,梯度下降就不能更新参数了,训练就停下来了,损失也不再下降了。
由于我们没有一种方法来区别鞍点和局部最小值,鞍点周围是还有其他的点可以使损失降低。只要逃离鞍点,就有可能让损失更低。
3.1.2 判断临界值种类的方法
首先用泰勒级数近似来表示在目标点周围的损失函数
其中H为海森矩阵
3.2 批量和动量
将数据分为批量的时候的随机打乱有很多中不同的做法,一个常见的做法是在每一个回合开始之前重新划分批量,也就是说,每个回合的批量的数据都不一样。
3.2.1 批量大小对梯度下降法的影响
假设现在又20笔训练数据,以下是两个极端的情况
批量梯度下降法:批量的大小即为训练数据的大小,在模型看完20笔数据之后,才能计算损失和梯度,参数才能更新一次。
随机梯度下降法:批量大小等于1,每一个回合中,参数都要更新20次。这也意味着,每一笔数据算出来的损失相对带有更多的噪声。
相比 随机梯度下降,批量梯度下降每次更新更稳定,更准确。
大的批量和小的批量各有优缺点。
3.2.2 动量法
动量法是另外一个可以对抗鞍点或局部最小值的方法。