tensorflow softmax输出只有0或1

tensorflow softmax输出只有0或1

softmax层输出理应是0~1的小数, 一旦只输出0或1, 那表明模型对自己的判断相当“自信”

可供参考的改善措施如下:

1、使用非线性的激活函数, 比如 relu或者tanh

2、wights 和 bias 初始化是否过大

3、学习速率是否过大

4、神经元是否过多


楼主搭建CNN做图像识别遇到此问题时, 是因为权重weights初始化过大

修改前:


修改后:



根据楼主最近使用tensorflow的经验,补充tips:

1、学习速率一般设为 1e-4 ~ 1e-7

2、bias初始化一般设为0.1



参考:https://stackoverflow.com/questions/42225143/tensorflow-why-softmax-outputs-1-0-0-0

你可能感兴趣的:(深度学习)