吴恩达深度学习复习: Optimization 最优化算法
Jog My Mind 最优化算法都有哪些?
梯度下降Gradient Descent
w_new = w_old + alpha * dL/dw
最优化算法的优化:
1.SGD & Mini-batch Gradient descent
mini_batch size:2的指数次方 需要调参么?
细节:将样本shuffle一下再做mini_batch
2.指数加权平均 (算法名字:Momentum 动量--模拟物理小球下滚)
目的:减少对最优化没有作用的波动,加快优化朝最优解走去的速度。
怎么加权的来着?想起那个图。图中箭头代表权重的更新方向(即梯度),横向和竖向分别代表一个参数,对梯度求指数加权平均,然后用这个平均值来做梯度更新。
指数加权平均计算方法? 距离当前时间点越远的权重越低
v_t+1 = beta*v_t + (1-beta) * at
用0.9约等于用到了过去10天的,用0.999约等于用了过去1000天的()
注意:
1) beta = 0 --> 普通的梯度更新算法 一般beta = 0.9比较好用 尝试范围(0.8~0.999)
2)v0 = 0
3)指数加权平均有个bias correction
v_t/(1-beta^t)
3.加了平方和项(Adam算法,平方和项算法叫RMSProp )
梯度/梯度的平方和的指数加权平均: 作用 减少波动大的方向(对损失函数作用小的方向)的波动
Adam算法 要做bias-correction
Adam算法除以平方和的时候记得加一个极小的数防止出现除数为0的情况
4.Learning rate decay
网友评论