Advanced Applications of Neural Networks and Artificial Intelligence: A Review

作者是:Koushal Kumar 、Gour Sundar MitraThakur

摘要:

人工神经网络是人工智能的一个分支,这种计算机科学领域的新兴技术已经逐渐被大众所接受。

本篇文章主要回顾了近年来人工神经网络与人工智能的应用。同时这篇文章也关注到了使用其他计算方法(例如:模糊法)与神经网络来进行结合进而提高数据说明能力。

人工神经网络被认为主要是软计算技术,在近几十年被大量学习和应用。

神经网络在解决问题方面最普遍的就是被用来进行模式识别、数据分析、控制和分类。

人工神经网络有很强大的特征,包括处理问题时的高速性与自学习能力(通过先处理一系列的例子(训练集),进而学习到对该类问题的解决办法(测试集))。

本文的主要目的就是探索人工神经网络与人工智能近些年来的应用和提供对于该领域(人工神经网络和人工智能在不同方面(area)作为关键角色被使用和分析)的综述。

关键字:人工智能、神经网络、机器学习、软计算

 

一、介绍人工智能

智能=感知+分析+行为:

人工智能被定义为一个人工制造的物体展现出了能够处理复杂问题的智能行为,这个物体(系统)通常被假定为电脑或者机器。

人工智能就是计算科学与生物智能的一个集成,简单来说就是使用计算来达到生活中的目的的一种能力。

智能就是一种能够进行想象创造记忆理解、模式识别、选择、适应改变以及经验学习的一种能力。

人工智能致力于让电脑的行为变得更像人类。人工智能致力于在解决复杂问题的方式上更接近于人类但却比人类消耗更少时间。

人工智能能够被分为两个部分:1.强AI  2.弱AI

强AI

强AI的原理就是机器能够自主进行思考,换言之,就是未来机器能够代替人类进行思考。因此强AI要求,在不久的将来我们将被机器(与人类同等智力且能够像人类一样能够处理复杂工作)环绕。如果这个想法能成真的话,这些机器将能推论、思考、做所有人类能做的事。当前的调查表示,我们没有办法去实现强AI,现在的辩论点就是,是否强AI是可能的。

弱AI

弱AI的原理就是机器表现的他们好像有智能一样。弱AI就是进行很简单的思考,进而得出一些能够被添加给计算机使其变得更有用的特征(features),这个已经开始应用了。例如当人和电脑下棋时,人会感觉电脑真的下了一些让人印象深刻的棋,但是其实这个下棋应用并没有进行思考与计划。电脑做出的所有下棋的步骤都是被人预先存储在电脑里的,这就是为什么这个软件能够在正确的时间下出正确的棋。更多的弱AI的例子能够在专家系统里看到,由wires cars and speech recognisation systems 来驱动。

图灵测试:

图灵测试就是一个对于机器所展现出的智能行为的一个测试。这个测试是由艾伦图灵在1950年他的一篇论文中提出来的,这个测试背后普遍的一个疑问就是:机器能思考吗?这个测试就是在自然语言环境下,人A与机器B和另一个人C来进行对话,机器B与人C都努力地表现得更像人类一点,这个测试中所有的参与者ABC都是被隔开的。如果A不能分辨出B是机器,那么就说机器B通过了测试。为了让这个测试更注重于测试机器的智能而不是它将文字渲染成音频的能力,这个对话过程仅限于使用文本渠道,如:电脑键盘与屏幕。如果足够多的A不能去区分电脑B与人类C,那么就认为这个电脑B能够进行思考。

AI的起源:

人工智能与许多older 学科都是有联系的,尤其是:哲学、逻辑学/数学、计算学、心理学/认知科学、生物科学/神经科学

在哲学与逻辑学、数学与计算学之间,不可避免地有许多重叠的例子。通过反复观察这些例子,我们能够对于这些基础学科在人工智能领域所扮演的角色有更好的理解,以及这些基础学科是如何发展来扮演这些角色的。

