网站制作公司的宣传海报,个人网站没人访问,广告发布网站开发,新手怎样做网络推广文章目录1. Mini-batch 梯度下降2. 理解 mini-batch 梯度下降3. 指数加权平均数4. 理解指数加权平均数5. 指数加权平均的偏差修正6. 动量Momentum梯度下降法7. RMSprop8. Adam 优化算法9. 学习率衰减10. 局部最优的问题作业参考#xff1a; 吴恩达视频课 深度学习笔记
1. Min…
文章目录1. Mini-batch 梯度下降2. 理解 mini-batch 梯度下降3. 指数加权平均数4. 理解指数加权平均数5. 指数加权平均的偏差修正6. 动量Momentum梯度下降法7. RMSprop8. Adam 优化算法9. 学习率衰减10. 局部最优的问题作业参考 吴恩达视频课 深度学习笔记
1. Mini-batch 梯度下降
在巨大的数据集上进行训练速度非常慢如何提高效率
前面我们学过向量化可以较快的处理整个训练集的数据如果样本非常的大在进行下一次梯度下降之前你必须完成前一次的梯度下降。如果我们能先处理一部分数据算法速度会更快。
把训练集分割为小一点的子集称之 mini-batch训练 batch 梯度下降法指的就是前面讲的梯度下降法可以同时处理整个 训练集 mini-batch每次处理的是单个的 mini-batch 训练子集 2. 理解 mini-batch 梯度下降 mini-batch 梯度下降每次迭代后 cost 不一定是下降的因为每次迭代都在训练不同的样本子集但总体趋势应该是下降的
mini-batch 的 size 大小
大小 m就是batch梯度下降法大小 1就是随机梯度下降 3. 指数加权平均数 假设v00,vtβ∗vt−1(1−β)∗θtv_0 0, v_t \beta*v_{t-1}(1-\beta)*\theta_tv00,vtβ∗vt−1(1−β)∗θt 选取不同的 β\betaβ 值得到相应的气温曲线
4. 理解指数加权平均数
假如 β0.9t100\beta 0.9t100β0.9t100将上面的带进去求 v100v_{100}v100
v1000.1θ1000.9(0.1θ990.9(0.1θ980.9v97))0v1000.1θ1000.1×0.9θ990.1×(0.9)2θ980.1×(0.9)3θ970.1×(0.9)4θ96…\begin{array}{l}v_{100}0.1 \theta_{100}0.9\left(0.1 \theta_{99}0.9\left(0.1 \theta_{98}0.9 v_{97}\right)\right)_{0} \\ \\ v_{100}0.1 \theta_{100}0.1 \times 0.9 \theta_{99}0.1 \times(0.9)^{2} \theta_{98}0.1 \times(0.9)^{3} \theta_{97}0.1 \times(0.9)^{4} \theta_{96}\ldots\end{array}v1000.1θ1000.9(0.1θ990.9(0.1θ980.9v97))0v1000.1θ1000.1×0.9θ990.1×(0.9)2θ980.1×(0.9)3θ970.1×(0.9)4θ96… 好处代码简单占用内存极少
vθ0,vt:β∗vθ(1−β)∗θtv_\theta 0, v_t : \beta*v_\theta(1-\beta)*\theta_tvθ0,vt:β∗vθ(1−β)∗θt 当然它并不是最好、最精准的计算平均数的方法
5. 指数加权平均的偏差修正 6. 动量Momentum梯度下降法
思想计算梯度的指数加权平均数利用该梯度更新权重 上图情况下标准的梯度下降会上下波动且要使用较小的学习率否则会偏离更远。
如果我们使用过去梯度的加权平均纵向的就抵消了一些横向的叠加了一些可以更平滑的快速找向最优点
vdWβvdW(1−β)dWvdbβvdb(1−β)dbv_{d W}\beta v_{d W}(1-\beta) d W\\ v_{d b}\beta v_{d b}(1-\beta) d bvdWβvdW(1−β)dWvdbβvdb(1−β)db W:W−α∗vdWb:b−α∗vdbW:W-\alpha* v_{d W} \\ b:b-\alpha* v_{d b}W:W−α∗vdWb:b−α∗vdb
超参数有 α\alphaα β0.9\beta 0.9β0.9 β\betaβ 经常取 0.9如果想偏差修正vdW,vdbv_{d W},v_{d b}vdW,vdb 还要除以 1−βt1-\beta^t1−βt实际上人们不这么做10次迭代之后偏差就基本很小了
动量梯度下降法并不是对所有情况都有效它对碗状的优化效果较好
7. RMSprop
全称是 root mean square prop 算法它也可以加速梯度下降
微分平方的加权平均数 SdWβSdW(1−β)(dW)2SdbβSdb(1−β)(db)2S_{d W}\beta S_{d W}(1-\beta) (d W)^{2}\\ S_{d b}\beta S_{d b}(1-\beta) (d b)^{2}SdWβSdW(1−β)(dW)2SdbβSdb(1−β)(db)2
W:W−α∗dWSdWEb:b−α∗dbSdbEW:W-\alpha* \frac{d W}{\sqrt{S_{d W}}\mathcal{E}}\\ \\ \text{ }\\ \quad b:b-\alpha* \frac{d b}{\sqrt{S_{d b}}\mathcal{E}}W:W−α∗SdWEdW b:b−α∗SdbEdb E1e−8\mathcal{E} 1e^{-8}E1e−8 保证分母不为 0
RMSprop 跟 Momentum 有很相似的一点可以消除梯度下降和mini-batch梯度下降中的摆动并允许你使用一个更大的学习率从而加快你的算法学习速度。
8. Adam 优化算法
Adam (Adaptive Moment Estimation) 优化算法基本上就是将 Momentum 和 RMSprop 结合在一起
初始化vdW0,SdW0,vdb0,Sdb0v_{d W}0, S_{d W}0, v_{d b}0, S_{d b}0vdW0,SdW0,vdb0,Sdb0t 次迭代 Momentum vdWβ1vdW(1−β1)dWv_{d W}\beta_{1} v_{d W}\left(1-\beta_{1}\right) d WvdWβ1vdW(1−β1)dW vdbβ1vdb(1−β1)dbv_{d b}\beta_{1} v_{d b}\left(1-\beta_{1}\right) d bvdbβ1vdb(1−β1)db RMSprop SdWβ2SdW(1−β2)(dW)2S_{d W}\beta_{2} S_{d W}\left(1-\beta_{2}\right)(d W)^{2}SdWβ2SdW(1−β2)(dW)2 Sdbβ2Sdb(1−β2)(db)2S_{d b}\beta_{2} S_{d b}\left(1-\beta_{2}\right)(d b)^{2}Sdbβ2Sdb(1−β2)(db)2 偏差修正 vdWcorrected vdW1−β1tv_{d W}^{\text {corrected }}\frac{v_{d W}}{1-\beta_{1}^{t}}vdWcorrected 1−β1tvdW vdbcorrected vdb1−β1tv_{d b}^{\text {corrected }}\frac{v_{d b}}{1-\beta_{1}^{t}}vdbcorrected 1−β1tvdb SdWcorrected SdW1−β2tS_{d W}^{\text {corrected }}\frac{S_{d W}}{1-\beta_{2}^{t}}SdWcorrected 1−β2tSdW Sdbcorrected Sdb1−β2tS_{d b}^{\text {corrected }}\frac{S_{d b}}{1-\beta_{2}^{t}}Sdbcorrected 1−β2tSdb 更新权重 W:W−α∗vdWcorrected SdWcorrected εW:W- \alpha*\frac{ v_{d W}^{\text {corrected }}}{\sqrt{S_{d W}^{\text {corrected }}}\varepsilon}W:W−α∗SdWcorrected εvdWcorrected \quad b:b−α∗vdbcorreted Sdbcorrected εb:b- \alpha*\frac{v_{\mathrm{db}}^{\text {correted }}}{\sqrt{S_{\mathrm{db}}^{\text {corrected }}}\varepsilon}b:b−α∗Sdbcorrected εvdbcorreted Adam算法结合了 Momentum 和 RMSprop 梯度下降法并且是一种极其常用的学习算法 其被证明能有效适用于不同神经网络适用于广泛的结构 超参数
学习率 α\alphaαβ10.9\beta_1 0.9β10.9常用β20.999\beta_2 0.999β20.999作者推荐ε1e−8\varepsilon 1e^{-8}ε1e−8
9. 学习率衰减 慢慢减少 学习率 的本质在于在学习初期使用较大的步伐开始收敛的时候用小一些的学习率能让步伐小一些
对不同的 mini-batch 进行训练一次称之为 epoch α11decayRate∗epochNum∗α0\alpha \frac{1}{1decayRate*epochNum}*\alpha_0α1decayRate∗epochNum1∗α0
还有些其他的方法 α0.95epochNumα0αkepochNumα0αktα0t为mini-batch的数字\alpha 0.95^{epochNum}\alpha_0\\ \alpha \frac{k}{\sqrt {epochNum}}\alpha_0\\ \alpha \frac{k}{\sqrt t}\alpha_0t为 \text{mini-batch}的数字α0.95epochNumα0αepochNumkα0αtkα0t为mini-batch的数字 还有离散下降学习率即 不是每步都下调学习率
10. 局部最优的问题 高维度空间中我们不太可能遇见概率很低如上图所示的局部最优点因为需要这么多的维度方向上都梯度为 0概率很低
所以更有可能遇到的是鞍点 基本不会遇见局部最优问题可能遇见的是平稳段减缓了学习速度该区域梯度接近于 0 要很长时间才能走出去。Momentum 或 RMSpropAdam 能够加快速度让你尽早 走出平稳段。
作业
02.改善深层神经网络超参数调试、正则化以及优化 W2.优化算法作业优化方法 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步