我在使用对比自监督算法训练网络时,损失函数出现奇怪的变化趋势。就是在一个epoch中,随着训练进行,损失值会正常下降。训练数据是ImageNet的图像,每个batch的数据是随机选取的。但是一旦进入下一个epoch,损失值又会突然升高,重新下降。损失值的变化趋势如下图(手画的,请见谅~)。
请问大家有遇到相同情况的吗?一般是什么原因造成的呢?
首先将样本打乱看看,可能数据前后不一致。导致不同的batch学到的权重有规律地跳跃。