研究人工智能的目的:人工智能的一个重要目标就是设计机器来完成需要人类的智能才能完成的各种任务。

 

二、介绍人工神经网络

人工神经网络已经发展成为对于生物神经系统的数学模型的一般化。在M和P介绍了简化神经元(也叫类神经网络模型)后,产生了第一波对于神经网络的兴趣。一个人工神经网络就是许多个处理器(神经元)进行联结而构成的网络,每一个神经元上都有一部分本地的存储空间(很小)。这些神经元只操作自己本地的数据和输入数据(通过连接和线路单向输入进来的),每个神经元有某种规则用来对输入信号进行求和,在把这些信号输出给其他神经元。C把这种对于输出数据的计算的规则,叫做激励函数。

神经网络在其结构上一般来说有三层:第一层是输入层,用来与外界进行直接交互,第二层是隐藏元,用来根据所需功能完成计算。第三层是输出层。

知识在神经网络中是按照突触权重的方式进行存储的,网络将输入数据一层一层传递下去,知道产生了最终的输出数据,如果网络拥有回退算法的多层感知器,当实际输出与预期输出不同时,一个错误的结果会被计算出来,然后通过网络再反向传播回去。当错误结果被传播的时候,突触权重会被修改。

现如今,研究人员在试图建立一个以硅为基础的电子网络,该网络以人脑的工作和形式为模型,‘泛化’是人工神经网络变成一个如此有用的工具的原因。学习模型,然后记忆他们。

神经网络的学习方法可以分成三类:监督学习、无监督学习、加强学习。

A

1.监督学习:在监督学习中,输入和输出都被提供给网络。因此,输出层上的每个节点上的预期与实际结果之间的错误和差异能够被发现,它们将被用来决定网络节点的权重的改变(根据流行的学习规则)。监督这个词的来源就是,每个节点上预期的输出值是由一个外部教师来决定的。监督学习的一个例子就是德尔塔定律和感知器定律。

2.无监督学习:这种学习方式是没有外部教师的,因此这种学习方式是建立在聚类技术基础上的。根据输入,模型集群会被划分成不同的类,这种学习模式也叫做自组织模式,典型的例子就是hebbian学习法则与竞争学习法则,无监督学习比监督学习更重要,因为大脑通常是进行无监督学习的。这种学习是由网络参数的改变方式来决定的。

3.加强学习:这种学习是建立与监督学习与无监督学习基础上的,强化学习是学习如何将情形映射成为操作,进而最大化一个数字应答信号,在这种学习方式中,对正确的输出是有奖励的,对错误的输出是有惩罚的。加强学习也被称为批评性学习而不是有老师的学习。

B

激励函数:

激励函数φ()在神经元Vk的输出上执行了一个数学运算。激励函数是根据网络所解决的问题的类型来选择的,通常来说有三种类型的激励函数。

第一有个阈值函数,当总输入小于阈值的时候,置0,当总输入大于等于阈值的时候,置1。

第二有个分段线性函数,他可以取0或1,但也可以取0,1之间的值,这取决于某个区域的线性操作的放大系数。

第三有个sigmoid函数,这个函数可以使用0~1范围,但是有时候他也可以取-1~1范围区间。sigmoid函数的一个例子就是双曲正切函数。

 

三、神经网络的应用:

神经网络在控制追踪&逃避方面的演化:

人工生命领域的研究人员经常性地会把注意力一到追踪&逃避领域上来学习复杂的大力行为的演化,MPEG影片序列阐释了由动态递归神经网络控制器在追踪和逃避方面的共同进化的行为。在原始的随机网络设计中,每一代的成功的设计都将会经历重组、突变和基因复制后再进行繁殖。选择是基于每个控制器在一系列追逃竞争中的表现是否良好来决定的。在每一个竞争中,追逐者与逃跑者互相对抗,伴随着对简单性地‘视觉引导’二维自动化虚拟代理的控制。追逐者与逃跑者所拥有的能量是有限的,会在竞赛中消耗光,因此他们必须进化才能改善经济状况。这个时间序列将会被输入到一个定制好的3D影片生成器中。

