在PyTorch中,torch.optim.SGD是一个非常流行的优化器,它实现了随机梯度下降算法。SGD优化器被广泛用于深度学习模型的训练过程,用于更新网络中的权重和偏置。
基本用法:要使用SGD优化器,首先需要创建一个优化器实例,并将模型的参数传递给它。
参数:
params (iterable): 待优化参数的iterable或者是定义了参数组的dict。通常情况下,它是模型的 .parameters() 方法返回的对象。
lr (float): 学习率(learning rate),控制了权重更新的幅度。默认值通常为0.01。
除了基本参数外,SGD优化器还提供了以下可选参数:
momentum (float, 可选): 动量(Momentum)因子,可以加速训练并减少震荡。默认值为0(即不 使用动量)。
dampening (float, 可选): 动量抑制因子,用于动量项。默认值为0。
weight_decay (float, 可选): 权重衰减(L2惩罚),用于正则化。默认值为0。
nesterov (bool, 可选): 是否使用Nesterov动量。默认值为False。