我在PyTorch中训练的神经网络出现了非常奇怪的情况。
我正在训练一个已知的、被分割成训练集和验证集的数据集。在训练过程中,我对数据进行了随机打乱和即时数据增强。
我得到了以下结果:
我有以下图表展示:
-
如何解释验证损失增加而验证准确率也增加的现象?
-
训练集和验证集之间的准确率为何有如此大的差异?90%和40%?
更新:
我平衡了数据集。这是一个二分类问题。现在类1有1700个样本,类2有1200个样本。总共600个用于验证,2300个用于训练。我仍然观察到类似的行为:
**这是否是因为我冻结了网络的一部分权重?
**这是否是因为超参数如学习率(lr)的问题?
回答:
我找到了解决方案:我对训练集和验证集使用了不同的数据增强。将它们匹配后,验证准确率也得到了提高!