基于神经网络的人脑计算机接口:

人脑计算机接口(BCI)是在人类与机器之间非常有前途的接口技术之一。BCI也叫做思维机接口(MMI  Mind Machine Interface)。

BCI其实就是大脑与电脑(或其他电子设备)之间的一个通讯通道,它使得大脑发出的信号能够直接与外部活动进行交互,例如控制一个光标,或者使用者可以通过凝视一个显示器的键盘来输入一串电话号码。该接口在大脑与想要控制的接口之间提供了一条通讯途径,BCI接口使得一个瘫痪的人去写一本书或控制一个电动轮椅成为可能。自从1929年HB首次描述了EEG以来,EEG就是实现BCI的最佳选择。然而脑波是非常弱的,而且这其中存在许多种噪音。因此什么样的特征(feature)是有用的,如何提取有用的特征,如何抑制噪音等等,是非常重要的。神经网络可以被用来将噪音信号从敏感信号中区分出来,提高意识任务分类(mental task classification)的准确性。与其他通讯器与控制系统类似的是,BCI也拥有输入、输出和能够将输入转换为输出的转化算法。BCI操作依赖于两个适应控制器之间的交互,用户的大脑提供输入和这个系统本身,并将活动转换成输出(表现在外部世界的特定命令)。在过去的五年间,BCI研究的数量与速度都在飞速增长,1995年时只有不超过6个小组在研究BCI,而现在,有至少20个小组在研究BCI。

理解与描述对象行为(objectbehavior):

这是计算机视觉领域的热门话题之一。轨迹分析是行为理解问题中的基础问题之一。轨迹模式学习(learningof trajectory patterns)能够被用来检测异常,也能够被用来预测对象轨迹。轨迹分析是场景理解(scene understanding)的基础,行为理解的基本问题是目标移动轨迹分析。目前最常见的轨迹分析方法主要关注于整体轨迹的几何特征,而忽视了普通子轨迹的语义信息。在这里,任务通常是使用详细的,可学习的统计模型来对对象行为进行建模和创建表示。一个基于统计的对象轨迹模型被提出(是在对于长图像序列的观测的学习 中提出的)。轨迹数据是由一个使用可变轨迹模型的追踪器来提供的,从中可以学习到一个典型轨迹的分布模型(model of distribution)。目前正在开发的数据将能够从对长图片序列的观察中学习到对象行为特征的模型。我们可以看到,这些对于行为特征表现的模型将会有很多用处,尤其是在自动监督(automated surveillance)和不要求具有高水平场景/行为知识储备的事件识别中。

通过分析场景或框架中移动物体的轨迹来学习语义区域的模型(用自动化的方法),应该按一下的几步来进行操作:首先轨迹会被编码,用来表示图像的位置和它的瞬时速度。然后应用聚类算法将轨迹按照不同的空间和速度分布来进行分类,在每一簇中,轨迹的空间上是接近的,速度上是相似的,这一类能够代表一种活动模式。基于这个轨迹簇(clusters),通过估计每一种活动模式的密度和速度分布,能够得出场景中语义区域上的统计模型。

该模型是以无监督的方式通过在长图像序列上跟踪对象来学习的,并且是基于实现矢量量化的神经网络和具有短期记忆能力的神经元类型的组合。使用分层自组织神经网络来学习和识别轨迹的分布模式。已经生成的行人轨迹模型会被用来评估新轨迹的典型性(允许识别场景中感兴趣的事件)、预测物体未来的轨迹、随机生成新的轨迹。

计算机图形学中的人工神经网络:

