本文是接着上一篇深度学习之 7 深度前馈网络2_水w的博客-CSDN博客
目录
(1)批量梯度下降(batch gradient descent)
(2)随机梯度下降(stochastic gradient descent)
(3)小批量梯度下降(minibatch gradient descent)
(4)随机梯度下降 vs 批量梯度下降 vs 小批量梯度下降
(3)周期性学习率调整
2)Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
深度模型优化与正则化
1.网络优化
(1)非凸优化问题
(2)网络优化的改善方法
改善网络优化的方法的目标是找到更好的局部最小值和提高优化效率。
2.小批量梯度下降
(1)批量梯度下降(batch gradient descent)
每次更新都使用整个训练集数据;需要较多计算资源(有一万个样本,我就需要计算一万次);
(2)随机梯度下降(stochastic gradient descent)
每次只挑选一个样本,只用一个样本来计算梯度。
(3)小批量梯度下降(minibatch gradient descent)
➢ 选取包含𝐾个样本的小批量(MiniBatch)样本集𝑆𝑡,计算偏导数:
➢ 定义梯度:
➢ 更新参数:
(4)随机梯度下降 vs 批量梯度下降 vs 小批量梯度下降
(5)批量大小(batch-size) K 的影响
3.学习率与梯度优化
(1)学习率衰减
分类:
这几种方法都是单调递减的,肯定学习率会越来越小的,那么这种学习率一开始最大,后来越来越小的方法一定是很合适的吗?它也存在着问题。
(2)学习率预热
这种预热是一个先上升,再下降的过程。那么有时候我们为了逃离局部最小值或者鞍点,我们周期性地增大学习率,不能让它到顶点就单调下降,单调下降到一定程度之后又突然增加,学习率突然增加意味着参数变化突然加快,突然加快就意味着可以跳出局部极值点。
(3)周期性学习率调整
(4)从学习率衰减到自适应学习率
◼ AdaGrad算法:Adaptive Gradient Algorithm
1)该算法借鉴了L2正则化的思想,每次迭代时,自适应地调整每个参数的学习率。
2)局限:在经过一定次数的迭代依然没有找到最优点时,由于这时的学习率已经非常小,很难再继续找到最优点。
◼ RMSprop算法
1)将Gt的计算由“梯度的平方的累积”方式变成了“梯度平方的指数衰减移动平均”, 可以在有些情况下避免AdaGrad算法中学习率不断单调下降以至于过早衰减的缺点。
2)具体展开:
(5)梯度修正
1) 动量法:为了逃出极值点
◼