【机器学习】验证集loss震荡(loss的其他问题) 训练深度学习模型loss为nan的原因

这篇具有很好参考价值的文章主要介绍了【机器学习】验证集loss震荡(loss的其他问题) 训练深度学习模型loss为nan的原因。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

训练过程中发现,train loss一直下降,train acc一直上升;但是val loss、val acc却一直震荡。loss一会上一会下,但是总体趋势是向下的。

“loss震荡但验证集准确率总体下降” 如何解决?

测试集准确率这样震荡是正常的吗? - 李峰的回答 - 知乎

很多经验:loss问题汇总(不收敛、震荡、nan) - 飞狗的文章 - 知乎

训练过程中loss震荡特别严重,可能是什么问题? - 孤歌的回答 - 知乎

模型训练中出现NaN Loss的原因及解决方法_loss为nan的原因_there2belief的博客-CSDN博客

学习率和loss的关系?

w1 = w0-学习率*梯度()

loss = |ypred-ytrue|

训练深度学习模型loss为nan的原因

http://t.csdn.cn/jfNpF

模型时遇到个问题:在大样本训练模型时候的loss为nan,尝试了各种方法也没有什么起色,最终一起分析了一番拟确定了原因,这边就分享下可能的原因可供分析调整~

原因

1.模型问题

  • 网络结构设计问题

通过弱化场景,简化样本的方式去检查是否为网络的问题

  • 损失函数设置不合理
  • 激活函数选择不当
  • 参数初始化问题

2.数据问题

  • 数据需归一化
    • 减均值
    • 除方差
    • 加入normalization(BN\L2 norm等)
  • 数据标签不在[0, num_classes)范围内
  • 训练样本存在脏数据

        这个是和师弟最终确定的原因,因为在实际业务中的真实数据需要耗费较多的时间去处理,不像open dataset那样已经帮你处理的干干净净,所以如上述的方法一一检查过了还是没有成效的话,一定要好好地检查下数据。

3.训练问题

loss为nan的说明loss发散,这个时候需要考虑下梯度爆炸的可能,那么相应的解法方式如下:

  • 调小学习率lr
  • 调小batch size
  • 加入gradient clipping

什么是loss发散?(Loss变为NaN怎么办?)

因为学习率过大的话,每次参数更新步子迈得太大,loss直接不往极小值点走了,结果越更新离极小值点越远。这就是所谓的loss发散。发散着发散着loss越来越大,就变为NaN了。【机器学习】验证集loss震荡(loss的其他问题),机器学习,深度学习,机器学习,人工智能,深度学习

 

【算法】深度学习模型损失值loss不收敛,曲线震荡发散怎么办?_loss的发散问题_YaoYee_7的博客-CSDN博客

神经网络训练过程中先收敛,达到一个可观的性能后又发散了,loss曲线呈反"抛物线"型? - 知乎 

Loss变为NaN怎么办?_loss: nan_OhMyJayce的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-651625.html

到了这里,关于【机器学习】验证集loss震荡(loss的其他问题) 训练深度学习模型loss为nan的原因的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习数据集----训练集、测试集以及验证集

    1、训练集 用来构建模型,通过训练拟合一些参数 建立分类器 。 2、验证集 用于确定网络结构以及调整模型的超参数。 使用验证集的目的就是为了快速 调参 (如网络层数、网络节点数、迭代次数等等),从而获得当前最优模型。 验证集是在训练集中划分出的一部分。 验证

    2024年02月01日
    浏览(33)
  • 深度学习中训练、推理和验证分别都是什么意思

    在深度学习中,推理(Inference)、训练(Training)和验证(Validation)是三个关键概念,它们分别表示了不同的阶段和任务: 训练(Training): 训练是深度学习模型的初始阶段,其中模型通过学习数据的过程来逐步优化自己的参数,以便能够捕获输入数据的特征并执行特定任务

    2024年02月13日
    浏览(36)
  • 竞赛项目 深度学习验证码识别 - 机器视觉 python opencv

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习验证码识别 - 机器视觉 python opencv 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.

    2024年02月13日
    浏览(53)
  • 深度学习基础5:交叉熵损失函数、MSE、CTC损失适用于字识别语音等序列问题、Balanced L1 Loss适用于目标检测

    深度学习基础5:交叉熵损失函数、MSE、CTC损失适用于字识别语音等序列问题、Balanced L1 Loss适用于目标检测 在物理学中,“熵”被用来表示热力学系统所呈现的无序程度。香农将这一概念引入信息论领域,提出了“信息熵”概念,通过对数函数来测量信息的不确定性。交叉熵(

    2023年04月18日
    浏览(36)
  • 【深度学习基础】专业术语汇总(欠拟合和过拟合、泛化能力与迁移学习、调参和超参数、训练集、测试集和验证集)

    📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉 📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处 欠拟合的概念 :

    2024年02月06日
    浏览(36)
  • 【小笔记】从算法训练现象分析可能的参数设置问题-loss分析篇

    【学而不思则罔,思而不学则殆】 9.30 首先给出一个理想的训练loss收敛图片:loss平滑的下降,并逐渐收敛到0. 平滑说明学习率设置较合适,收敛到0说明模型在参数空间中收敛到一个很理想的区域。 训练现象: 本质原因: 算法收敛到参数空间中某个较高的“平坦区域”,而

    2024年02月07日
    浏览(26)
  • pytorch | loss不收敛或者训练中梯度grad为None的问题

    原因定位: https://blog.csdn.net/weixin_44231148/article/details/107240840 Pytorch中自定义网络参数,存在梯度但不进行更新 - 漱石的文章 - 知乎 https://zhuanlan.zhihu.com/p/92729376 https://zhuanlan.zhihu.com/p/508458545 介绍hooks: https://zhuanlan.zhihu.com/p/553627695 https://medium.com/analytics-vidhya/pytorch-hooks-5909c7636

    2024年02月08日
    浏览(37)
  • 深度学习笔记(2)——loss.item()

    在深度学习代码进行训练时,经常用到.item()。比如loss.item()。我们可以做个简单测试代码看看它的作用。 输出结果 理解: 1.item()取出张量具体位置的元素元素值 2.并且返回的是该位置元素值的高精度值 3.保持原元素类型不变;必须指定位置 四、用途:

    2024年02月16日
    浏览(35)
  • 使用PyTorch解决多分类问题:构建、训练和评估深度学习模型

    💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互

    2024年02月07日
    浏览(34)
  • 机器学习&&深度学习——向量求导问题

    👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习深度学习——图像分类数据集 📚订阅专栏:机器学习深度学习 希望文章对你们有所帮助 这篇文章的本意还是再一次复盘一下向量求导问题,很多时候的例子都直接推着就过去了,但是重新

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包