神经网络没有猜测 MNIST 数据集的数字

Neural Network guesses no number for MNIST dataset

我在 java 中构建了自己的神经网络。
它的神经元层遵循以下结构:784(输入),200、80、10(输出)

在向它提供 300 批 100 张随机选择图像的 MNIST 训练数据后,在每批之后更新权重和偏差。学习率为 0.005。然而,网络似乎采用了每次都给出全零输出的策略。因为只是说
{0,0,0,0,0,0,0,0,0,0}
更接近
{0,1,0,0,0,0,0, 0,0,0}
比它尝试过的任何实际猜测策略都要好。有时,它会尝试改变,但永远找不到比对所有事情都说零的策略更有效的策略。
谁能告诉我如何解决这个问题?它需要更多的训练数据吗?这是否意味着我编写的反向传播函数有错误?

感谢任何建议!

  1. 确保您的数据标签是整数编码的
  2. 确保最后的 Dense 层有 10 个具有 softmax 激活函数的单元。
  3. 使用 sparse_categorical_crossentropy 作为损失函数编译模型。