【小笔记】算法训练基础超参数调优思路

【学而不思则罔,思维不学则怠】

本文总结一下常见的一些算法训练超参数调优思路(陆续总结更新),包括:

  • batchsize
  • 学习率
  • epochs
  • dropout(待添加)

Batch_size

2023.9.29

  • 简单来说,较大的bz可以加快训练速度,特别是基于GPU进行模型训练时,应该在显存允许范围内,尽量使用较大的bz。
  • 两个极端:假设内存/显存足够大,每次都是使用全量数据进行梯度计算,此时训练效率最高,但训练极容易陷入鞍点(局部最优)而无法跳出,表现出来就是loss还比较高,但是已经开始收敛了。
  • 但bz不是说越大越好,越大bz意味着用更多的数据来计算梯度,越容易陷入鞍点,但若batch数量较多,则当一个batch的数据使算法陷入鞍点了,另一个batch的数据有机会使算法跳出鞍点。
  • 因此bz尽可能选大一些,同时保证batch数量不太少,最简单的方法就是从GPU显存或CPU内存运行的最大值开始实验,若发现出现了loss过早收敛且比较高时(陷入鞍点),此时则放弃充分利用GPU,而应考虑减少bz,使loss能够继续下降。
  • 结论:从显存/内容利用率角度和防止陷入鞍点两个角度来思考bz。

学习率

2024.1.16

  • lr若太大,则会导致训练波动,不容易收敛,表现出来就是算法的loss在下降一段时间后,又突然增加,然后又下降,然后有增加,就像乒乓球落地上,弹弹弹。loss曲线并不光滑,如锯齿版的下降(就像下图的样子)。甚至始终无法收敛。
  • lr若太小,最大的问题就是需要更长的时间来进行收敛。
  • 对lr的设置除了经验值外,就是观看loss收敛情况。

epochs

2024.1.16

  • 它就很简单了,先推荐设置一个较大的值,然后观察能收敛的epoch即可

dropout

待添加

相关推荐
Blossom.11818 分钟前
机器学习在智能供应链中的应用:需求预测与物流优化
人工智能·深度学习·神经网络·机器学习·计算机视觉·机器人·语音识别
Gyoku Mint24 分钟前
深度学习×第4卷:Pytorch实战——她第一次用张量去拟合你的轨迹
人工智能·pytorch·python·深度学习·神经网络·算法·聚类
X_StarX31 分钟前
【Unity笔记01】基于单例模式的简单UI框架
笔记·ui·unity·单例模式·游戏引擎·游戏开发·大学生
葫三生1 小时前
如何评价《论三生原理》在科技界的地位?
人工智能·算法·机器学习·数学建模·量子计算
智者知已应修善业2 小时前
【51单片机用数码管显示流水灯的种类是按钮控制数码管加一和流水灯】2022-6-14
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
m0_751336393 小时前
突破性进展:超短等离子体脉冲实现单电子量子干涉,为飞行量子比特奠定基础
人工智能·深度学习·量子计算·材料科学·光子器件·光子学·无线电电子
拓端研究室4 小时前
视频讲解:门槛效应模型Threshold Effect分析数字金融指数与消费结构数据
前端·算法
随缘而动,随遇而安6 小时前
第八十八篇 大数据中的递归算法:从俄罗斯套娃到分布式计算的奇妙之旅
大数据·数据结构·算法
孞㐑¥6 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
有Li6 小时前
通过具有一致性嵌入的大语言模型实现端到端乳腺癌放射治疗计划制定|文献速递-最新论文分享
论文阅读·深度学习·分类·医学生