【问题标题】:MSE during Neural Network training神经网络训练期间的 MSE
【发布时间】:2016-07-29 03:47:24
【问题描述】:

MSE 是否有可能在训练期间增加?

我目前正在计算每个时期的验证集的 MSE,在某个特定点,MSE 开始增加而不是减少。有人对此行为有解释吗?

【问题讨论】:

    标签: machine-learning neural-network


    【解决方案1】:

    回答您的问题:是的,有可能。

    如果您使用正则化或随机训练,则训练时 MSE 会出现一些起伏是正常的。

    问题的一些可能原因

    1. 您使用的学习率太高,这导致了超出成本函数的局部最小值的问题。

    2. 神经网络过度拟合。训练过多而失去泛化能力。

    你可以尝试什么:

    1. 当这种情况开始发生时,请降低您的学习率。

    2. 在您的网络上应用某种正则化,例如 dropout,以避免过度拟合。

    【讨论】:

    • 感谢您的回答!我也考虑了学习率。过拟合是一个好点。我心里没有这个。你知道调整学习率的好方法吗?
    • 您可以手动进行,检测 MSE 何时增加并将学习率降低一位小数。例如,如果您使用 0.01,请将其更改为 0.001。如果您使用随机梯度下降作为优化函数,您可以搜索优化算法,例如 Adam arxiv.org/abs/1412.6980。 Tensorflow 实现了 Adam 优化器。希望对您有所帮助。
    • 谢谢!如果可能,我将看看 Adam 并实施它。我经常懒得手动做事情:)根据您的经验:权重衰减值得作为正则化实现吗?
    • 没问题!希望你能解决你的问题。抱歉,我刚开始使用机器学习/深度学习,从未使用过权重衰减 =/。我使用了 dropout 并取得了不错的效果。看看,它是一个非常简单的实现:cs.toronto.edu/~hinton/absps/JMLRdropout.pdf
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2019-12-17
    • 2010-11-20
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多