神经网络常见优化算法总结

基于深度学习优化算法进行总结

下述文字可能不是特别准确,但基本可以概括各种方法的直观内核

SGD:普通基于一阶梯度下降算法
w t + 1 = w t − η ∇ w_{t+1} = w_{t}-\eta\nabla wt+1=wtη

AdaGrad
引入自适应学习率,用普通学习率除以历史梯度的累积均方根来完成对应的学习率自适应
w t + 1 = w t − η ∑ i t ∇ i 2 ∇ w_{t+1} = w_{t}-\frac{\eta}{\sqrt {\sum_i^t\nabla^2_i}} \nabla wt+1=wtiti2 η

RMSProp

  1. 在AdaGrad的基础上对历史梯度的累积均方根进行指数衰减,自适应调整学习率,
  2. 引入动量项,即新的学习方向由历史方向和当前梯度共同决定
    w t + 1 = w t − η r ∇ w_{t+1} = w_{t}-\frac{\eta}{\sqrt r} \nabla wt+1=wtr η
    r = α r + ( 1 − α ) ∇ i 2 r = \alpha r+(1-\alpha )\nabla^2_i r=αr+(1α)i2

Adam
4. 带衰减的历史梯度的累积均方根自适应调节学习率
5. 由动量项来确定更新方向,新的学习方向由历史方向和当前梯度共同决定
6. 学习率调节参数和动量项都进行修正

你可能感兴趣的:(机器学习,神经网络,算法,深度学习)