2.5mnist手写数字识别之优化算法精讲(百度架构师手把手带你零基础实践深度学习原版笔记系列)

2023-11-09

2.5mnist手写数字识别之优化算法精讲(百度架构师手把手带你零基础实践深度学习原版笔记系列)

 

目录

2.5mnist手写数字识别之优化算法精讲(百度架构师手把手带你零基础实践深度学习原版笔记系列)

设置学习率

学习率的主流优化算法


 

 

设置学习率

(学习率大小的选择严重影响着模型的效果,人为选择困难很大,目前已经有很好的优化学习率算法可以拿来直接用)

在深度学习神经网络模型中,通常使用标准的随机梯度下降算法更新参数,学习率代表参数更新幅度的大小,即步长。当学习率最优时,模型的有效容量最大,最终能达到的效果最好。学习率和深度学习任务类型有关,合适的学习率往往需要大量的实验和调参经验。探索学习率最优值时需要注意如下两点:

  • 学习率不是越小越好。学习率越小,损失函数的变化速度越慢,意味着我们需要花费更长的时间进行收敛,如 图2 左图所示。
  • 学习率不是越大越好。只根据总样本集中的一个批次计算梯度,抽样误差会导致计算出的梯度不是全局最优的方向,且存在波动。在接近最优解时,过大的学习率会导致参数在最优解附近震荡,损失难以收敛,如 图2 右图所示。


图2: 不同学习率(步长过小/过大)的示意图


 

在训练前,我们往往不清楚一个特定问题设置成怎样的学习率是合理的,因此在训练时可以尝试调小或调大,通过观察Loss下降的情况判断合理的学习率,设置学习率的代码如下所示。

(下面使用学习率(learning rate,lr)为0.01作为基线程序)

#仅优化算法的设置有所差别
with fluid.dygraph.guard():
    model = MNIST()
    model.train()
    #调用加载数据的函数
    train_loader = load_data('train')
    
    #设置不同初始学习率
    optimizer = fluid.optimizer.SGDOptimizer(learning_rate=0.01, parameter_list=model.parameters())
    # optimizer = fluid.optimizer.SGDOptimizer(learning_rate=0.001, parameter_list=model.parameters())
    # optimizer = fluid.optimizer.SGDOptimizer(learning_rate=0.1, parameter_list=model.parameters())
    
    EPOCH_NUM = 5
    for epoch_id in range(EPOCH_NUM):
        for batch_id, data in enumerate(train_loader()):
            #准备数据&
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2.5mnist手写数字识别之优化算法精讲(百度架构师手把手带你零基础实践深度学习原版笔记系列) 的相关文章

