本文重点
在机器学习或者深度学习中,我们需要通过修改参数使得损失函数最小化(或最大化),优化算法就是一种调整模型参数更新的策略。在pytorch中定义了优化器optim,我们可以使用它调用封装好的优化算法,然后传递给它神经网络模型参数,就可以对模型进行优化。本文是学习第6步(优化器),参考链接pytorch的学习路线
随机梯度下降算法
在深度学习和机器学习中,梯度下降算法是最常用的参数更新方法,它的公式如下所示:
在pytorch中,我们使用如下命令就可以使用这个优化算法
optimzier = torch.optim.SGD(net.parameters(), 1e-2)
net.parameters()表示需要优化的参数,这个是一个列表,所以我们要想要优化我们自定义的参数的时候,要给他传递一个列表数据就可以了,这里常常是神经网络net的参数,le-2表示学习率,这个代码仅仅是使用优化器,然后使用optimzier.step()进行梯度更新
自己实现
def sgd_upda