在深度学习中,累计不同批次的损失估计总体损失

在深度学习中,累计不同批次的损失估计总体损失

在深度学习训练模型的过程中,通常会通过计算不同批次间的损失和,当作模型在这个训练集上的总体损失,这种做法是否具有可行性呢?

  • 什么是总体损失 ?
    • 总体损失是计算模型在整个数据集上的损失,但是在训练时,可以计算每个批次上的损失并求和,以此观察模型的训练进度。
  • 训练的作用:前向传播计算损失函数值,为了尽量减少损失函数值,反向传播计算损失函数梯度,并用梯度更新模型参数。通过不断地迭代上面的步骤,让模型收敛到一个局部最优解。
  • 需要注意的是 :同一个批次使用的是相同的模型参数,计算完一个批次之后,模型参数也会相应地更新,所以不同的批次之间使用的模型参数一般不同相同
  • 观察总体损失的意义:监控并指导模型的训练,我们的目标是让总体损失在训练过程中逐渐减小。
  • 所以在同一轮训练中,虽然不同批次之间会由于参数的变化,计算的损失差异可能比较大,而通过训练的目标可以知道,同一轮中越往后的批次,得到的损失理论上应该是越小的。所以累计的不同批次之间的损失当作总体损失,如果总体损失在训练期间不断减小,那么模型正在学习改进
  • 使用每一轮训练好的模型来计算总体损失是否可行?
    • 可行。但是会导致训练非常慢,因为需要在每一轮训练后,计算模型在整个训练集上的损失。
  • 可以使用最后一个批次的损失,来监控模型的训练进度吗?
    • 可以。这个损失通常称为**"当前批次损失"**,但是这个损失不一定能很好地反映整个训练的过程中模型的性能,所以更好的做法是同时监控"当前批次损失"和总体损失。
相关推荐
-拟墨画扇-5 分钟前
神经网络 | ⑬ 超参数验证:找到最佳学习超参数
深度学习·神经网络·学习
xexpertS8 分钟前
不稳定测试治理:如何通过自动检测与自动抑制提升 CI 稳定性
人工智能·自动化
小程故事多_809 分钟前
Graph Engineering,重构AI智能体协作的底层逻辑,让复杂任务高效落地
人工智能·重构
宸津-代码粉碎机11 分钟前
Jar热部署进阶实战|修复原生方案OOM与类冲突问题,生产级无BUG优化方案
java·大数据·服务器·开发语言·前端·人工智能·python
咖啡星人k21 分钟前
AI 编程工具集体变脸:Cursor 漏洞、TRAE 限额、Claude Code 数据收集风波
人工智能·安全·microsoft·cursor·trae·ai编程工具
凡人AI录1 小时前
GPT-5.6 正式发布:Codex 并入 ChatGPT,额度与模型体系全面调整
人工智能·gpt·chatgpt
墨舟的AI笔记1 小时前
组件级响应式的破局:CSS 容器查询的工程落地与取舍
人工智能
Molesidy1 小时前
【AI】【ChatGPT】【Codex】codex桌面版的插件(MCP)和技能(skills)的安装和应用
人工智能·codex·ai agent
工业设备方案笔记1 小时前
AI大模型为什么开始跑到边缘设备上?——本地大模型部署正在成为新的行业趋势
人工智能
未知违规用户2 小时前
大模型项目:RAG项目实战与FlagEmbedding模型
人工智能·windows·python·深度学习