深度学习优化方法总结

1、SGD

SGD算法是最基本的优化算法,首先批量采样,然后计算该批次样本的梯度,最后以学习率和梯度更新模型参数theta。

深度学习优化方法总结_第1张图片

2、SGD with momentum

相对SGD算法,多了参数v,用来统计历史梯度累计和,另外通过参数alpha来控制历史梯度累加和对当前参数更新的影响。

深度学习优化方法总结_第2张图片

3、SGD with Nesterov

和SGD with momentum算法的不同点在于,计算梯度之前先用历史梯度v更新了参数theta。

深度学习优化方法总结_第3张图片

4、AdaGrad

AdaGrad算法主要是对历史梯度变化值累加,用来更新学习率,参数偏导越大,学习率减少得越快,参数偏导越小,学习率减少得越慢。因为学习率的下降用了历史上所有的梯度平方值,可能会导致学习率下降得过快,因此只对某些模型比较有效。

深度学习优化方法总结_第4张图片

5、RMSProp

RMSProp算法相比AdaGrad多了一个参数,用来控制梯度平方历史累加值和新的梯度平方的比例,变成历史梯度平方的加权移动平均,可以减少时间太久的历史梯度值的影响,在非凸分布情况下效果更好。

深度学习优化方法总结_第5张图片

6、RMSProp with Nesterov momentum

相对RMSProp算法,不同点在于计算梯度前先更新了参数theta,后面更新参数theta时同时利用了梯度累加和v以及梯度平方累加和R。

深度学习优化方法总结_第6张图片

7、Adam

Adam算法引入了s、r作为一阶导数变量、二阶导数变量,分别控制历史累加值对当前的影响,来保证历史值对当前的影响比较平滑。另外,Adam算法对超参数的初始值不敏感。

深度学习优化方法总结_第7张图片

你可能感兴趣的:(深度学习优化方法总结)