随机推荐

  • PAT 1002

    include
  • HTML5 WebSocket长连接

    HTML5 WebSocket实现长连接 先介绍一下WebSocket WebSocket的概念 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 WebSocket 使得客户端和服务器之间的数据
  • java异常分类

    一 异常父类 Throwable 有两个子类 1 Error 严重问题 2 Exception 非严重问题 二 Exception 1 运行时异常 是RuntimeException以及RuntimeException的子类 2 非运行时异
  • Java中将json字符串导出为json文件【详细步骤】

    一 概述 请根据具体需求具体改动 此代码需要将前端的数据查询出来 然后进行json字符串的转化 getCatalogId id 方法是根据id查出来的内容然后再进行转换成json字符串 也可以直接传入json字符串进行测试 二 代码 Api
  • 案例-使用MapReduce实现join操作

    哈喽 各位小伙伴们中秋快乐 好久没更新新的文章啦 今天分享如何使用mapreduce进行join操作 在离线计算中 我们常常不只是会对单一一个文件进行操作 进行需要进行两个或多个文件关联出更多数据 类似与sql中的join操作 今天就跟大家
  • 【行业了解】天眼查、企查查、启信宝、爱企查

    行业了解 天眼查 企查查 启信宝 爱企查 前言 今天写 行业分析 矿泉水行业 的时候 简单从两个三方平台获取信息 不过毕竟是第三方平台 我不了解的话我心里不放心 于是简单了解一下查企业的第三方平台 11月22写 企业分析 索菲亚 的时候用了
  • 睿智的目标检测37——TF2搭建SSD目标检测平台(tensorflow2)

    睿智的目标检测37 TF2搭建SSD目标检测平台 tensorflow2 学习前言 什么是SSD目标检测算法 源码下载 SSD实现思路 一 预测部分 1 主干网络介绍 2 从特征获取预测结果 3 预测结果的解码 4 在原图上进行绘制 二 训
  • 2019最好用的谷歌扩展工具

    Extensions Manager 安装地址 https chrome google com webstore detail extensions manager aka sw lpleipinonnoibneeejgjnoeekmbop
  • Calendar获取想要的日期

    获取当前天的前n天 getTodayPreNDay int n 取得月第一天 getFirstDateOfMonth Date date 取得月最后一天 getLastDateOfMonth Date date 获取当前的季度 getSea
  • combineReducers()用法详解

    https www cnblogs com aurora ql p 14110920 html
  • Linux文件与目录的复制、删除与移动(cp、rm、mv)

    cp 复制文件或目录 cp adfilprsu 源文件 目标文件 cp options 源文件1 源文件2 目录 选项与参数 a 相当于 dr preserve all的意思 至于dr参考下面说明 d 若源文件为链接文件的属性 link f
  • 【转】常用性能计数器

    CPU 性能计数器说明 CPU 1 System Total Processor Time 平均CPU利用率 指处理器执行非闲置线程时间的百分比 测量处理器繁忙的时间 这个计数器设计成用来作为处理器活动的主要指示器 可以选择单个CPU实例
  • 无锁环形缓冲RingBuffer的原理及Java实现

    在多线程环境下为了保证线程安全 往往需要加锁 例如读写锁可以保证读写互斥 读读不互斥 有没有一种数据结构能够实现无锁的线程安全呢 答案就是使用RingBuffer循环队列 在Disruptor项目中就运用到了RingBuffer RingB
  • HTTP响应报文应答状态码及含义

    本应答报文状态码是老猿结合多方资料收集综合后并加以老猿自己的理解进行说明的应答报文状态码 应该是最新最全解释最详尽的 供大家参考
  • linux服务器查找大文件及删除文件后磁盘空间没有得到释放

    1 查询服务器中大于1G的文件 find type f size 1G 这条命令是查询自 根目录下所有大小超过1G的文件 查询的大小可以根据需要改变 如下 相关查询 查询服务器中大于100M的文件 find type f size 100M
  • ubuntu重新设置root密码

    方法一 如果用户具有sudo权限 那么直接可以运行如下命令 sudo su root passwd 直接更改root密码 sudo passwd root 有关sudo su的区别 1 共同点 都是root用户的权限 2 不同点 su仅仅取
  • 训练PyTorch模型遇到显存不足的情况怎么办

    在跑代码的过程中 遇到了这个问题 当前需要分配的显存在600MiB以下 RuntimeError CUDA out of memory Tried to allocate 60 00 MiB GPU 0 10 76 GiB total ca
  • minist图片多分类问题-单层神经网络

    采用打单层隐藏层 使用TensorFlow框架 构建的分类神经网络 入门级小项目 供深度学习 TensorFlow 初学者参考 usr bin env python coding utf 8 In 导入package 读取数据 import
  • DBeaver——一款替代Navicat的数据库可视化工具

    对于很多开发者来说 Navicat这个软件并不陌生 相信这个彩虹色图标的软件 有效的帮助了你的开发工作 从前上学的时候 我都是用的都是从网上找来的密钥进行破解的 但是一直在寻找有没有一个能找到一个免费的能完美替代Navicat的工具 今天就
  • 2.5mnist手写数字识别之优化算法精讲(百度架构师手把手带你零基础实践深度学习原版笔记系列)

    2 5mnist手写数字识别之优化算法精讲 百度架构师手把手带你零基础实践深度学习原版笔记系列 目录 2 5mnist手写数字识别之优化算法精讲 百度架构师手把手带你零基础实践深度学习原版笔记系列 设置学习率 学习率的主流优化算法 设置学习