现在,人工神经网络已经在图像领域扮演了很重要的角色。图像设计者正试图将实际图像与计算机生成的图像进行结合,进而增强输出图像的可视化。使用热传感技术(Radiosity)能够生成一些最真实的图像。G首次在计算机图形学中介绍了热传感技术,这个想法主要是模拟了曲面传播能量/光的方式。热传感技术进一步解释了场景中物体之间漫反射(曲面传播)的相互作用。虚拟现实系统的热辐射能力正在成为研究者利用人工神经网络来创建虚拟现实的新兴领域。

人们普遍认为传统的热传感的实现的计算代价过大,因此把它使用在拥有非常庞大复杂数据集的VR系统中,是不合适的。热传感研究团队有两种新方法和集中混合技术来吧热传感应用于VR技术中。在左侧,展示了一个虚拟的空间。在右侧,显示了一种使用了神经网络技术的方法。

自动行走机器人&水下机器人:

自动行走机器人的基础是模块化概念。制作一个自动步行机器人的问题可以被拆解成几组功能上的问题。建立一个符合你想法的拥有单一宏伟模型的这种机器人是非常难的。幸运的是,想其他所有复杂问题一样,它可以被分解成简单的易于处理的小问题。在这个领域的研究结合了生物学,机械学以及信息技术的相关知识,进而开发一个使用神经网络控制的动态的稳定的能够移动的交通工具。水下机器人以及水下机器有助于打捞作业、预防污染、海上救援和海洋科学考察等等。因此,水下机器人中的自动化水下航行器(AUVs)近些年得到了很大的发展。然而,水下机器人也存在着许多亟待解决的问题,例如:移动控制、传感器信息获取、自身位置行为决策等等。自组织地图(SOM)和递归神经网络(RNN)都被使用来解决这些问题。

面部动画:

人脸建模和动画是当前计算机图形学中最困难的任务之一,将生命转化成数字形式,超乎想象地难。使用分层B-曲面(B-spline)来作为底层来创建面部动画。神经网络可以被用来学习动画序列中每个人脸表情的特征。一些聚类算法和机器学习方法被结合起来,用来学习人脸动画与言语声学之间的参数关系。用来学习语音面部动画的主要学习机器是HMM、SVM以及神经网络。

a)2D动画:二维面部动画通常是基于图像之间的变换,包括来自静态照片与视频序列的图像。图片变换技术就是:在一堆静止图片之间或一对视频序列之间生成的中间过渡图像。

b)3D动画:三维头部模型提供了生成计算机面部动画最有力的手段。P最早进行了计算机图片和动画的头部模型。该模型是一组构造和表达参数控制的3D网格点。

上图显示了不同情况下不同人群的不同面部表情,因此神经网络和一些机器学习工具被用来识别表达。

神经网络加强防病毒技术:

人工神经网络与人工智能在病毒检测中扮演着越来越重要的角色,它强化了防病毒技术的内部功能,让其可以检测和修复所有种类的病毒。目前,主要应用在防病毒检测中的人工智能技术包括:启发式搜索技术、人工神经网络技术、数据挖掘技术、代理技术、人工免疫技术,众所周知,这些技术将提升防病毒检测系统的性能。IBM的神经网络启动检测技术通过模仿人类神经元来学习被感染与未被感染的记录之间的区别,进而提供了额外的安全性。许多病毒和非病毒的例子表现出,神经网络学习法比传统手工调整变化的启发式搜索,在识别病毒方面表现得更好。这种神经网络的方法几乎能够检测出全部的新的未知的启发式记录病毒(boot record viruses)。这些技术给诺顿防病毒软件的客户提供了超级高的保护(对于已知的和未知的引导部分病毒(boot sector viruses))。

唇语阅读:

