1.优化方法介绍
这里说的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小。
- SGD
- SGD是stochastic gradient descent的简称,即随机梯度下降。此外还有BGD,B指的是batch,意思为批量梯度下降。对于训练数据集,我们先将其分为n个batch,每个batch包含m个样本,
x t+1=x t+Δx t
Δx t=−ηg t
其中,η为学习率,gt为x在t时刻的梯度。
- SGD是stochastic gradient descent的简称,即随机梯度下降。此外还有BGD,B指的是batch,意思为批量梯度下降。对于训练数据集,我们先将其分为n个batch,每个batch包含m个样本,
momentum
- SGD方法的一个缺点是,其更新方向完全依赖于当前的batch,十分不稳定,为了解决这个问题,研究者们提出momentum。momentum的意思是动量,旨在模拟物体运动时候所具有的惯性,即更新的时候在一定程度上保留之前更新的方向,同时利用当前batch的梯度微调最终的更新方向,这样一来,可以在一定程度上增加稳定性,从而学习地更快,并且还有一定摆脱局部最优的能力:
Δx t=ρΔx t-1−ηg t
其中,ρ 即momentum,表示要在多大程度上保留原来的更新方向,这个值在0-1之间,在训练开始 时,由于梯度可能会很大,所以初始值一般选为0.5;当梯度不那么大时,改为0.9。η 是学习率,即当前batch的梯度多大程度上影响最终更新方向,跟普通的SGD含义相同。ρ 与 η 之和不一定为1。
- SGD方法的一个缺点是,其更新方向完全依赖于当前的batch,十分不稳定,为了解决这个问题,研究者们提出momentum。momentum的意思是动量,旨在模拟物体运动时候所具有的惯性,即更新的时候在一定程度上保留之前更新的方向,同时利用当前batch的梯度微调最终的更新方向,这样一来,可以在一定程度上增加稳定性,从而学习地更快,并且还有一定摆脱局部最优的能力:
Adagrad(每个变量有