训练网络---train loss从一开始就不变

训练网络—train loss、test loss,accuracy从一开始就不变

在训练NTSNet的时候,使用了vgg_16bn的baseline,将其设置为unpretrained的时候,发现vgg文件使用了默认的kaiming初始化。
但遇到这样一个问题:把此时的vgg_16bn的参数全部打印处理,它有很多层的w权重为接近0的特别小的数,导致数据变化的程度不足以影响得到的结果。

**train loss不变的情况,一般是因为前馈网络中的有些地方的参数 很大或者很小,致数据变化的程度不足以影响得到的结果。**明确前馈网络哪个地方出现这个情况,特别是对源代码进行改动的地方。

  • 在这里可以看到,假设对于一个样本的train,w太小,z小,a接近0,每一次都是这样。损失函数基本不变,梯度更新小。
  • 对于2分类问题,训练集有9924张照片,每一次a接近0,会把所有的样本预测为同一类,导致accuracy为1个定值。

最后,不得不说,鼎文大佬就是NB!!!!!!!!!!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当train loss下降而val loss不变时,通常表示模型出现了过拟合的情况。过拟合是指模型在训练集上表现良好,但在测试集上表现较差的现象。这可能是因为模型过于复杂,导致在训练集上过度拟合,而无法泛化到测试集上。为了解决这个问题,可以尝试减少模型的复杂度,增加正则化项,或者增加训练数据的数量等方法。 ### 回答2: train loss 和 val loss训练神经网络模型时常用的两个指标,一般希望 train loss 和 val loss 同时下降,表示模型训练效果良好。但有时会出现 train loss 下降而 val loss 不变的情况,这一现象可能有以下几种原因: 1. 过拟合:train loss 下降,但 val loss 不变可能是因为模型过拟合了。过拟合指的是模型在训练集上表现优异,但在新数据(验证集或测试集)上表现不佳。一般来说,过拟合发生时,模型在训练集上的表现(train loss)会有所提高,但在验证集上的表现(val loss)不会随之提高或者连续下降变缓。解决过拟合问题可以采用正则化、增加训练数据等方法。 2. 数据不平衡:train loss 下降,但 val loss 不变还可能是由于数据不平衡导致。即训练集和验证集中的样本分布不一致,如样本类别分布不均等情况。此时,模型在训练集中过度拟合了数据,但是在验证集上没有很好地泛化。解决数据不平衡可以通过重采样,即增加少数类数据或删除多数类数据等方法。 3. 验证集标注有误:train loss 下降,但 val loss 不变有可能是由于验证集标注有误。即验证集中某些样本的标注不正确,导致模型在验证集上的表现(val loss)得不到改善。这种情况下,可以重新检查验证集中的样本标注,或者使用交叉验证方法。 总而言之,train loss 下降而 val loss 不变可能是由于模型过拟合、数据不平衡或者验证集标注有误等原因导致的。解决这个问题的方法包括正则化、增加训练数据、重采样、重新检查验证集样本标注等。 ### 回答3: trainloss下降,val loss不变可能有以下几种情况: 1. 过拟合 (Overfitting) 过拟合指的是模型在训练集上表现良好,但在测试集上表现较差的现象。当训练数据集过小或模型过于复杂时,很容易出现过拟合的情况。当模型学习到了训练数据集中的噪声,或过于复杂时,训练集上的误差可以被减小,但由于模型无法泛化到新的数据,因此测试集上的误差却不能被减小。在这种情况下,train loss会继续下降,但val loss不会下降,因为模型已经无法从数据中学到新的信息了。 2. 数据不平衡 在某些分类任务中,可能由于数据分布的不平衡,训练集中的某些类别比其他类别更多(或更少)。这种情况下,模型可能会偏向于预测更多的样本属于训练数据集中数量较多的类别,而对于数量较少的类别预测得不够准确。这样,train loss在不断下降,但val loss却没有下降,因为模型无法正确预测测试集中数量较少的类别。 3. 数据噪声 训练数据集中可能包含一些不合理的数据点,这些数据点可能对模型的训练造成干扰,从而导致模型无法泛化到新的数据。这时,train loss会不断下降,但val loss无法下降。我们可以通过对数据进行清洗来解决这个问题,或采用一些更加健壮的模型来适应噪声数据。 4. 梯度消失 在某些情况下,由于模型的深度、学习率设置不当或激活函数的选择等问题,可能导致模型训练过程中出现梯度消失或梯度爆炸的现象。这时,train loss会下降,但由于梯度无法传递到底层,val loss不会下降。我们可以通过调整学习率、使用更合适的激活函数等方式来解决这个问题。 总之,train loss下降,而val loss不变如果是由于模型过度拟合或者数据不平衡导致的,我们需要对数据进行处理或采用一些更简单的模型来避免过度拟合,然后对模型进行逐步优化;如果是由于数据噪声或梯度消失导致的,我们需要对数据进行清洗、调整学习率或更换激活函数等方式进行解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值