1. Mini-batch
当
batchsize=1
时,就是“stochastic gradient descent (SGD)”;
当
batchsize=m
时,就是“batch gradient descent (BGD)”;
– | 优点 | 缺点 |
---|---|---|
SGD | 更新一次参数的速度很快-走的很快 | 收敛路线“波动很大”,可能导致无法收敛到全局最优 |
BGD | 收敛路线“平稳”,每次都向着正确方向走 | 更新一次参数的速度很慢-走的很慢 |
于是中和两者优缺点,将batchsize设定在1~m之间。
2. Momentum
一种梯度更新方法,作用为平滑SGD或Mini-BGD带来的收敛过程的波动。
如下图,由蓝色波动变成红色波动。
更新方式如下:
{vdW[l]=βvdW[l]+(1−β)dW[l]W[l]=W[l]−αvdW[l]
3. RMSprop
另一种梯度更新方法,作用为平滑SGD或Mini-BGD带来的收敛过程的波动。与Momentum的作用一样。
如下图,由蓝色波动变成绿色波动。
更新过程如下:
⎧⎩⎨⎪⎪sdW[l]=β2sdW[l]+(1−β2)(dW[l])2W[l]=W[l]−αdW[l]sdW[l]√+ε
4. Adam
另一种梯度更新方法,作用为平滑SGD或Mini-BGD带来的收敛过程的波动。是momentum和RMSprop的结合。
更新过程如下:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪vdW[l]=β1vdW[l]+(1−β1)∂∂W[l]vcorrecteddW[l]=vdW[l]1−(β1)tsdW[l]=β2sdW[l]+(1−β2)(∂∂W[l])2scorrecteddW[l]=sdW[l]1−(β2)tW[l]=W[l]−αvcorrecteddW[l]scorrecteddW[l]√+ε