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开始
相关推荐
Xudde.4 分钟前
Mr-Robot 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
AOI小白新手上路14 分钟前
DRSformer Rain200H 省钱推理复现笔记
笔记
朝朝辞暮i14 分钟前
VLA 系统学习第 21 课——DDPM 与 Noise Scheduler:扩散模型究竟怎样从随机噪声生成机器人动作?
人工智能·深度学习·神经网络·transformer·vla
陈嘿萌20 分钟前
TIP 2026 | SCAC:不用训练也能做视频时刻检索,让事件链与边界校准协同
图像处理·人工智能·深度学习·计算机视觉·学术研究与理论基础
MIXLLRED24 分钟前
Batch Normalization 学习笔记:γ、β 与 γ>0 的关键限制
笔记·学习·batch
霖霖71426 分钟前
【ESP32笔记】LED操作和呼吸灯实现
笔记·单片机·嵌入式硬件
老唐7771 小时前
Agent 开发入门教程:从零搭建一个 Python AI Agent
人工智能·python·深度学习·langchain·大模型·agent·智能体
承渊政道5 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
滕州市燕猫虎计算机科技工作室个体工商户11 小时前
《Rust程序设计》学习笔记八:结构体
笔记·学习·rust·rust程序设计
Smoothcloud润云11 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力