2014-02-14 48 views
0

我是新来的人工神经网络,但请帮我解决这个问题?输出层神经元数

我想实现一个用于字符识别的人工神经网络(使用MLP和SNN),我需要在输出层中具有与需要识别的字符数相同数量的神经元。例如,如果我希望我的网络能够识别大写字母,小写字母和数字,我是否需要在输出层中具有26 + 26 + 10个神经元。

如果我必须识别Unicode字符集中的所有字符,那么我需要输出层中有多少个神经元。

是否有任何方法(动态阈值)来减少此数字或动态添加输出层中的神经元?

请尽可能提供研究论文的链接。 谢谢。

+0

这篇研究文章提供了一种使用神经网络进行字符识别的方法,您不需要特别的输出神经元数量与输出数量相同:http://yann.lecun.com/exdb/publis/pdf/lecun -98.pdf ... 它基本上提供了一种方式,通过激活输出神经元的组合,您将能够预测输出。 – StrikeR

回答

3

不,您不需要输出层大小来匹配类的数量。

我认为你需要了解的是输出层的输出仅仅是网络输入的表示。这就是说,你可以有任何你想要的输出图层。如果你想要一个反映你的类的编码,减少图层中节点数量的最简单的方法是使用二进制编码。

示例:使用8个节点8类(每个类1个节点)代替时,可以使用3个神经元:
0级是输出0-0-0
第1类是输出0-0- 1
...
第7类是输出1-1-1

我觉得你的想法。当然,你可以使用不仅二进制,但字面上任何编码方法你可以想到(或谷歌)。

+0

谢谢,我明白了。这是我期待的。我很惊讶,为什么我无法想到它。 – rkrara