版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_27643275/article/details/81946959
梯度下降算法 |
优点 |
缺点 |
BGD(batch) |
1、相对噪声低 2、凸函数可以收敛到全局小值 |
|
SGD |
1、收敛速度快 2、有机会跳出局部最小值 |
1.失去所有向量化带来的加速(无法利用矩阵操作加速计算过程) 2.噪声大 3.永远不会收敛,一直在最小值附近波动
|
Mini-batch SGD (一般提到的SGD是Mini-batch SGD) |
|
不能收敛到最小值,在最小值附近波动
|
Momentum
|
收敛速度非常快 |
参数采用相同的学习率,对于稀疏数据不友好 |
Adagrad |
为不同的参数设置不同的学习率,易于处理稀疏数据
|
学习率不断较小最终达到一个非常小的值,模型学习速度很慢 |
RMSprop |
|
相对于Adagrad收敛速度慢 |
Adam |
1、结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点
|
可能不收敛或者收敛到局部最小值 |
1.SGD + Momentum
被大量用在CNN 、NLP 问题上
2.Adam + SGD
Adam加速收敛过程,可能陷入到局部最小值或无法收敛,此时用小学习率 SGD 帮助 adam 跳出局部最小值。