包头市网站建设_网站建设公司_产品经理_seo优化
2026/1/14 21:08:51 网站建设 项目流程

目录

摘要

1.AdaGrad

2.RMSProp

3.Adam


摘要

本篇文章继续学习尚硅谷深度学习教程,学习内容是AdaGrad,​​​​​​​RMSPropAdam

1.AdaGrad

AdaGrad(Adaptive Gradient,自适应梯度)会为每个参数适当地调整学习率,并且随着学习的进行,学习率会逐渐减小。

  • h:历史梯度的平方和

这里就表示了梯度的平方和,即,这里的表示对应矩阵元素的乘法。

使用AdaGrad时,学习越深入,更新的幅度就越小。如果无止境地学习,更新量就会变为0,完全不再更新。

AdaGrad的代码实现如下:

class AdaGrad: def __init__(self, lr=0.01): self.lr = lr self.h = None def update(self, params, grads): if self.h is None: self.h = {} for key, val in params.items(): self.h[key] = np.zeros_like(val) for key in params.keys(): self.h[key] += grads[key] * grads[key] params[key] -= self.lr * grads[key] / (np.sqrt(self.h[key]) + 1e-7)

2.​​​​​​​RMSProp

RMSProp(Root Mean Square Propagation,均方根传播)是在AdaGrad基础上的改进,它并非将过去所有梯度一视同仁的相加,而是逐渐遗忘过去的梯度,采用指数移动加权平均,呈指数地减小过去梯度的尺度。

  • h:历史梯度平方和的指数移动加权平均
  • :权重

3.Adam

Adam(Adaptive Moment Estimation,自适应矩估计)融合了Momentum和AdaGrad的方法。

  • :学习率
  • :一次动量系数和二次动量系数
  • :迭代次数,从1开始

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询