1. 梯度下降法
梯度下降法(Gradient descent,简称GD)是一阶最优化算法,计算过程就是沿梯度下降的方向求解极小值,公式如下所示,其中 μ \mu μ表示学习率, g t g^t gt表示梯度, t t t表示第t次迭代。通过多次迭代计算上面公式可以求得极小值点(非最小值)。
x t + 1 = x t − μ ⋅ g t x^{t+1}=x^t-\mu·g^t xt+1=xt−μ⋅gt
torch.optim.SGD
在torch中内置许多算法,其中torch.optim.SGD函数就是随机梯度下降法。其参数包括:
- params (iterable)
- lr (float) – 学习率
params是需要进行优化的参数,lr就是学习率。
在使用SDG()需要用到他的两个方法:zero_grad()和step()以及参数的梯度计算:backward()
-
SDG(params, lr).zero_grad(),这个方法的作用是将params所包含的张量的梯度置0,因为每次使用backward()计算得到的梯度都会累加到原来的梯度上。 -
SDG(params, lr).step(),这个方法是执行 x t + 1 = x t − μ ⋅ g t x^{t+1}=x^t-\mu·g^t xt+1=xt−μ⋅g
梯度下降法详解

最低0.47元/天 解锁文章
2279

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



