我是人工神经网络的新手,但请帮我解决这个问题?
我正在尝试实现一个用于字符识别的人工神经网络(使用 MLP 和 SNN),我是否需要在输出层中具有与需要识别的字符数量相同数量的神经元。例如,如果我希望我的网络能够识别大写字母、小写字母和数字,我需要在输出层中有 26+26+10 个神经元。
如果我必须识别 Unicode 字符集中的所有字符,我需要输出层中有多少个神经元。
是否有任何方法(动态阈值)可以减少此数字或在输出层中动态添加神经元?
如果可能,请提供研究文章的链接。谢谢。
不,您不需要输出层大小来匹配类的数量。
我认为您需要了解的是,输出层的输出只是网络输入的表示。话虽如此,您可以拥有所需的任何输出层。如果需要镜像类的编码,减少层中节点数的最简单方法是使用二进制编码。
示例:您可以使用 3 个神经元,而不是对 8 个类使用 8 个节点(每个类 1 个节点):
类 0 是输出 0-0-0
类 1 是输出 0-0-1
...
类 7 是输出 1-1-1
我想你明白了。当然,您不仅可以使用二进制,还可以使用您能想到的任何编码方法(或谷歌)。