15.1 优化与深度学习
15.1.1 优化与深度学习
- 优化目标
- 最小化目标函数
- 降低泛化误差
- 避免过拟合
- 挑战
- 局部最小值
- 鞍点
15.1.2 局部最小值
-
深度学习模型的目标函数可能有若干局部最优值。
15.1.3 鞍点
-
当前解在鞍点(saddle point)附近
15.1.4 提高深度学习的泛化能力
- 使用更多数据
- 使用更大批次
- 调整数据分布
- 调整目标函数
- 调整网络结构
- 数据增强
- 权值正则化
- 屏蔽网络节点
15.2 优化器-1
15.2.1 动量法
-
基本的想法就是计算梯度的指数加权平均数,并利用该梯度更新你的权重
-
动量法的提出是为了解决梯度下降的不稳定性。
- 指数加权移动平均
-
给定超参数0≤γ < 1,当前时间步t的变量yt是上一时间步t-1的变量yt-1和当前时间步另一变量xt的线性组合:
-
可以对y_t展开:
-
给定超参数0≤γ < 1,当前时间步t的变量yt是上一时间步t-1的变量yt-1和当前时间步另一变量xt的线性组合:
-
指数加权移动平均
-
由指数加权移动平均理解动量法
15.2.2 AdaGrad算法
- 目标函数自变量的每一个元素在相同时间步都使用同一个学习率来自我迭代
- AdaGrad算法
-
根据自变量在每个维度的梯度值的大小来调整各个维度上的学习率,从而避免统一的学习率难以适应所有维度的问题
-
根据自变量在每个维度的梯度值的大小来调整各个维度上的学习率,从而避免统一的学习率难以适应所有维度的问题
-
AdaGrad算法会使用一个小批量随机梯度Gt按元素平方的累加变量St 。
-
接着,将目标函数自变量中每个元素的学习率通过按元素运算重新调整一下:
15.2.2.1 AdaGrad特点
- 需要强调的是,小批量随机梯度按元素平方的累加变量St出现在学习率的分母项中。
- 因此,如果目标函数有关自变量中某个元素的偏导数一直都较大,那么该元素的学习率将下降较快;
- 反之,如果目标函数有关自变量中某个元素的偏导数一直都较小,那么该元素的学习率将下降较慢。
- 由于St一直在累加按元素平方的梯度,自变量中每个元素的学习率在迭代过程中一直在降低(或不变)。
- 当学习率在迭代早期降得较快且当前解依然不佳时,AdaGrad算法在迭代后期由于学习率过小,可能较难找到一个有用的解。
大数据视频推荐:
腾讯课堂
CSDN
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通
- 当学习率在迭代早期降得较快且当前解依然不佳时,AdaGrad算法在迭代后期由于学习率过小,可能较难找到一个有用的解。