位置: IT常识 - 正文

yolov5优化器及超参数设置(yolov5网络优化)

编辑:rootadmin
yolov5优化器及超参数设置 文章目录前言一 优化器二 超参数参考前言一 优化器

推荐整理分享yolov5优化器及超参数设置(yolov5网络优化),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov5参数优化,yolov5 优化,yolov4优化,yolov5 改进,优化器参数,yolov5 优化,yolo算法优化,yolov5 优化,内容如对您有帮助,希望把文章链接给更多的朋友!

机器学习的五个步骤: 数据 -> 模型 -> 损失 -> 优化器 -> 迭代训练。 我们通过前向传播的过程,得到了模型输出与真实标签的差异,我们称之为损失, 有了损失,我们会进入反向传播过程得到参数的梯度,那么接下来就是优化器干活了,优化器要根据我们的这个梯度去更新参数,使得损失不断的降低。 那么优化器是怎么做到的呢? 该博主从三部分进行展开,首先是优化器的概念,然后是优化器的属性和方法,最后是常用的优化器。

深度学习优化算法经历了 SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam 这样的发展历程。该博主详细告诉你这些算法是如何一步一步演变而来的。

optim.SGD: 随机梯度下降法 optim.Adagrad: 自适应学习率梯度下降法 optim.RMSprop: Adagrad的改进 optim.Adadelta: Adagrad的改进 optim.Adam: RMSprop结合Momentum optim.Adamax: Adam增加学习率上限 optim.SparseAdam: 稀疏版的Adam optim.ASGD: 随机平均梯度下降 optim.Rprop: 弹性反向传播 optim.LBFGS: BFGS的改进

SGD:选择合适的learning rate比较困难 - 对所有的参数更新使用同样的learning rate.我们常用的mini-batch SGD训练算法,然而虽然这种算法能够带来很好的训练速度,但是在到达最优点的时候并不能够总是真正到达最优点,而是在最优点附近徘徊。另一个缺点就是这种算法需要我们挑选一个合适的学习率,当我们采用小的学习率的时候,会导致网络在训练的时候收敛太慢;当我们采用大的学习率的时候,会导致在训练过程中优化的幅度跳过函数的范围,也就是可能跳过最优点

yolov5优化器及超参数设置(yolov5网络优化)

SGD+Momentum:基于梯度的移动指数加权平均解决mini-batch SGD优化算法更新幅度摆动大的问题,同时可以使得网络的收敛速度更快(注意:使用Momentum时偏差修正可用可不用–吴恩达深度学习)

Momentum原理:积累之前的动量来替代真正的梯度,计算梯度的指数加权平均数,并利用该梯度更新权重,相关方向加速SGD,抑制振荡,从而加快收敛。

RMSprop:积累之前的动量来替代真正的梯度对梯度计算微分平方加权平均数,进一步优化损失函数在更新中存在摆动幅度过大的问题,并且进一步加快函数的收敛速度.(对学习率加了一定的约束,但事实上仍依赖于人工设置的一个全局学习率)

Adam:将Momentum算法和RMSProp算法结合起来使用的一种算法,表现比前两种更好,所以它也是解决摆动幅度过大,加快函数的收敛速度;同时利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,实现学习率自适应。(注意:在Adam中Momentum的偏差修正是必须使用的!)

parser.add_argument('--optimizer', type=str, choices=['SGD', 'Adam', 'AdamW'], default='SGD', help='optimizer')

实际上学术界上对于SGD和Adam哪个更好,一直没有统一的定论,取决于实际项目情况。

YOLO V5的作者建议是,如果需要训练较小的自定义数据集,Adam是更合适的选择,并且可以在较大的数据集上提供良好的初始结果,尽管Adam的学习率通常比SGD低(一般Adam为SGD的0.1倍)。但是 SGD 从长远来看往往会表现出色,尤其是训练大型数据集,并且似乎可以更好地推广到现实世界的结果。对于YOLOV5框架在VOC数据集的训练结果来说,效果:SGD > AdamW > Adam 。结果来自该issue。

SGD最大的缺点是下降速度慢,而且可能会在沟壑的两边持续震荡,停留在一个局部最优点。

