pytorch深度学习笔记16

目录

摘要

1.AdaGrad

2.RMSProp

3.Adam


摘要

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

1.AdaGrad

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

  • h:历史梯度的平方和

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

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

AdaGrad的代码实现如下:

python 复制代码
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开始
相关推荐
逸模11 小时前
AI+BIM 重构连锁公装新范式 逸模打造数字化营建核心底座
大数据·人工智能·笔记·其他·信息可视化·重构
Sirius Wu11 小时前
Agentic端到端&分离式RL技术建设
人工智能·深度学习·机器学习·caffe
xqqxqxxq11 小时前
树结构技术学习笔记
数据结构·笔记·学习
十月的皮皮12 小时前
C语言学习笔记202606008- 三角形判断(3种方法)
c语言·笔记·学习
XGeFei12 小时前
【Fastapi学习笔记(6)】—— Fastapi文件上传、请求头自动转换
笔记·学习·fastapi
嘶哈哈哈12 小时前
嘉立创 EDA 入门实操笔记:从原理图到 PCB 布线、差分对、覆铜与 DRC 检查
开发语言·笔记·php
一口吃俩胖子12 小时前
【脉宽调制DCDC功率变换学习笔记024】频域性能
笔记·学习
Unity官方开发者社区12 小时前
团结引擎动画系统|Event Graph CodeGen:一键编译图逻辑,提升运行时性能
深度学习
吃着火锅x唱着歌12 小时前
深度探索C++对象模型 学习笔记 第五章 构造、解构、拷贝语意学(2)
c++·笔记·学习
湘美书院--湘美谈教育13 小时前
湘美谈教育AI经验集锦:有些东西,它们很难蒸馏
大数据·人工智能·深度学习·机器学习