如何为神经网络计算隐藏和输出神经元的数量?

时间:2016-03-03 13:29:01

标签: neural-network ocr

我对神经网络很陌生,但我正在尝试创建一个用于光学字符识别的网络。我有100个图像,每个数字从0到9,大小为24x14。神经网络的输入数量是336,但我不知道如何获得隐藏神经元和输出神经元的数量。

我该如何计算?

2 个答案:

答案 0 :(得分:1)

虽然对于输出神经元,数量应该等于你想要区分的类的数量,对于隐藏层,大小不是那么直接设置,它主要取决于复杂性之间的权衡。模型和泛化能力(见https://en.wikipedia.org/wiki/Artificial_neural_network#Computational_power)。

这个问题的答案有助于: training feedforward neural network for OCR

答案 1 :(得分:1)

输出神经元的数量只是你的类数(除非你只有2个类,并且没有使用单热表示,在这种情况下你可以只使用2个输出神经元)。

隐藏层的数量以及随后隐藏神经元的数量并不像您认为的初学者那么简单。每个问题都有不同的配置,适用于它。你必须尝试多种方法。请记住这一点:

  1. 您添加的图层越多,您的计算就越复杂,因此网络训练的速度就越慢。
  2. 最好和最简单的做法之一是保持每层隐藏神经元的数量。
  3. 请记住每层隐藏的神经元是什么意思。输入图层是您的起始要素,每个后续隐藏图层都是您对这些要素执行的操作。
  4. 考虑您的问题以及您正在使用的功能。如果您正在处理图像,您可能需要在第一个隐藏层中使用大量神经元将您的功能分解为更小的单元。
  5. 通常,当您在一定程度上增加神经元的数量时,结果不会有太大变化。当你练习更多时,你会习惯这个。请记住您正在进行的权衡

    祝你好运:)