【问题标题】:Neural network for letter recognition用于字母识别的神经网络
【发布时间】:2011-04-25 04:51:52
【问题描述】:

我正在尝试添加单层神经网络的代码,该网络以位图作为输入,并有 26 个输出用于字母表中每个字母的可能性。

我的第一个问题是关于添加的单个隐藏层。我认为隐藏层只有自己的一组输出值和权重是否正确?不需要有自己的偏见吗?

我是否也可以确认我正在正确考虑前馈方面?这是一些伪代码:

// input => hidden
for j in hiddenOutput.length:
    sum=inputs*hiddenWeights
    hiddenOutput[j] = activationFunction(sum)
// hidden => output
for j in output.length:
    sum=hiddenOutputs*weights
    output[j] = activationFunction(sum)

假设这是正确的,培训会是这样的吗?

def train(input[], desired[]):
    iterate through output and determine errors[]
    update weights & bias accordingly
    iterate through hiddenOutput and determine hiddenErrors[]
    update hiddenWeights & (same bias?) accordingly

提前感谢您的帮助,我已经阅读了很多示例和教程,但我仍然无法确定如何正确执行所有操作。

【问题讨论】:

  • 这是作业吗?如果是这样,请将其标记为这样。不管是不是,实验;我从介绍性神经网络模拟的失败中学到了很多东西。这不像你会意外地创建天网和人类的衰落或sumptin。
  • 是的,现在已标记。我一直在尝试,但不幸的是,当前状态的表现非常糟糕,所以我显然做错了什么

标签: java neural-network backpropagation


【解决方案1】:

偏见术语的使用而言,我发现comp.ai.neural-nets FAQ 中的Why use a bias/threshold? 部分非常有用。我强烈建议阅读该常见问题解答。

【讨论】:

    【解决方案2】:

    您可能想阅读 http://www.ai-junkie.com/ann/evolved/nnt1.html 。它在那里准确地提到了你正在做的事情。它还提供了代码以及(大部分)关于它如何学习的简单解释。尽管学习方面与前馈完全不同,但这应该可以让您对 NN 的性质有所了解。

    我认为即使是隐藏层和输出层也应该有偏差。

    NN 也可能很棘手,请先尝试仅识别 1 个字母。仅从单个输出获得一致的高/低信号。然后试着用同一个字母的不同变体来保持这个信号。然后你可以进步并添加更多。您可以通过教授 26 个仅在匹配时提供输出的不同网络来做到这一点。或者你可以把它做成一个有 26 个输出的大型 NN。两种不同的方法。

    【讨论】:

      【解决方案3】:

      Dylan,这可能是在你的家庭作业到期之后很久,但我确实对你发布的内容有一些想法。

      • 使隐藏层远大于输入位图的大小。
      • 您应该从输入 -> 隐藏而不是从隐藏 -> 输出获得不同的权重和偏差。
      • 在你的误差函数(判别器)上花费大量时间。
      • 了解神经网络倾向于快速锁定一组权重(通常是不正确的)。您需要重新开始并以不同的顺序进行训练。

      我从神经网络中学到的一点是,你永远不知道它们为什么工作(或不工作)。仅这一点就是将其排除在医学和金融领域之外的理由。

      【讨论】:

      • 如果我没记错的话,这里神经网络的主要问题是没有办法(还)找到错误函数的global minimum。应用impulseadaptive learning rate 和其他方法可能有助于更快地找到最小值,但您永远无法显示它是否是全局最小值。这意味着,人们必须一遍又一遍地使用不同的方法,并尝试找到可接受的最小值——这样网络才能正常工作。
      猜你喜欢
      • 2017-01-30
      • 2014-04-13
      • 2013-07-10
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 2015-10-11
      • 1970-01-01
      相关资源
      最近更新 更多