`
daojin
  • 浏览: 678022 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

用神经集认识手写数字

 
阅读更多
人类的视觉系统是世界奇迹之一。 考虑下面的手写数字序列:




大多数人毫不费力地将这些数字识别为504192.这种缓解是欺骗性的。 在我们大脑的每个半球中,人类都有一个主要的视觉皮层,也被称为V1,含有1.4亿个神经元,它们之间有数以百亿计的联系。 然而,人类视觉不仅涉及V1,而且包括V2,V3,V4和V5在内的整个视觉皮质系列 - 逐渐进行更复杂的图像处理。 我们的头脑中有一台超级计算机,根据数亿年的演变进行调整,并且非常适合了解视觉世界。 识别手写数字并不容易。 相反,我们人类是惊人的,非常擅长理解我们的眼睛向我们展示的东西。 但几乎所有这些工作都是在无意识中完成的。 所以我们通常不会意识到我们的视觉系统解决问题有多艰难。

如果您尝试编写计算机程序来识别上述数字,则视觉模式识别的难度就会变得明显。 当我们自己做这件事似乎很容易突然变得非常困难。 关于我们如何识别形状的简单直觉 - “一个9在顶部有一个循环,而在右下方有一个垂直的冲程” - 结果并不是那么简单,以便在算法上表达。 当你试图精确地制定这样的规则时,你很快会迷失在例外和警告以及特殊情况之中。 它似乎无望。

神经网络以不同的方式解决问题。 这个想法是采取大量的手写数字,称为训练示例,






然后开发一个可以从这些培训例子中学习的系统。换句话说,神经网络使用这些例子来自动推断识别手写数字的规则。此外,通过增加训练示例的数量,网络可以了解更多关于手写的内容,从而提高其准确性。所以,虽然我只显示了上面的100个训练数字,但也许我们可以使用数千甚至数百万或数十亿个训练示例来构建更好的手写识别器。

在本章中,我们将编写一个计算机程序,实现一个学习识别手写数字的神经网络。该程序只有74行,并且不使用特殊的神经网络库。但是这个简短的程序能够以超过96%的精度识别数字,无需人工干预。此外,在后面的章节中,我们将开发可以将准确度提高到99%以上的想法。事实上,最好的商业神经网络现在非常好,银行用它来处理支票,并由邮局来识别地址。

我们专注于手写识别,因为它对于一般学习神经网络来说是一个很好的原型问题。作为原型,它迎来了一个甜蜜点:它很具有挑战性 - 识别手写数字并不是一件容易的事情 - 但它并不是一个非常复杂的解决方案或者巨大的计算能力。此外,这是开发更深入学习等更先进技术的好方法。因此,在整本书中,我们会一再回顾手写识别的问题。在本书后面,我们将讨论这些想法如何应用于计算机视觉中的其他问题,以及语音,自然语言处理和其他领域。

当然,如果本章的要点只是编写一个识别手写数字的电脑程序,那么本章将会更短!但一路上,我们将开发许多关于神经网络的关键思想,包括两种重要类型的人工神经元(感知器和S形神经元)和神经网络的标准学习算法,称为随机梯度下降。在整个过程中,我重点解释为什么事情按照他们的方式完成,并且建立你的神经网络直觉。这需要比如果我刚刚介绍发生的事情的基本机制更长的讨论,但它是值得的,以便您获得更深的理解。在收益中,到本章结束时,我们将有助于理解深度学习是什么,为什么它很重要。

  • 大小: 7.3 KB
  • 大小: 29.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics