Dota居然《原来你还在这里》更新啊,现在是谁在做

1. Gradient descent: 最早的训练方法在进行每一次梯度下降时,处理整个数据集做一次更新,其优点是cost function 总是向减小的方向下降; 但如果数据集很大处理速度就会比较慢。

 
2. 随机梯度下降 SGD:对每一个训练样本执行一次梯度下降;缺点是丢失了向量化带来的加速而且虽然每次向最小值方向下降,但由于单个样本的噪声无法达到全局最小值点,会呈现波动的形式
 

记得分割时处理残留非完整batch。
 
 
 
 
 
 
 


Q8. 梯度下降的优化方法
背景知识:指数加权平均

理解指数加权平均嘚意义可以从下面实例开始:







可以看出vt 是对每天温度的加权平均;加权系数随时间以指数递减,时间越靠近权重越大,因而称为指数加权平均
另外,考察一下加权系数 β 的作用:

β=0.9 红线表示最近10天的加权平均
β=0.98 绿线,表示最近50天的加权平均
β=0.5 黄线表示最近2天的加權平均


另外理论上可以加上 进行修正,但在实践操作中不常使用。






如果用原来的更新方法较大的学习率会导致偏离函数范围,因而只能用较小的学习率但这样会比较慢。因此利用动量的原理在纵轴上由于上下波动,平均后近似为0 水平方向平均后仍旧较大,可前进从而导致整体的梯度呈现在横轴前进的趋势。减少了纵轴的波动
 
 
 
 
 
 






与上面唯一不同的是使用了微分平方加权平均数;消除了摆动幅度的方向,修正了摆动幅度使各维度摆动幅度较小,使网络收敛更快例如,纵轴维度摆动幅度大因而S就大,将其作为除数使得 1/sqrt(S) 就小,1/sqrt(S)僦是该方向更新的梯度值就小;同理 S 较小的时候,波动较小倒数之后就大,该方向更新就多
 
 
 
 
 
 









 
 
 
 

在训练中,如果使用统一的学习率在朂小值附近,由于样本的固有噪声会产生一定的波动,因而难以精确收敛所以提出使用学习率衰减,在初始状态使用较大的学习率,可以更快的移动当靠近最小值附近,使用较小的学习率更容易找到最优点。




(4) 离散下降 分段使用不同的 α

参考资料

 

随机推荐