7.2 常用的优化器

 

 

 

一、学习率

二、momentum 动量

三、torch.optim.SGD

四、pytorch的十种优化器

 

 

 

一、学习率

学习率,又叫步长,用来控制更新的步伐。

不能太大也不能太小。

 

 

 

二、momentum 动量

动量的思想:当前的更新信息不仅有当前的梯度,还会考虑上一次更新的信息。

在分析具体怎么更新之前,先学习一下:指数加权平均。

 

7.2 常用的优化器

 

比如V100是前100天的温度的平均值。Teta100是第100天的温度。

要求前100天的温度的平均值,只需要知道第100天的温度和前99天的平均值即可。

 

一般beta取0.9。

 

距离当前时刻越近,影响越大。

 

指数加权平均中的beta对应到动量中就是momentum这个系数。

下面学习一下梯度下降加上momentum时的更新公式:

7.2 常用的优化器

 

上面的是不加momentum的公式;下面是加了momentum后的公式。

加上momentum之后,学习率不再乘以梯度,而是乘以一个更新量vi。更新量不仅有当前的梯度信息g(wi),还有m*vi-1,也就是上一个时刻所更新的信息。

 

 

 

三、pytorch提供的优化器

 

1. torch.optim.SGD

下面介绍pytorch提供的最实用的,最常用的优化器:SGD。

 

7.2 常用的优化器

 

nesterov:通常是false。

 

2-10 其他

7.2 常用的优化器

 

pytorch还提供了9种优化器,就不一一介绍了。