我们真的需要把训练集的损失降到零吗?

在训练模型的时候,我们需要将损失函数一直训练到0吗?显然不用。一般来说,我们是用训练集来训练模型,但希望的是验证机的损失越小越好,而正常来说训练集的损失降到一定值后,验证集的损失就会开始上升,因此没必要把训练集的损失降低到0

既然如此,在已经达到了某个阈值之后,我们可不可以做点别的事情来提升模型性能呢?ICML2020的论文《Do We Need Zero Training Loss After Achieving Zero Training Error?》回答了这个问题,不过实际上它并没有很好的描述"为什么",而只是提出了"怎么做"



左图:不加Flooding的训练示意图;右图:加了Flooding的训练示意图

简单来说,就是最终的验证集效果可能更好一些,原论文的实验结果如下:


Flooding的实验结果:第一行W表示是否使用weight decay,第二行E表示是否使用early stop,第三行的F表示是否使用Flooding

个人分析

如何解释这个方法呢?可以想像,当损失函数达到b bb之后,训练流程大概就是在交替执行梯度下降和梯度上升。直观想的话,感觉一步上


继续脑洞

想要使用Flooding非常简单,只需要在原有代码基础上增加一行即可


效果检验

我随便在网上找了个竞赛,然后利用别人提供的以BERT为baseline的代码,对Flooding的效果进行了测试,下图分别是没有做Flooding和参数b = 0.7 的Flooding损失值变化图,值得一提的是,没有做Flooding的验证集最低损失值为0.814198,而做了Flooding的验证集最低损失值为0.809810



相关推荐

  • 从启发式到模型化 京东推荐广告排序机制演化
  • 全平台GUI库, 物联网,嵌入式,单片机,桌面应用都行
  • 6.2K Star很精美,一个跨平台的聊天软件
  • 数据科学中10个常用的高级SQL查询方法
  • 当我们执行 npm run serve 时到底发生了什么?
  • 也看Graph CoT–大模型与知识图谱结合工作:兼看多模态大模型进展综述
  • 智猩猩AI智能体技术研讨会最终议程公布!6位学者和开发大牛现场解读AI智能体内涵
  • 神级代码注释,喜欢的拿去用
  • AI大模型,这个就叫专业!
  • 一笔漂亮的退出:回报5个亿
  • 如何促进你的职业发展?个人专著《工作的心智》,今日开始预售
  • 腾讯云披露 4 月 8 日服务故障原因;北京技术人员月平均薪酬中位值超1.2万元 | 极客头条
  • 硅谷 CEO 立「千万赌约」,邀马斯克应战:“我用 1000 万美元,赌你的 AI 预测是错的!”
  • 做代码搜索真的太难了!
  • 四年磨一剑,腾讯云亮出业内首款全自研AIGC存储解决方案
  • 量子位下一个AI选题,你说了算
  • 北大字节开辟图像生成新范式!超越Sora核心组件DiT,不再预测下一个token
  • 融合ChatGPT+DALL·E 3,贾佳亚团队新作开源畅玩:识图推理生图一站解决
  • 人在B站,要被AI公司们挤爆了
  • 面试太紧张怎么破?