神经网络没有猜测 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}
比它尝试过的任何实际猜测策略都要好。有时,它会尝试改变,但永远找不到比对所有事情都说零的策略更有效的策略。
谁能告诉我如何解决这个问题?它需要更多的训练数据吗?这是否意味着我编写的反向传播函数有错误?
感谢任何建议!
- 确保您的数据标签是整数编码的
- 确保最后的
Dense
层有 10
个具有 softmax
激活函数的单元。
- 使用
sparse_categorical_crossentropy
作为损失函数编译模型。
我在 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}
比它尝试过的任何实际猜测策略都要好。有时,它会尝试改变,但永远找不到比对所有事情都说零的策略更有效的策略。
谁能告诉我如何解决这个问题?它需要更多的训练数据吗?这是否意味着我编写的反向传播函数有错误?
感谢任何建议!
- 确保您的数据标签是整数编码的
- 确保最后的
Dense
层有10
个具有softmax
激活函数的单元。 - 使用
sparse_categorical_crossentropy
作为损失函数编译模型。