4

我正在使用CNN进行回归任务。我使用Tensorflow,优化器是Adam。网络似乎完全收敛,直到损失突然增加并伴随验证错误的一点。这里有标签的损失的情节和分离的权重器(Optimizer是对他们的总和运行) label loss weight loss损失突然增加与亚当优化器在Tensorflow

我用L2损失重正规化,也为标签。我在训练数据上应用一些随机性。我目前正在尝试使用RSMProp来查看行为是否改变,但至少需要8h才能重现错误。

我想了解这是如何发生的。希望您能够帮助我。

+0

降低学习率? –

+0

一般来说,对于亚当来说,训练时不需要降低学习率。学习速度太高会导致网络收敛于更糟的损失值?在RMSProp运行后,我可以尝试降低初始费率,但这意味着需要更多时间才能发生这种情况,我认为... –

+0

等等,第一个情节是什么?这是训练损失的权利?但它正在下降?那么问题在哪里?你可以解释吗?如果你说的是综合损失,然后以重量正则化为主(这就是我的解释),也许玩一些阿尔法这是设置两个损失组件的规模。 – sascha

回答

4

我在过去几个月的经验如下: 亚当非常容易使用,因为您不必非常使用初始学习速度,而且它几乎总能正常工作。然而,在融合时,Adam并不是真正适应解决方案,而是在更高的迭代周期中摇摆。虽然SGD给出了几乎完美的形状损失图,并且在更高的迭代中似乎收敛得更好。 但是,更改小部分设置需要调整SGD参数,否则最终会出现NaN ......对于体系结构和常规方法的实验,我赞成Adam,但是如果您希望获得所选择的一种体系结构的最佳版本,则应该使用SGD并至少比较解决方案。

我还注意到一个很好的初始SGD设置(学习速度,体重衰减等)收敛速度与使用Adam一样快,在我的设置leas。 希望这可以帮助你们中的一些人!

编辑:请注意,在我最初的问题中的效果是不是即使与亚当。看起来像我有一个错误,但我真的不记得那里的问题。