超过二十年前,神经网络被广泛认为是下一代计算的,一个将最终允许计算机为自己着想。
现在,由于硬件的改进和软件模型的改进,基于哺乳动物大脑如何学习的生物学知识的围绕这项技术的想法终于开始渗入主流计算领域。
当然,计算机仍然不能独立思考,但神经网络的最新创新使计算机能够在没有人类操作员帮助的情况下筛选大量数据并得出基本结论。
“神经网络,让你解决你不知道如何解决的问题,”莱昂列兹尼克,在罗切斯特技术学院计算机科学教授说。
慢慢地,神经网络也渗透到了工业中。美光和IBM正在建造硬件,可以用来创建更先进的神经网络。
在软件方面,神经网络也正在缓慢地进入生产环境。谷歌应用了各种神经网络算法改善它的语音识别应用,谷歌语音。对于移动设备,谷歌Voice将人的语音输入转换为文本,允许用户口授短消息、语音搜索查询和用户命令,即使在嘈杂的环境条件下,也能让传统语音识别软件感到困惑。
神经网络也可以用来分析大量的数据。2009年,一组研究人员使用的神经网络技术赢得了Netflix大奖。
当时,Netflix每年都会举办一场竞赛,根据用户提供的约1亿部电影评分数据,寻找推荐新电影的最佳方式。挑战在于,如何找到一种比Netflix自己的推荐系统更好的方式,向用户推荐新的电影选择。获奖作品能够改进Netflix的内部软件,为Netflix可能想看的电影提供更准确的预测。
如从在传统的计算,与传统的计算最初的设想,神经网络不同,计算机给出一个特定的算法或程序,来执行。神经网络,解决具体问题的工作在计算机本身的手在很大程度上离开,Reznick说。
为了解决诸如在背景中寻找特定对象的问题,神经网络使用了类似的方法,尽管大大简化了方法哺乳动物的大脑皮层是如何运作的。大脑利用数十亿相互连接的神经元来处理感觉和其他信息。随着时间的推移,神经元之间的连接会随着一个反馈回路的增强或减弱而发生变化,因为人会对他或她所处的环境有更多的了解。
人工神经网络(ANN)也使用这种方法来改变不同神经元层之间的连接强度,或者用ANN的说法,就是节点之间的连接强度。然而,ANNs通常部署某种形式的训练算法,调整节点以从源数据中提取所需的特征。就像人类一样,神经网络可以泛化,慢慢地建立识别的能力例如,不同类型的狗,使用一个单一的形象的狗。
科学家们正在进行大量的努力,试图以高保真的方式复制大脑在硬件上的运作方式,比如欧盟的人类大脑项目(见相关报道:给电脑带来智慧”)。然而,计算机科学领域的研究人员正在借用生物学的思想来构建系统,随着时间的推移,这些系统可能会以与大脑相同的方式学习,即使它们的方法与生物有机体不同。
虽然从20世纪40年代就开始调查,但对可以被认为是人工智能(AI)形式的ANNs的研究在20世纪80年代末达到了流行的顶峰。
“上世纪80年代末,作为神经网络复兴的一部分,人们做了很多伟大的事情,”IBM Research高级经理达门德拉·莫德哈(Dharmendra Modha)说,他参与了公司一个建造神经形态处理器的项目。然而,在接下来的十年里,其他形式的密切相关的人工智能开始得到更多的关注,如机器学习和专家系统,这要归功于它对工业应用的更直接的适用性。
尽管如此,神经网络是最先进的继续发展随着强大的新学习模型的引入,可以分层来提高模式识别和其他能力的性能,
“我们已经来到阶段,自然神经网络更接近模拟是可能的人工手段,” Reznick说。虽然我们仍然不知道如何完全大脑工作方式,有很多的进步已经在认知科学,这又是计算机科学家使用建立神经网络影响的模型制作。
“这意味着现在我们的人工计算机模型将更接近于自然神经网络处理信息的方式,”Reznick说。
摩尔定律的持续发展也提供了帮助。在过去的十年中,微处理器的制造过程提供了运行大型节点集群所需的密度,即使是在一片硅上,这种密度在十年前也不可能实现。
Modha说:“我们现在处在一个硅已经成熟,技术节点已经足够密集的阶段,它可以在非常低的功率下提供令人难以置信的规模。”
Reznick正在领导一系列项目,以一种类似神经网络的方式利用当今的处理器。他正在研究使用gpu(图形处理单元)的可能性,由于gpu拥有大量的处理核心,因此它天生就适合并行计算。他还在研究神经网络如何改进入侵检测系统,该系统被用于检测从财产入侵者到试图入侵计算机系统的恶意黑客的一切事情。
今天的入侵检测系统在以下两种方式之一工作,Reznick解释。他们要么使用特征码检测,他们在认识基础上的图案预先存在库中的模式。或者,他们寻找一个典型的静态背景下的异常,它可以是很难的场景做大量活动。神经网络可以在两种方法结合起来,加强制度,从规范检测的异常偏差的能力,Reznick说
Micron是一家研究神经网络可能性的硬件公司。该公司刚刚发布了一个内置处理器的DDR内存模块的原型,名为自动机。
虽然不能替代标准的cpu,但一组自动机模块可以用来监视传入数据的实时流,寻找异常或感兴趣的模式。除了这些空间特性,他们还可以观察随时间的变化,美光DRAM部门架构开发组的Automata处理器开发主管保罗·德鲁戈什(Paul Dlugosch)说。
“我们在某些方面受到了生物学上的启发,但我们并没有试图实现神经元的高保真模型。我们专注于半导体设备的实际应用,这决定了我们的许多设计决策,”Dlugosch说。
尽管如此,因为它们可以并行运行,所以多个自动机模块(每个模块作为一个节点)可以在集群中一起运行,以进行类似于神经网络的计算。一个模块的输出可以通过管道输送到另一个模块,从而提供神经网络所需的多层节点。对自动机进行编程可以通过Micron开发的一个编译器完成,该编译器使用正则表达式语言的扩展或它自己的自动机网络标记语言(ANML)。
另一家研究这个领域的公司是IBM。在2013年,IBM宣布作为美国国防部高级研究计划局(DARPA)突触(神经形态自适应塑料可伸缩电子系统)项目的一部分,它已经为一些认知处理器开发了一个编程模型。
IBM针对这些处理器的编程模型基于可重用和可堆叠的构建块,称为corelets。每个corelet实际上是一个很小的神经网络本身,可以与其他corelets相结合来构建功能。Modha说:“人们可以通过分层组合盒子来组合复杂的算法和应用程序。”
核心等于核心。你暴露出256根电线从神经元中伸出,暴露出256个公理进入核心,但是代码内部没有暴露。从外面看,你只能看到这些电线。”莫德哈说。
在早期的测试中,IBM教一个芯片如何玩原始的电脑游戏“乒乓”,如何识别数字,如何做一些嗅觉处理,以及如何在一个简单的环境中操纵机器人。
虽然神经网络是否会取代标准的cpu是值得怀疑的,但它们很可能最终会处理某些类型的工作,而这些工作单靠cpu是很难处理的。
Modha说:“我们不是将感官数据引入计算,而是将计算引入传感器。”“这不是试图取代计算机,而是一个补充范式,进一步提高文明的自动化能力。”
约押杰克逊涵盖企业软件和一般技术突发新闻IDG新闻服务。在Twitter上关注约押@Joab_Jackson。约押的电子邮件地址是Joab_Jackson@idg.com