常见优化算法 (caffe和tensorflow对应参数)
算法可视化
常见算法
SGD
x+= -learning_rate*dx
Momentum
Momentum可以使SGD不至于陷入局部鞍点震荡,同时起到一定加速作用。
Momentum最开始有可能会偏离较远(overshooting the target),但是通常会慢慢矫正回来。
v = mu*v - learning_rate*dx
x+= v
Nesterov momentum
基本思路是每次不在x位置求dx,而是在x+mu*v处更新dx,然后在用动量公式进行计算
相当于每次先到动量的位置,然后求梯度更新
vt=μvt−1−ε▽f(θt−1+μvt−1)
θt=θt−1+vt
计算