- 随机梯度下降SGD:
- 随机选择一个样本作为输入更新一次权值和偏置,可能会有偏差,即每次前进的方向不一定是正确的,会波动
- 核心:学习率,一般希望学习率满足robbins-monroe条件:
- 所有学习率求和等于无穷:保证无论起点如何,都能找到一个局部最优解
- 所有学习率的平方求和<无穷:控制振荡
- 动量:核心:在梯度方向一致的地方加速,在梯度方向不断改变的地方减速
- 涅斯捷罗夫动量(涅斯捷罗夫梯度加速法):参考梯度下降算法及其改进方法详解_LVLV苗的博客-CSDN博客_梯度下降法改进
- adagrad:
- 一种设置学习率的自适应方法
- 梯度与学习率:
- 当梯度进行小幅度变化时,需要一个大的学习率来快速达到最优解
- 当梯度非常大时,使用大的学习率会导致非常大的步长,来回振荡无法达到最优值。
- 所以设置学习率时需要考虑梯度,adagrad通过积累到目前为止所有梯度的平方,并将学习率除以这个搜和的平方来实现。所以获得高梯度的参数会降低其有效学习率,获得小梯度的参数将增加其学习率。
- rmsprop:将梯度的累积变成了指数加权的移动平均值,即不考虑距离很远的梯度值。因为使用adagrad时,即使在训练开始阶段累积的梯度导致的梯度保持不变,其学习率也会降低,此处通过引入指数鉴权移动平均值,给更近的历史梯度值更大的权重。
- adam:可以被看做是rmsprop和动量组合的一个变体
- (一些不太相关的笔记)为什么常使用均方误差作为模型的损失函数:网络的目标是输出的准确率,但没有直接将正确率最大化最为目标而是使用均方误差是因为:神经网络的正确率不是关于权值和偏置的光滑函数。即权值和偏置的微小变化不一定能引起正确率的变化,所以不能用过正确率来不断修改w和b来提升性能
神经网络优化算法---学习记录
最新推荐文章于 2024-07-18 16:36:43 发布