百科问答小站 logo
百科问答小站 font logo



验证集loss上升,准确率却上升该如何理解? 第1页

  

user avatar   virter 网友的相关建议: 
      

如题主自己回复,这种情况是由于模型得到的结果过于极端(自信)导致,上几张图,题主的情况应该和我下面情况差不多:

可以看到随着迭代增加ValidationLoss越来越大快跑飞了,不过准确率却逐渐平稳变化不大。而且验证集的准确率最高点也出现在先下降后上升区间。实际上准确率最高点(10 epoch左右)的预测结果是这样的:

而训练200 epoch后的预测结果是这样的:

可以明显看出训练200轮后结果趋于极端,而这些极端的负面Loss拉大了总体Loss导致验证集Loss飙升。出现这种情况大多是训练集验证集数据分布不一致,或者训练集过小,未包含验证集中所有情况,也就是过拟合导致的。而解决这种现象可以尝试以下几种策略:

  1. 增加训练样本
  2. 增加正则项系数权重,减小过拟合
  3. 加入早停机制,ValLoss上升几个epoch直接停止
  4. 采用Focal Loss
  5. 加入Label Smoothing

不过个人感觉主要还是增加训练样本比较靠谱..而且不用太关心ValLoss,关注下ValAccuracy就好。我的这个实验虽然只训练10个epoch在验证集上的准确率高且ValLoss小,但在测试集上结果是巨差的,而训练200个epoch的模型ValLoss虽然巨高但测试集效果还不错。




  

相关话题

  如何看待Meta(恺明)最新论文ViTDet:只用ViT做backbone(不使用FPN)的检测模型? 
  有没有什么可以节省大量时间的 Deep Learning 效率神器? 
  学生网络用知识蒸馏损失去逼近教师网络,如何提高学生网络的准确率? 
  CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别? 
  如何评价深度学习相关顶级期刊论文难复现的问题? 
  如何评价谷歌提出的 Pix2Seq:将目标检测看成语言建模,效果超过 DETR? 
  为什么现在有这么多人工智能无用论? 
  为什么yolov5从零开始训练(不在ImageNet上预训练)能够达到如此高的性能? 
  究竟什么是损失函数 loss function? 
  transformer 为什么使用 layer normalization,而不是其他的归一化方法? 

前一个讨论
为什么学习深度学习感觉无法入门?
下一个讨论
联邦学习/联盟学习 (Federated Learning) 的发展现状及前景如何?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利