批量梯度下降,随机梯度下降SGD,小批量梯度下降,各种网络优化方法,动量、均方根传递(RMSprop)、Adam
2018-04-08 18:19
405 查看
for i in range(epchos): copmute dw,db update w=w-αdw,b=b-αdb如上,是普通梯度下降所需,每次需要计算所有样本对于SGD,每次取一个样本,计算梯度,更新,代码如下
for i in range(epchos): for j in num_examples: compute dw db update w,b = w,b-α(w,b)对一个样本计算梯度,很可能不是全局最优的,因此在收敛过程中多次振荡,但是优点之一是有可能在跳跃过程中找到更好的局部最优点,甚至是全局最优点。
Mini_batch GD:顾名思义,每次更新,选择的既不是一整个训练集,也不是一个样本,而是一个训练集的子集,一个小小的batch,然后每次进行更新计算这一个batch中的梯度。
for i in range (epchos): for j in range(num_batch): #每一个batch的size是一个超参数,自己设定,介于1到样本总数N之间,若batch_size去1则为SGD,取N则为批量梯度下降 compute dw,db update dw,db
比较:mini_batch更为稳定和方便,相比sgd,减少了波动性。相比于批量梯度下降,提高了更新速度,并且不用担心内存瓶颈,从而更加高效。
对于学习率的优化方法:
动量 momentum:
顾名思义,给学习率一个动量,使其在收敛过程中更快for i in iteration t: compute dw,db on mini_batch Vdw = βVdw+(1-β)dw w = w - αVdw #同理可得db实际上,队友这种指数加权平均,计算的是前1/(1-β) 次的指数平均因为梯度积累了之前多次的梯度,所以之前的变化会影响现在的变化,加入之前是一直下降,那么加快下降,之前下降方向相反的话,那么会减慢梯度传递
均方根传递RMSprop:
for i in range(iteration t): compute dw,db on current min_batch Sdw = βSdw+(1-β)dW² W = W - α*dW/√Sdw #同理得db
在震荡大的方向会得到更大的Sdw或者Sdb,因此除以的数更大,抑制了震荡。
Adam:
adam是对动量和均方根传递的结合for i in range(iteration t): compute dw,db on current min_batch Vdw = β1Vdw+(1-β1)dw Sdw = βSdw+(1-β2)dw² #对 S,V进行修正,因为在β接近1的时候,他们趋向于0向量。 Vdw# = Vdw/(1-β1的t次方) Sdw# = Sdw/(1-β2的t次方) W = W - α*Vdw#/√Sdw# #同理得db
相关文章推荐
- 梯度下降与优化方法(BGD & SGD & Momentum & AdaGrad & RMSProp & Adam)
- 神经网络优化算法:指数加权平均、动量梯度下降法、RMSprop、Adam优化算法
- Caffe Solver理解篇(2) SGD, AdaDelta, Ada-Grad, Adam, NAG, RMSprop 六种梯度下降方法横向对比
- 神经网络优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam
- SGD, AdaDelta, Ada-Grad, Adam, NAG, RMSprop 六种梯度下降方法横向对比
- 【deeplearning.ai笔记第二课】2.2 优化算法(动量梯度下降,RMSprop,adam)
- 一文看懂各种神经网络优化算法:从梯度下降到Adam方法
- 各种神经网络优化算法:从梯度下降到Adam方法
- 优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- 机器学习:优化方式:梯度下降(随机,批量),动量,adagrad,Adam /未完
- 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- 转:深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
- 优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam
- 随机梯度下降(SGD)、批量梯度下降(BGD)、小批量梯度下降(MSGD)
- 神经网络梯度下降优化算法及初始化方法小结
- NN优化方法对照:梯度下降、随机梯度下降和批量梯度下降