神经网路越复杂,数据量越大,训练网络所需要的时间就越多。有时候为了解决复杂的问题,复杂的网络跟庞大的数据是不可缺少的。所以寻找了一些方法,加速神经网络的训练。
1.SGD(Stochastic Gradient Descent)随机梯度下降法
这种方法是将数据分成一小批一小批的进行训练。但是速度比较慢。
更新参数的方式 w+=-lr * dx lr是学习率,dx 是校正值
2.Momentum
更新参数的方式 m=b1*m-lr*dx w+=m
3.AdaGrad
更新参数的方法 v+=dx^2 w+= -lr *dx/根号V 采用改变学习率的方式
4.RMSProp
这种方法是将 Momentum与AdaGrad部分相结合
v=b1*v=(1-b1)*dx^2
w+=-lr*dx/根号V
5.Adam
这种方法是将momentum与AdaGrad 相结合
m=b1*m+(1-b1)*dx
v=b2*v+(1-b2)*dx^2
w+=-lr*m/根号v