在进行深度学习的时候,往往会有很多参数,而深度学习的过程之一就是通过 Gradient 的值来对参数进行更新,以便达到我们预期值。那模型是如何来更新参数的呢?就是通过 Optimizer。
Optimizer.step()
我们通常会先根据参数计算梯度值,然后根据梯度的最小值,来对参数进行更新。更新的步骤其实不难,就是通过 optimizer.step()
(这里以 Pytorch
为例)。但是在更新参数之前,我们会对先要对过往梯度进行清零,即optimizer.zero_grad()
(这里依然是以 Pytorch
为例),为什么要清零?即梯度的值会有累加,以便影响我们的预期结果,可能会有过度拟合的情况出现。