假设我正在尝试创建一个神经网络来识别简单的 5x5 像素网格上的字符。我只有 6 个可能的字符(符号)-X,+,/,\,|
目前我有一个前馈神经网络 - 有 25 个输入节点、6 个隐藏节点和一个输出节点(介于 0 和 1 之间 - sigmoid)。
输出对应一个符号。如'X' = 0.125
、'+' = 0.275
等'/' = 0.425
。
无论网络的输出(在测试中)是什么,都对应于数字上最接近的任何字符。IE -0.13 = 'X'
输入时,0.1 表示像素完全不着色,0.9 表示完全着色。
在 6 个符号上训练网络后,我通过添加一些噪声对其进行测试。
不幸的是,如果我在“/”中添加一点点噪音,网络就会认为它是“\”。
我想也许这 6 个符号的顺序(即它们对应的数字表示)可能会有所不同。
也许隐藏节点的数量导致了这个问题。
也许我将字符映射到数字的一般概念导致了问题。
任何帮助将不胜感激,以使网络更准确。