使神经网络具有分层输出会更好吗?

人工智能 神经网络 分类
2021-10-22 07:08:37

我对神经网络很陌生,我最近建立了用于车牌号码分类的神经网络。它有 3 层:1 个输入层用于 16*24(382 个神经元)数字图像,具有 150 dpi,1 个隐藏层(199 个神经元)具有 sigmoid 激活函数,1 个 softmax 输出层(10 个神经元)用于每个数字 0 到 9。

我正在尝试扩展我的神经网络以对车牌中的字母进行分类。但是我担心如果我只是简单地在输出中添加更多类,例如在分类中添加 10 个字母,所以总共 20 个类,神经网络很难将特征与每个类分开。而且,我认为当输入是数字之一并且神经网络错误地将其归类为概率最大的字母之一时,即使所有数字输出的概率总和超过该值,它也可能会导致问题。

所以我想知道是否可以通过以下方式构建分层神经网络:

有 3 个神经网络:'Item'、'Number'、'Letter'

  1. “项目”神经网络对输入是数字还是字母进行分类。

  2. 如果“项目”神经网络将输入分类为数字(字母),则输入通过“数字”(“字母”)神经网络。

  3. 返回数字(字母)神经网络的最终输出。

每个网络的学习机制如下:

  1. “项目”神经网络学习所有数字和字母的图像。所以有2个输出。
  2. 'Number'('Letter') 神经网络只学习数字(字母)的图像。

我应该选择哪种方法来获得更好的分类?只需简单地添加 10 个以上的类或使用上述方法构建分层神经网络?

3个回答

只需使用一个具有更大 Softmax 输出层和更多隐藏单元的网络。如果你有足够的训练数据,它会工作得很好。事实上,它可以模拟您提出的架构。

项目网络应识别区域登记号码标准和这些标准上的典型号码位置。否则,您的“项目”阶段的任务与整个系统相同,因为“字母”和“数字”在板块上没有太大差异,您可以立即在两者之间进行选择,而无需先评估每个案例的确切对象。

旁注:如果您的本地车牌系统不是这样,请纠正我

我同意楼上的回答。如果您想更深入地研究这篇论文:https ://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42241.pdf