最近,训练深度网络时出现一个问题,就是loss从模型训练开始就在某个值上下波动,保持不变。例如,2分类问题是0.69,10分类问题是2.3左右,因为刚开始都是用的mnist数据集。
训练的提示如下图:

对于为什么会出现这种问题,想知道原因的可以参考这篇博客,里面给出了原因以及从哪些方面检查问题。
而我,就讲下我的一个粗心小错误。如果,你检查你的数据集没问题,网络结构也正常。不妨,考虑是不是你初始化的权重(weights)不太合适。
我出现这种现象时候的权重初始化,std=0.01。
weights_initializer=tf.truncated_normal_initializer(0.0, 0.01)
我然后将上面的参数,改std=0.1时,网络就正常训练。
weights_initializer=tf.truncated_normal_initializer(0.0, 0.1)
如果,真的出现上面现象,而有找不到其他的问题,不妨考虑一下,是不是权重参数不合适造成的。
本文探讨了深度网络训练中loss值固定在一个数值上下波动不下降的现象,分析了可能是由于权重初始化不当导致的问题,并通过调整权重初始化参数std从0.01到0.1成功解决了该问题。
62

被折叠的 条评论
为什么被折叠?



