我决定尝试制作一个识别系统。我想从16x16像素的照片开始。那将是256个INPUT神经元。 现在,输出神经元本质上是我想要多少结果,所以说我想区分字母A,B和C. 那么我需要3个输出神经元吗?
我的问题是,我如何知道隐藏层中需要多少神经元?那又是什么目的呢?我想要多少个角色类?说,O和Q是非常相似的,所以这两个都会导致一个隐藏层神经元后来告诉他们appart?
答案 0 :(得分:2)
你对输入和输出层是正确的。
我如何知道隐藏层中需要多少神经元?
没有具体的规则可以确切地说明在神经网络的隐藏层中需要多少单位。但是有一些一般性指导原则,我将引用one of my answers on Cross Validated。
输入单位数:要素尺寸x(i)
输出单位数:类数
合理的默认值是一个隐藏图层,或者如果> 1个隐藏层,每层有相同数量的隐藏单位(通常越多越好,输入单位数约为1X到4X)。
您还问:
又是什么目的呢?
隐藏层单元只是将输入转换为可以由输出层使用的值(使用训练期间选择的系数)。
我想要多少个角色类?说,O和Q非常相似,所以你的两个都会导致一个隐藏的层神经元后来告诉他们分开?
不,那不对。输出单元的数量将与所需的类数相同。每个输出单元将对应一个字母,并将说明输入图像是否是该字母(有一定概率)。概率最高的输出单位是您选择的正确字母。