【发布时间】:2018-04-11 06:44:05
【问题描述】:
我已经建立了一个有两个隐藏层的神经网络。对于前两个隐藏层,我使用了 ReLU 激活,而对于最后一层,我使用了 sigmoid 函数。当我启动模型时,损失函数减小(正确),但精度保持为零。
Epoch: 9/150 Train Loss: 6.1869 Train Acc: 0.0005
Epoch: 9/150 Validation Loss: 6.4013 Validation Acc: 0.0000
Epoch: 17/150 Train Loss: 3.5452 Train Acc: 0.0005
Epoch: 17/150 Validation Loss: 3.7929 Validation Acc: 0.0000
Epoch: 25/150 Train Loss: 2.1594 Train Acc: 0.0005
Epoch: 25/150 Validation Loss: 2.2964 Validation Acc: 0.0000
Epoch: 34/150 Train Loss: 1.4753 Train Acc: 0.0005
Epoch: 34/150 Validation Loss: 1.5603 Validation Acc: 0.0000
Epoch: 42/150 Train Loss: 1.1325 Train Acc: 0.0005
Epoch: 42/150 Validation Loss: 1.2386 Validation Acc: 0.0000
Epoch: 50/150 Train Loss: 0.9314 Train Acc: 0.0005
Epoch: 50/150 Validation Loss: 1.0469 Validation Acc: 0.0000
Epoch: 59/150 Train Loss: 0.8146 Train Acc: 0.0005
Epoch: 59/150 Validation Loss: 0.9405 Validation Acc: 0.0000
Epoch: 67/150 Train Loss: 0.7348 Train Acc: 0.0005
Epoch: 67/150 Validation Loss: 0.8703 Validation Acc: 0.0000
Epoch: 75/150 Train Loss: 0.6712 Train Acc: 0.0005
Epoch: 75/150 Validation Loss: 0.8055 Validation Acc: 0.0000
Epoch: 84/150 Train Loss: 0.6200 Train Acc: 0.0005
Epoch: 84/150 Validation Loss: 0.7562 Validation Acc: 0.0000
Epoch: 92/150 Train Loss: 0.5753 Train Acc: 0.0005
Epoch: 92/150 Validation Loss: 0.7161 Validation Acc: 0.0000
Epoch: 100/150 Train Loss: 0.5385 Train Acc: 0.0005
Epoch: 100/150 Validation Loss: 0.6819 Validation Acc: 0.0000
Epoch: 109/150 Train Loss: 0.5085 Train Acc: 0.0005
Epoch: 109/150 Validation Loss: 0.6436 Validation Acc: 0.0000
Epoch: 117/150 Train Loss: 0.4857 Train Acc: 0.0005
Epoch: 117/150 Validation Loss: 0.6200 Validation Acc: 0.0000
Epoch: 125/150 Train Loss: 0.4664 Train Acc: 0.0005
Epoch: 125/150 Validation Loss: 0.5994 Validation Acc: 0.0000
Epoch: 134/150 Train Loss: 0.4504 Train Acc: 0.0005
Epoch: 134/150 Validation Loss: 0.5788 Validation Acc: 0.0000
Epoch: 142/150 Train Loss: 0.4378 Train Acc: 0.0005
Epoch: 142/150 Validation Loss: 0.5631 Validation Acc: 0.0000
Epoch: 150/150 Train Loss: 0.4283 Train Acc: 0.0005
Epoch: 150/150 Validation Loss: 0.5510 Validation Acc: 0.0000
'./prova.ckpt'
我认为 ReLU 函数将梯度杀死为零。这可能是我准确的动机吗?
我可以尝试用不同组合的 softmax 来改变激活函数: 1. 仅使用 sigmoid 2.只使用softmax 3.使用ReLU和softmax 但情况没有改变。
为了构建神经网络,我遵循了 Kaggle 中的 Titanic 示例: https://www.kaggle.com/linxinzhe/tensorflow-deep-learning-to-solve-titanic
【问题讨论】:
-
你能在某处分享你的模型吗?如果不查看您的代码,很难说出为什么准确度会变为零。
标签: python-3.x tensorflow neural-network floating-accuracy