深度学习 超参数调解

自己最近想要根据自己的硬件情况,定一个目标检测的主干网络,当然检测方法、fpn、检测层数等等影响到目标检测结果的东西,也都在考虑范围之类。我先写关于主题超参数调解,后面附一些个人对于检测方法的选择。

个人觉得超参数调解这个位置,其实并不是很好做,论文和代码中自带的参数确实是比瞎试要强,但是根据实际的项目需求,你需要在别人训练好的模型上改很多东西,因此原始自带的学习参数可能并不适合你,还有就是发出来顶会论文的机构,硬件配置都很高,一般公司很难达到这种情况,反正我们是一家小公司,硬件上一个1080ti或者2080ti为主,趋向于好一点的个人学习的机器。公司在深度学习这个方向也倾向于降低硬件成本和开发实际产品。

初始化学习率:

一篇公众号的文章:

https://mp.weixin.qq.com/s?__biz=MzIzNjc0MTMwMA==&mid=2247489038&idx=1&sn=0fe971f10fb87d7a032d9c9c7d34e5ce&chksm=e8d261d5dfa5e8c3746db1d9e33c954d82daf1703bf6e14204e8e5dc3edd70e669bce6922c4d&mpshare=1&scene=1&srcid=#rd

写的很好

初始化学习率这一块,我查看了一些博客,觉得下面的这两个还是有一些借鉴价值的

https://baijiahao.baidu.com/s?id=1591271039698173396&wfr=spider&for=pc

https://www.cnblogs.com/bonelee/p/8578481.html

第一个网址下有这么一张图,从图中看,感觉好像学习率很好选择,我经过一些试验差不多就能够找到,类似于good learning rate,就是loss下降很快,最小值比较低,结果后来我发现了一个下降更快,最小值更低的学习率。这个位置我想说的就是你很难找到一个最好的学习率,在你认为比较好的学习率上可能还有更好的学习率,这玩应相对而言,你很难找到一个最好的,比如说:对于一批样本和一个网络架构,0.005482是最好的学习率, 当你试验到0.00542,0.00549之间就没有办法试验下去了,太费劲了,有时候0.0008啥的学习率也能取得还可以的效果,很容易误导你,有时候两个学习率需要到好几十万步,甚至上百万步,才能决出胜利,就是更好的学习率才能反超好的学习率,真的是超级费劲,还有就是当你的batch-size比较小的时候,无论是损失还是验证结果都会抖动的很厉害,这个真的是很尴尬,因为你无法确定你当前学习率表现出的结果是不是因为样本,是不是只是暂时的领先。

请大牛指点

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值