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

GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2 PiperOrigin-RevId: 663726708 2 个月前
91dac11a This test overrides disabled_backends, dropping the default value in the process. PiperOrigin-RevId: 663711155 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