train loss与test loss结果分析
train loss 不断下降,test loss不断下降,说明网络仍在学习
;
在训练过程中loss可能会出现几次震荡现象,但是整体有上升趋势就说明网络还在学习,可以继续训练。
train loss 不断下降,test loss趋于不变,说明网络过拟合
过拟合
最直观的表现就是
training accuracy 特别高
,但是
testing accuracy 特别低
,即两者相差特别大。训练完了以后可以测试一下网络在训练集的正确率,如果和测试集的正确率相差特别大(比如20%),则说明网络过
拟合
了。
出现过拟合的原因(原文链接:
https://blog.csdn.net/NIGHT_SILENT/article/details/80795640
)
1. 训练集的数量级和模型的复杂度不匹配。训练集的数量级要小于模型的复杂度;
2. 训练集和测试集特征分布不一致;
3. 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;
4. 权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。
解决办法:
即和已有的数据是独立同分布的,或者近似独立同分布的。一般有以下方法:
-
从数据源头采集更多数据
-
复制原有数据并加上随机噪声
-
重采样
-
根据当前数据集估计数据分布参数,使用该分布产生更多数据等
train loss 趋于不变,test loss不断下降,说明数据集100%有问题;
train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;
train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题
异常数据的特点:与主流样本中的规律不同,在一个样本中出现的概率要比主流数据出现的概率低很多。在每次训练中,忽略模型中一些节点,将小概率的异常数据获得学习的机会变得更低。这样,异常数据对模型的影响就会更小。
DL之DNN:基于sklearn自带california_housing加利福尼亚房价数据集利用GD神经网络梯度下降算法进行回归预测(数据较多时采用mini-batch方式训练会更快)
ViTDet其实是恺明团队MAE和ViT-based Mask R-CNN两个工作的延续。MAE提出了ViT的无监督训练方法,而ViT-based Mask R-CNN给出了用ViT作为backbone的Mask R-CNN的训练技巧,并证明了MAE预训练对下游检测任务的重要性。而ViTDet进一步改进了一些设计,证明了ViT作为backone的检测模型可以匹敌基于FPN的backbone(如SwinT和MViT)检测模型。