所以,谈到现在,到底Adam好还是SGD好?这可能是很难一句话说清楚的事情。去看学术会议中的各种paper,用SGD的很多,Adam的也不少,还有很多偏爱AdaGrad或者AdaDelta。可能研究员把每个算法都试了一遍,哪个出来的效果好就用哪个了。毕竟paper的重点是突出自己某方面的贡献,其他方面当然是无所不用其极,怎么能输在细节上呢? 而从这几篇怒怼Adam的paper来看,多数都构造了一些比较极端的例子来演示了Adam失效的可能性。这些例子一般过于极端,实际情况中可能未必会这样,但这提醒了我们,理解数据对于设计算法的必要性。优化算法的演变历史,都是基于对数据的某种假设而进行的优化,那么某种算法是否有效,就要看你的数据是否符合该算法的胃口了。算法固然美好,数据才是根本。另一方面,Adam之流虽然说已经简化了调参,但是并没有一劳永逸地解决问题,默认的参数虽然好,但也不是放之四海而皆准。因此,在充分理解数据的基础上,依然需要根据数据特性、算法特性进行充分的调参。

二 超参数parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch.yaml', help='hyperparameters path')

超参数data/hyps/下有以下五个: 关于选择哪种,作者的解释是:

参考 SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam 发展历程YOLOv5-优化器和学习率调整策略https://pypi.org/project/torch-optimizer/
本文链接地址:https://www.jiuchutong.com/zhishi/284056.html 转载请保留说明!

上一篇:育空怀特霍斯附近的北极光,加拿大 (© Design Pics/Danita Delimont)

