训练过程loss突然增大可能的原因

  1. 训练样本是否 shuffle 过,如果没shuffle 可能你之前都拟合一些近似的样本 误差很小,然后在一个 batch
    中突然拟合了一个和之前差异很大的样本
  2. 如果使用了 adam,通常对这种情况会处理的好一点,adam的两个 ema参数可以调整试试,可以快进你的
    迭代速度,把他们调大一些,快进的速度为 1/(1-lambda)。
  3. 使用adam 了解了数据集的迭代特性后建议切换回到 SGD,通过进一步参数调整来得到更好的结果。
  4. learning rate 如果刚开始过大的话,数值容易出现不稳定的情况,可以尝试调小
  5. 还要看一下你的 network 是哪一种类型,通常 RNN 类的经常更容易遇到这样的问题,尝试简化模型。
  6. 如果尝试很多方法都不行,那么可能是数据集的特征和 label 不match
    【转】

你可能感兴趣的:(个人成长,深度学习,机器学习,人工智能,python,神经网络)