关于优化算法
首先看梯度下降算法关于训练集的分类:
batch梯度下降:更新一次梯度使用的是整个训练集
mini-batch梯度下降:更新一次梯度使用的是一个mini-batch,这是目前最常用的方法
随机梯度下降(SGD):训练每一个样本都要更新一次梯度
(但是在莫凡pytorch里面的 regression 和 classification 这两节里面,明明是对自己生成的100个样本点进行batch梯度下降,但他使用的优化器居然是torch.optim.SGD()???这也行。。。)
具体的优化算法:
最原始的就是我们最先接触的标准梯度下降法
然后发明了基于指数加权平均的动量优化算法
接着发明了类似的全方根算法RMSprop
最后就是结合了动量梯度下降和RMSprop的Adam算法
注:Adam优化器自带可以自己调节的学习率,这一点非常方便
(根据莫凡pytorch中的四个优化器算法的对比,Adam是最强的,DCASE异常检测baseline使用的也是Adam优化器,所以下次犹豫不决的时候直接Adam就完事了)

本文介绍了梯度下降算法的不同变种,包括batch梯度下降、mini-batch梯度下降及随机梯度下降,并详细讨论了几种高级优化算法:动量优化算法、RMSprop以及结合两者的Adam算法。Adam优化器因其自适应学习率而被广泛认为是最佳选择。
36万+

被折叠的 条评论
为什么被折叠?