下一篇:bass.exe是什么进程 bass进程信息查询(bass boost system)

  • 红米note8有指纹识别吗(红米note8有指纹解锁吗)

    红米note8有指纹识别吗(红米note8有指纹解锁吗)

  • 退货买家不确认收货几天自动确认(退货买家不确认收货)

    退货买家不确认收货几天自动确认(退货买家不确认收货)

  • 中断响应的条件(51单片机中断响应的条件)

    中断响应的条件(51单片机中断响应的条件)

  • onedrive有必要卸载吗(onedrive有没有必要用)

    onedrive有必要卸载吗(onedrive有没有必要用)

  • 遥控器指示灯一直亮 用不了怎么办(遥控器指示灯一直闪烁 按键没反应)

    遥控器指示灯一直亮 用不了怎么办(遥控器指示灯一直闪烁 按键没反应)

  • 手机相机的专业模式中有哪些设置(手机相机的专业模式怎么调最好)

    手机相机的专业模式中有哪些设置(手机相机的专业模式怎么调最好)

  • oppo手机严重死机(oppo手机死机了是什么原因)

    oppo手机严重死机(oppo手机死机了是什么原因)

  • 用户已注销QQ空间是什么意思(用户已注销qq空间是屏蔽吗)

    用户已注销QQ空间是什么意思(用户已注销qq空间是屏蔽吗)

  • 腾讯会议分屏会被发现吗(腾讯会议分屏会被检测到吗)

    腾讯会议分屏会被发现吗(腾讯会议分屏会被检测到吗)

  • ps海报画布大小一般多少(ps海报尺寸大小)

    ps海报画布大小一般多少(ps海报尺寸大小)

  • 抖音60秒以上视频怎么发(抖音60秒以上视频怎么做)

    抖音60秒以上视频怎么发(抖音60秒以上视频怎么做)

  • 信号带hd什么意思(信号上有hd什么意思)

    信号带hd什么意思(信号上有hd什么意思)

  • 有光猫还需要路由器吗(有光猫的话还需要路由器吗)

    有光猫还需要路由器吗(有光猫的话还需要路由器吗)

  • 戴尔笔记本蓝屏怎么解决(戴尔笔记本蓝屏无法正常启动怎么恢复)

    戴尔笔记本蓝屏怎么解决(戴尔笔记本蓝屏无法正常启动怎么恢复)

  • 抖音软件有电脑版吗(抖音软件电脑版怎么下载)

    抖音软件有电脑版吗(抖音软件电脑版怎么下载)

  • 华为怎么打开受限应用(华为手机受信任设备怎么设置)

    华为怎么打开受限应用(华为手机受信任设备怎么设置)

  • 手机膜为什么有白边(手机膜为什么有彩虹纹)

    手机膜为什么有白边(手机膜为什么有彩虹纹)

  • word下标怎么弄(word怎么设置下标的下标)

    word下标怎么弄(word怎么设置下标的下标)

  • ios12系统怎么清理缓存(苹果12系统怎么清理)

    ios12系统怎么清理缓存(苹果12系统怎么清理)

  • 苹果11为什么不支持5g(苹果11为什么不能下载软件)

    苹果11为什么不支持5g(苹果11为什么不能下载软件)

  • pbem00是什么手机型号(oppo手机pelm00是什么型号)

    pbem00是什么手机型号(oppo手机pelm00是什么型号)

  • 如何关闭网络位置服务(如何关闭手机的网络位置服务)

    如何关闭网络位置服务(如何关闭手机的网络位置服务)

  • 抖音怎样设置不让转发(抖音怎样设置不让别人看到我的关注)

    抖音怎样设置不让转发(抖音怎样设置不让别人看到我的关注)

  • ud跟普通版的区别(啥是ud版)

    ud跟普通版的区别(啥是ud版)

  • FlashFXP 简体中文绿色特别版 FTP上传下载建站必备工具(flash中文版)

    FlashFXP 简体中文绿色特别版 FTP上传下载建站必备工具(flash中文版)

  • 小规模纳税人申请一般纳税人条件
  • 农产品增值税加计扣除可以补申报吗
  • 增值税发票丢失最新处理办法
  • 递延收益所得税负债
  • 购物税费怎么算
  • 科普一下发票知识
  • 免抵退和免退税 区别 委托
  • 当月出租设备需要发票吗
  • 公司员工住宿费怎么入账
  • 非税收入专用申报表
  • 累计扣税法什么时候实行的
  • 收到投资款需要缴纳什么税
  • 一般纳税人的税率是多少个点
  • 企业发生事故后的处理流程
  • 个体户购买发票需要什么资料
  • 以股抵债的会计分录
  • 保险公司代扣代缴车船税完税证明
  • 应收账款周转率多少合适
  • 客户想免费拿样
  • 固定资产转为投资性房地产折旧
  • 货款为现金如何做记账账款凭证?
  • 交通违章罚款有优惠吗
  • 职工的大病医保怎么报销
  • 个人可以去税务局开票吗?
  • 发票金额是价税价格吗
  • 进项税抵扣需要做分录吗
  • 合伙项目如何进行分红
  • 个体工商户需要做账吗
  • 个人退回公积金怎么操作
  • 华为手机蓝牙传送照片到苹果手机
  • 如何在vue项目中导入外部的包
  • 坏账准备如何做账
  • 付款交单和承兑交单对卖方来说都有一定风险
  • 无法收回的应收票据怎么处理
  • 在linux中使用什么命令可以动态查看文件内容
  • php中常用的数组是什么
  • 进程aissca.exe
  • PHP:is_executable()的用法_Filesystem函数
  • php写一个简单的单例模式
  • 公司注销时做哪些财务处理
  • php怎么取数组
  • 全局平均池化(GAP)层
  • 实现会话跟踪的两种方式
  • 使用灭火器时要对准火焰的什么部位喷射
  • lua命令库
  • 评价股权转让要交什么税
  • 个体工商户社保扣费不成功
  • 应付票据帐务处理
  • 本期到期债务计算公式
  • 进货该怎么进
  • 零售行业bi
  • 上市公司收购其它公司是好是坏
  • 其他债权投资减值为什么不影响所有者权益
  • 个体工商户增值税怎么计算
  • 银行承兑汇票和贴现的区别
  • 小额贷款行业新规
  • 公司买车赠送给个人,怎么交税
  • 应收票据的核算范围包括
  • 商业会计怎么做会计分录
  • 卖二手车怎么做账务处理
  • 增值税期末留抵退税什么意思
  • 银行回单太多了
  • 通讯发票可以税后抵扣吗
  • 农业银行多级账簿可以代发工资吗
  • 预计负债计入哪里
  • 超市库存明细表
  • 年数总和法计提折旧的例题
  • centos禁止用户登录
  • 微软为什么放弃win10
  • ubuntu16.04怎么设置网络
  • Ubuntu开启热点
  • centos8指令
  • linux系统ll
  • window10打补丁
  • python第九套答案
  • 获取路径下的文件名
  • 如何在电子税务局签订三方协议
  • 百旺税控盘电话服务热线
  • 杭州市各区面积人口排名
  • 营业税改征增值税对哪些行业影响最大
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设