gpt4 book ai didi

machine-learning - 前馈神经网络 : Using a single Network with multiple output neurons for many classes

转载 作者:行者123 更新时间:2023-11-30 09:29:47 24 4
gpt4 key购买 nike

我目前正在研究 MNIST 手写数字分类。

我构建了一个具有以下结构的前馈网络:

  • 输入:28x28 = 784 个输入
  • 隐藏层具有 1000 个神经元的单个隐藏层
  • 输出层:10 个神经元

所有神经元都具有Sigmoid激活函数。

报告的类别是与具有最大输出值的输出神经元对应的类别

我的问题是:

  • 创建具有多个输出的单个网络是一个好方法吗? IE。我应该为每个数字创建一个单独的网络吗?

我问这个问题,因为目前网络的成功率停留在约 75%。由于实际上“10个分类器”共享隐藏层的相同神经元 - 我不确定 - 它会降低网络学习能力吗?

** 编辑:**

由于其他人可能会引用该帖子,我想诚实地更新一下,75% 的成功率是在大约 1500 个时期之后实现的。现在我已经经历了近 3000 个 epoch,成功率约为 85% - 所以效果很好

最佳答案

简而言之,是的,使用具有多个输出的单个网络是一种很好的方法。第一个隐藏层描述特征空间中的决策边界(超平面),多个数字可以从某些相同的超平面中受益。虽然您可以为每个数字创建一个 ANN,但这种一对一的方法并不一定会产生更好的结果,并且需要训练 10 倍数量的 ANN(每个 ANN 可能会被训练多次,以避免局部最小值) 。如果您有数百或数千位数字,那么它可能更有意义。

单个隐藏层中的 1000 个神经元对于这个问题来说似乎很多。我认为通过减少该数字并添加第二个隐藏层,您可能会获得更好的手写数字结果。这将使您可以在输入特征空间中对更复杂的组合边界进行建模。例如,也许尝试使用 784x20x20x10 网络。

如果您确实尝试不同的网络结构,通常最好从较少数量的层和神经元开始,然后增加复杂性。这不仅减少了训练时间,还避免了立即过度拟合数据(您没有提到您的准确性是针对训练集还是验证集)。

关于machine-learning - 前馈神经网络 : Using a single Network with multiple output neurons for many classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30671159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com