Tensorflow 为什么神经网络突然收敛到固定的结果?

Tensorflow 为什么神经网络突然收敛到固定的结果?,tensorflow,deep-learning,Tensorflow,Deep Learning,我使用tensorflow来训练MLP和CNN,并将AdamopOptimizer作为默认参数。 我发现它工作得很好,但经过一些训练步骤后,它会收敛到固定的结果。 例如,只有两类 training step 0: 0.5 training step 1000:0.9 training step 2000: 0.953 .......... training step 100000: 0.99995 training step 110000: 0.5 ................. train

我使用tensorflow来训练MLP和CNN,并将AdamopOptimizer作为默认参数。 我发现它工作得很好,但经过一些训练步骤后,它会收敛到固定的结果。 例如,只有两类

training step 0: 0.5
training step 1000:0.9
training step 2000: 0.953
..........
training step 100000: 0.99995
training step 110000: 0.5
.................
training step 200000: 0.5
经过一步之后,它收敛到一些表示所有label1或所有label2的值


原因是什么?我如何解决它?

因为没有发布代码,我们只能假设可能是回答者。根据我的经验,当类似的事情发生时(例如培训崩溃),这与网络中的某种溢出有关。您是否有生成NAN的培训示例?在网络发散前不久绘制网络输出有助于解决该问题。你的网络溢出了吗?绘制梯度范数在这里很有用。若它向无穷远移动,你们会遭受梯度爆炸的痛苦


但是,如果没有代码、领域知识、培训数据或任何东西,这只是一个猜测游戏。

您能提供一些关于您试图解决的实际问题的信息吗?有多少类,每个类有多少样本等,以及上述数字(
0.5
0.953
等)也代表了什么。