位置: 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)

  • 国家企业信用信息公示系统密码是什么作用

    国家企业信用信息公示系统密码是什么作用

  • 怎么查看身份证绑定了几个qq(怎么查看身份证补办进度信息)

    怎么查看身份证绑定了几个qq(怎么查看身份证补办进度信息)

  • 如何隐藏抖音商城(如何隐藏抖音商品橱窗)

    如何隐藏抖音商城(如何隐藏抖音商品橱窗)

  • 如何关闭笔记本摄像头指示灯(如何关闭笔记本电脑自带的键盘)

    如何关闭笔记本摄像头指示灯(如何关闭笔记本电脑自带的键盘)

  • 荣耀v30第一次充电充多久(荣耀v30第一次充多少电)

    荣耀v30第一次充电充多久(荣耀v30第一次充多少电)

  • 给拉黑的人发消息他能收到吗(给拉黑的人发消息怎么发)

    给拉黑的人发消息他能收到吗(给拉黑的人发消息怎么发)

  • iphonex为什么不能升级13(iphonex为什么不叫iphone10)

    iphonex为什么不能升级13(iphonex为什么不叫iphone10)

  • 闲鱼号怎么注销(闲鱼号怎么注销后还能在开通吗)

    闲鱼号怎么注销(闲鱼号怎么注销后还能在开通吗)

  • iphone11promax发热严重(iphone11promax发热正常吗)

    iphone11promax发热严重(iphone11promax发热正常吗)

  • 苹果店换屏是原装吗(苹果换屏原装屏拿走)

    苹果店换屏是原装吗(苹果换屏原装屏拿走)

  • 什么叫系统持续扩容中(系统持续与周期安排训练原则的训练学要点有)

    什么叫系统持续扩容中(系统持续与周期安排训练原则的训练学要点有)

  • 数据库阶段的数据管理特点(数据库阶段的数据结构是)

    数据库阶段的数据管理特点(数据库阶段的数据结构是)

  • QQ恢复系统(qq恢复系统在哪里)

    QQ恢复系统(qq恢复系统在哪里)

  • 苹果11实体店分期要求(苹果实体店分期需要什么条件)

    苹果11实体店分期要求(苹果实体店分期需要什么条件)

  • vue如何让照片全显示(vue如何调整图片顺序)

    vue如何让照片全显示(vue如何调整图片顺序)

  • realme Q怎么更改系统时间(realme怎么修改应用名称)

    realme Q怎么更改系统时间(realme怎么修改应用名称)

  • vivox27什么时候上市的(vivox27什么时候出厂的)

    vivox27什么时候上市的(vivox27什么时候出厂的)

  • vivo怎么查黑名单信息(vivo如何查看黑名单)

    vivo怎么查黑名单信息(vivo如何查看黑名单)

  • 855处理器手机有哪些(855处理器手机大全)

    855处理器手机有哪些(855处理器手机大全)

  • x27vivo人脸识别设置在哪(vivo x27人脸识别)

    x27vivo人脸识别设置在哪(vivo x27人脸识别)

  • 荣耀20怎么设置24小时制(荣耀新手机如何设置)

    荣耀20怎么设置24小时制(荣耀新手机如何设置)

  • 手机垃圾桶在哪里找(手机垃圾桶标志)

    手机垃圾桶在哪里找(手机垃圾桶标志)

  • 小米9屏幕黑斑(小米9屏幕黑斑闪烁)

    小米9屏幕黑斑(小米9屏幕黑斑闪烁)

  • 重装电脑ghost分区丢失只剩C盘怎么恢复(电脑重装系统如何分区?)

    重装电脑ghost分区丢失只剩C盘怎么恢复(电脑重装系统如何分区?)

  • 导航栏不变,切换局部页面的方法(导航栏不变,切换怎么办)

    导航栏不变,切换局部页面的方法(导航栏不变,切换怎么办)

  • 2023年印花税如何计算
  • 企业信用公示的时效是多久
  • 即征即退进项税额为哪些
  • 总承包单位可以分包吗
  • 托管开票
  • 黑盘报税流程视频教程
  • 公司给的出差津贴
  • 无形资产有合同约定,怎么摊销?
  • 独立账户负债核算内容
  • 收到进项发票如何记账
  • 法人投资转入旧机器无发票怎么入账?
  • 公司购买商业险多少钱
  • 仓库货物破损处理方法
  • 怎么去税务局报账流程
  • 如何查询进项发票是否作废
  • 土方运输费会计分录
  • 发票抬头是繁体字怎么办
  • 餐饮行业采购流程图
  • 集团公司收购子公司
  • 房地产开发企业的土地使用权计入哪里
  • 购买免税苗木抵税分录
  • 雇主全额负担的法律责任
  • 固定资产入账会计
  • 城建税有哪些征税项目
  • 股东分红是看未交税吗
  • 什么时候可以购买火车票
  • 无法启动个人热点iphone
  • flash player用不了怎么办
  • 怎么增加c盘空间容量
  • 代垫运费的会计处理
  • windows 10月更新
  • 大模型训练成本
  • php字符串函数有哪些
  • 开展党建系列活动
  • 广告费与业务宣传费扣除给企业带来的好处
  • php验证源码
  • 黄石国家公园里的必玩项目
  • 新企业会计准则是哪一年颁布的
  • 信用减值损失会影响所有者权益吗
  • php接口验证
  • fping命令参数
  • 发票公司名字开错,需要更改红字发票上的名字吗
  • 退税勾选错了怎么办
  • 财政补助结转和财政补助结余
  • 免税增值税纳税申报表怎么填
  • mongodb副本集群
  • 帝国cms吧
  • 在建工程转入固定资产怎么做
  • 预付账款和应付账款怎么合并
  • 劳务费发票是个人的吗
  • 化验委托书
  • 账面价值大于计税基础是调增还是调减
  • 机票的退票费会退到哪里
  • 逾期的押金计入什么科目
  • 强制执行的款在执行局领取吗
  • 计时工资和计件工资的含义
  • 销售一批产品给丙公司,该批产品标价200万yuan
  • 退回拨款会计分录怎么做
  • 电子产品多少金额要交税
  • windows2003密码破解
  • 进程net1
  • u盘安装win10ghost
  • 如何返回系统
  • 电脑xp系统备份
  • win7系统的电脑能装win10吗
  • ecxel进度条
  • node.js中的http.request方法使用说明
  • 局域网如何打开共享文件夹
  • Custom List in inspector, displaying data your way[Unity]
  • 在一个android创建一个按钮多选对话框
  • Unity3D的MonoBehaviour可重写函数
  • 百度坐标转换成WGS84坐标
  • shell bash sh
  • unity脚本api
  • 今天百度汉语
  • Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
  • 第三届一带一国际高峰论坛
  • 服务收入确认条件有哪些
  • 成本费用总额在报表哪里看
  • 广东省税务机关规定小额零售需开发票吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设