7.2 常用的优化器
一、学习率 二、momentum 动量 三、torch.optim.SGD 四、pytorch的十种优化器
一、学习率学习率,又叫步长,用来控制更新的步伐。 不能太大也不能太小。
二、momentum 动量动量的思想:当前的更新信息不仅有当前的梯度,还会考虑上一次更新的信息。 在分析具体怎么更新之前,先学习一下:指数加权平均。
比如V100是前100天的温度的平均值。Teta100是第100天的温度。 要求前100天的温度的平均值,只需要知道第100天的温度和前99天的平均值即可。
一般beta取0.9。
距离当前时刻越近,影响越大。
指数加权平均中的beta对应到动量中就是momentum这个系数。 下面学习一下梯度下降加上momentum时的更新公式:
上面的是不加momentum的公式;下面是加了momentum后的公式。 加上momentum之后,学习率不再乘以梯度,而是乘以一个更新量vi。更新量不仅有当前的梯度信息g(wi),还有m*vi-1,也就是上一个时刻所更新的信息。
三、pytorch提供的优化器1. torch.optim.SGD下面介绍pytorch提供的最实用的,最常用的优化器:SGD。
nesterov:通常是false。
2-10 其他
pytorch还提供了9种优化器,就不一一介绍了。
|