首页 文章

张量流CNN损失函数在张量板上升和下降(振荡),如何去除它们?

提问于
浏览
1

我正在Audioset2017数据集上训练ResNet50,在训练期间有张量流并验证结果,我的损失函数波动,整体趋势正在下降,但我很害怕 .

我运行了100个纪元,批量大小= 100 . 并且减少并提高学习率,但没有效果 .

想知道我的训练是否正确,我可以使用这个网络吗?或者它会导致错误的结果 . 我可以用一些技巧删除它们吗?这些是我的火车和验证(eval)损失和其他指标图片(来自tensorboard) .

验证模式:

火车模式:

2 回答

  • 1

    似乎在经过12k步后,模型开始过度拟合 . 当验证损失(泛化误差)再次缓慢增加时,训练损失进一步减少 . 在此之后,训练模型只会使情况变得更糟 .

    在下图中,您处于过度拟合区域 .

    (来自www.deeplearningbook.org

    您可能希望通过增加正则化来降低模型过度拟合训练数据的能力 . 例如,L2权重正则化或dropout .

    至于振荡 . 它们很自然,批量大小为100,你不用担心 .

  • 0

    在一个好的模型中,您将希望损失函数的图形下降到验证集 . 下降趋势表明您的模型正在推广以学习以前看不见的示例 . 机器学习的一般目标是能够使用捕获学习问题的采样数据点来学习一些模型参数,并可以预测样本外的示例 .

    对于训练集,损失值的下降趋势表明该模型正在从所提供的训练示例中学习对目标输出的合理估计 . 您通常也希望看到这个向下的图表;否则,这将意味着您的模型不适合训练集,并且在经验上保证不会在验证集上做得好 .

    要获得有关解释监督学习模型的简要理解,请阅读Supervised Machine Learning: A Conversational Guide For Executives And Practitioners

相关问题