几百年来,读唇语(Lip-Reading)被用来教聋哑人与其他人进行有效的交流与沟通。言语视觉(Speech Vision)是唇语阅读/言语阅读的另一种术语表达,它是一种通过结合当前环境、语种、仅存的听力等与人脸、嘴唇、舌头来在视觉上理解言语的技术。我们将说着不同词汇的主题视频转换成图像,然后再进一步地手动将图片进行筛选。

唇语阅读系统的输入是由一个被分割成帧的视频组成的,在第一帧上分割出嘴唇,这样嘴唇的轮廓就确定了,然后使用对象追踪机制对后续帧上嘴唇的移动进行追踪,每一帧上的嘴唇轮廓的位置都被存储在数据库中。还保留了一个单独的字符数据库。嘴唇轮廓为将会与字符数据库中的数据进行匹配,进而确定说话者的言语内容。

四、人工智能的应用

数据挖掘和知识提取:

数据挖掘是一个快速发展的领域。数据挖掘是数据库中KDD知识发现过程中的一部分,这个过程主要由在执行数据挖掘之前的几个步骤构成,如:数据选择、数据清理、数据预处理和数据转换。数据挖掘就是使用计算机算法来发现一个大型数据集中的隐藏模式与元素间的不确定关系。AI是一个比机器学习更广阔的领域,AI系统是知识处理系统。

AI中的三种基本技术:知识表示、知识获取、推理(包括搜索和控制)

知识表达(Knowledgerepresentation ):数据挖掘想要从大量数据中发现感兴趣的模式(pattern),这些模式能够使用多种形式(form),如:关联规则,决策规则和决策树。因此知识表达成为了数据挖掘中一个备受关注的问题。

知识获取(Knowledgeacquisition ):对于同一个目的‘从例子中进行数据学习来获取知识’,这个发现过程与机器学习的算法和方法是共通的。

知识推理(Knowledgeinference ):从数据集中发现的模式需要在不同的应用中进行验证,因此对于挖掘结果的推演是数据挖掘应用程序必备的一项基本技术。

人工系统:

第一个专家系统(DENDRAL)是由E.F和J.L在1965年开发的。专家系统是人工智能的一个子集,专家系统是一个人工智能程序,它具有特定领域的专家级知识并且知道如何利用其知识来正确响应相关问题。理想情况下,专家系统应该是能够替代人类专家的,E.F把它定义成:是一个能够利用其知识和推演能力来 解决一些需要人类专家级知识储备才能解决 的困难问题 的人工智能程序。

一个专家系统主要由两部分组成:1.知识库 2.推理/推演引擎

专家系统=知识库+推演引擎(推理机)

传统计算机中的程序=数据结构+算法

知识库:知识库存储了关于一个特定问题的所有事实(fact)与规则(rule)。推理引擎可以使用它们,事实是系统中内置的背景信息或事实是用户经过一番咨询(咨询真正的专家)后输入的。由某个领域的专家所提供的经验法则(rules-of-thumb) 的启发式搜索,能够让系统通过更快捷的方式找到问题的解决方案。

推理机:推理机能够在知识库定位所需要的知识,并应用逻辑处理(logical processing )和问题解决策略(problem-solving strategies )来推演出新知识。

软计算(soft-computing):软计算是计算机技术的好伙伴。其他的伙伴还有模糊逻辑模型和粒子群技术。所有的这些技术都被认为是已建立的‘硬计算(hard computing)’(如:被NP完全概念约束的随机和统计方法)范式的良好替代品。软计算的主要目的是利用其对不精确和不确定的容忍度来实现易处理性、稳健性以及比硬计算消耗时间少的低问题解决代价。软计算的主要组成部分是模糊逻辑(fuzzy logic)、神经计算和概率推理,同时还归纳了遗传算法、信念网络、混沌系统以及一部分的理论学习。模糊计算主要负责功能:不精确性和近似推理。神经计算主要负责学习和曲线拟合。概率推理主要负责不确定性和信念传播。

