前言
在训练模型时,会使⽤优化算法不断迭代模型参数以降低模型损失函数的值
本节详细学习常用的优化算法
- 梯度下降
- 动量法
- AdaGrad算法
- RMSProp算法
- AdaDelta算法
- Adam算法
1、优化算法的挑战
优化算法的⽬标函数通常是⼀个基于训练数据集的损失函数
优化的⽬标在于降低训练误差
通常会遇上两个挑战
- 局部最小值
- 鞍点
局部最小值
- 如果f(x)在x上的值⽐在x邻近的其他点的值更小,那么f(x)可能是⼀个局部最小值(local minimum)
- 如果f(x)在x上的值是⽬标函数在整个定义域上的最小值,那么f(x)是全局最小值(global minimum)
当⼀个优化问题的数值解在局部最优解附近时,由于⽬标函数有关解的梯度接近或变成零,最终迭代求得的数值解可能只令⽬标函数局部最小化而⾮全局最小化
鞍点
梯度接近或变成零也可能是由于当前解在鞍点(saddle point)附近
如果在深度学习训练过程中,损失函数落到了局部最小值和鞍点上&