1.自适应学习率:
1.1什么是学习率?
- 模型每次更新参数的步幅大小
- 学习率过大会导致训练过程不稳定,甚至无法收敛;学习率过小,使得训练缓慢,难以跳出局部最小值。
1.2什么是自适应学习率?
- 在训练过程中,可以根据不同条件自动调整,不是固定不变的。
- 可以在模型训练的早期阶段使用较大的学习率,加速收敛;在训练的后期阶段使用较小的学习率,精细调整模型参数,避免跳过全局最优点。 LR从大变小。
2.AdaGrad:自适应学习率方法
通过计算每个参数在历史上所有梯度平方和的累加值,来对学习率进行调整,使得频繁出现大梯度的参数学习率逐渐减小,较小梯度的参数学习率则相对较大。
3.RMSProp:
RMSProp 的核心思想是通过维护一个指数衰减的梯度平方的平均值,来调整每个参数的学习率。这样可以避免学习率在某些维度上过大或过小,从而稳定训练过程。
3.1优点:
- 自适应性学习率: 自动调整参数的学习率,无需手动调整。
- 解决震荡问题: 训练时,能平滑的更新,即使在陡峭的损失平面上也不会出现梯度更新过大导致的震荡。
- 适合非平稳目标:对于函数波动较大的情况,RMSPop要优于传统的优化算法
3.2与其他优化算法的比较:
3.Adam:
- 最常用的优化策略/优化器。
- 可以看做RMSProp加上动量,它使用动量作为参数更新方向,并且能够自适应调整学习率。
- PyTorch中已经写好了Adam优化器。
4.分类和回归:
- 分类:预测一个离散的类别标签,比如:预测房价,股票价格;气温预测。分类模型的损失函数通常用交叉熵损失。
- 回归:预测一个连续的数值。比如:图像分类;垃圾邮件检测。
5.Softmax函数与交叉熵误差的关系?
在深度学习的多分类任务中,Softmax函数和交叉熵误差通常结合使用。Softmax函数将模型的输出(未归一化的得分)转换为概率分布,然后通过交叉熵误差来衡量这个分布与真实分布之间的差异。
举例说明: