SGD
SGD为随机梯度下降法。用数学式可以将 SGD 写成如下的式(6.1)。
这里把需要更新的权重参数记为W,把损失函数关于W的梯度记为 ∂L/∂W 。 η η η 表示学习率,实际上会取 0.01 或 0.001 这些事先决定好的值。式子中的←表示用右边的值更新左边的值。
如式(6.1)所示,SGD 是朝着梯度方向只前进一定距离的简单方法。现在,将 SGD 实现为一个 Python 类(为方便后面使用,将其实现为一个名为 SGD 的类)。
class SGD:
def __init__(self, lr=0.01):
self.lr = lr#学习率
def update(self, params, grads):
for key in params.keys():
params[key] -= self.lr