模糊逻辑像是软计算的中心一样,模糊逻辑的主要特点是其差值推理机制的鲁棒性,软计算领域,模糊逻辑占据了一个特殊地位,因为它能成为任何理论的一个跳板。模糊逻辑(FL),神经网络(NN),概率推理(PR)和遗传算法(GA)是互补而非竞争关系。

自然语言处理(NLP):自然语言处理是人工智能的一个子领域。NLP是用来分析基于一套理论/技术的文本的方法。NLP是人机交互的一种形式,其中人类语言元素(不管是口头上的还是书面上的)都是有一定形式的,以便于计算机能够在这个交互的基础上进行处理。NLP关心自然语言(如:印度语、英语、西班牙语等)与计算机之间的交互。NLP的基础在于一些学科,如:计算机和信息科学、语言学、数学、电气与电子工程、人工智能与机器人、心理学等。

目标:如上所示,NLP的目标是实现类似人类的语言处理机制,‘processing’这个词语的选择是非常慎重的,不能用‘understanding’来代替它。

机器人学:机器人技术是人工智能领域的一部分。人工智能被定义为配备有精心制作的数据库和知识库处理模型的具有复杂硬件和软件的且能够做出有效率的人类决策的系统。它还包括一些力学知识,通常被用来由计算机控制去执行一些极高精度的繁琐的危险的任务。传统的机器人使用人工智能计划技术来规划机器人的行为,并将机器人作为必须由一个人类工程师控制的一种技术设备。自主机器人技术表明机器人能够自主开发和控制他们自己。它能够在不断变化的环境中适应不确定和不完整的信息进而开发出一个自适应机器人。然而机器人最吸引人的地方在于,三菱公司刚刚研发出来的运行人工智能程序的机器鱼,它们能够在水中游泳。事实上,它们非常逼真,只有在非常靠近的情况下才能发现它们的机器眼睛。

MIT人工智能部门有一对兄弟机器人C和K,把他俩放在一起时,学习的速度会加快,C会拥有除了腿之外的全部躯干,K只拥有一个可以展示各种各样情绪的3.6kg的大脑袋。K是一个专为与人类进行互动而设计的自动化机器人,是大型项目C的一部分。这个项目不关注机器人与机器人的交流,而关注机器人与人类进行的有意义的交流。

人工智能应用于游戏:现代的电脑游戏通常使用3D动画图形(3D音效)来给人一种真实的感觉。大部分电脑游戏中的人工智能并不能算是学术上的人工智能,而是一种很接近人工智能技术,它创造了一种有智力的错觉。游戏人工智能包括各种编程和设计实践相结合的技术:路径寻找、神经网络、情感模型、社交场景、有限状态机、规则系统、决策树学习和许多其他的技术。

五、结论:

计算机世界能够从神经网络方法中受益良多。能够从实例中学习的能力使得他们变得灵活且强大。此外,不需要为特殊任务设计算法,就是说不需要去理解任务的内部机制。他们的快速响应和其并行架构所减少的计算时间也使得他们非常适合应用于实时系统。人工智能的目标是创造智能上超过或等于人类的计算机。在过去的十年间,研究人员一直都在努力缩减人类智能与人工智能之间的差距。本文介绍了人工智能和人工神经网络在智能行为方面的重要应用。未来的人工智能将会开发出比我们现在更复杂的机器和电脑。预计在未来,这种机器将会被开发出来,他们拥有简单的常识并且在某些专业领域拥有类似人类的智力。预期人类思想上的功能,例如从经验中进行学习、从练习中进行学习、认知和感知能力都将会被机器所拥有。且文章中给出了一些例子,诸如人机接口、软计算、专家系统等。

六、未来:

神经网络的未来是非常开放的,任何答案或问题都可能会被提出来。当前研究人员正在解决的一些问题为:

1)       机器是否能意识到自己的存在?

2)       这对人类来说意味着什么?

3)       神经网络会不会与人脑完全相似?

4)       Will they be as complex and as functional?

 

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值