您的位置:首页 > 移动开发

Advanced Applications of Neural Networks and Artificial Intelligence: A Review

2018-04-01 00:43 302 查看
作者是:Koushal Kumar  、Gour Sundar Mitra Thakur

摘要:
人工神经网络是人工智能的一个分支,这种计算机科学领域的新兴技术已经逐渐被大众所接受。
本篇文章主要回顾了近年来人工神经网络与人工智能的应用。同时这篇文章也关注到了使用其他计算方法(例如:模糊法)与神经网络来进行结合进而提高数据说明能力。
人工神经网络被认为主要是软计算技术,在近几十年被大量学习和应用。
神经网络在解决问题方面最普遍的就是被用来进行模式识别、数据分析、控制和分类。
人工神经网络有很强大的特征,包括处理问题时的高速性与自学习能力(通过先处理一系列的例子(训练集),进而学习到对该类问题的解决办法(测试集))。
本文的主要目的就是探索人工神经网络与人工智能近些年来的应用和提供对于该领域(人工神经网络和人工智能在不同方面(area)作为关键角色被使用和分析)的综述。

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

介绍人工智能
智能=感知+分析+行为:
人工智能被定义为一个人工制造的物体展现出了能够处理复杂问题的智能行为,这个物体(系统)通常被假定为电脑或者机器。
人工智能就是计算科学与生物智能的一个集成,简单来说就是使用计算来达到生活中的目的的一种能力。
智能就是一种能够进行想象创造记忆理解、模式识别、选择、适应改变以及经验学习的一种能力。
人工智能致力于让电脑的行为变得更像人类。人工智能致力于在解决复杂问题的方式上更接近于人类但却比人类消耗更少时间。
人工智能能够被分为两个部分:1.强AI   2.弱AI
1.强AI:强AI的原理就是机器能够自主进行思考,换言之,就是未来机器能够代替人类进行思考。因此强AI要求,在不久的将来我们将被机器(与人类同等智力且能够像人类一样能够处理复杂工作)环绕。如果这个想法能成真的话,这些机器将能推论、思考、做所有人类能做的事。当前的调查表示,我们没有办法去实现强AI,现在的辩论点就是,是否强AI是可能的。
2.弱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把这种对于输出数据的计算的规则,叫做激励函数。
神经网络在其结构上一般来说有三层:第一层是输入层,用来与外界进行直接交互,第二层是隐藏元,用来根据所需功能完成计算。第三层是输出层。
知识在神经网络中是按照突触权重的方式进行存储的,网络将输入数据一层一层传递下去,知道产生了最终的输出数据,如果网络拥有回退算法的多层感知器,当实际输出与预期输出不同时,一个错误的结果会被计算出来,然后通过网络再反向传播回去。当错误结果被传播的时候,突触权重会被修改。
现如今,研究人员在试图建立一个以硅为基础的电子网络,该网络以人脑的工作和形式为模型,‘泛化’是人工神经网络变成一个如此有用的工具的原因。学习模型,然后记忆他们。
神经网络的学习方法可以分成三类:监督学习、无监督学习、加强学习。
1.监督学习:在监督学习中,输入和输出都被提供给网络。因此,输出层上的每个节点上的预期与实际结果之间的错误和差异能够被发现,它们将被用来决定网络节点的权重的改变(根据流行的学习规则)。监督这个词的来源就是,每个节点上预期的输出值是由一个外部教师来决定的。监督学习的一个例子就是德尔塔定律和感知器定律。
2.无监督学习:这种学习方式是没有外部教师的,因此这种学习方式是建立在聚类技术基础上的。根据输入,模型集群会被划分成不同的类,这种学习模式也叫做自组织模式,典型的例子就是hebbian学习法则与竞争学习法则,无监督学习比监督学习更重要,因为大脑通常是进行无监督学习的。这种学习是由网络参数的改变方式来决定的。
3.加强学习:这种学习是建立与监督学习与无监督学习基础上的,强化学习是学习如何将情形映射成为操作,进而最大化一个数字应答信号,在这种学习方式中,对正确的输出是有奖励的,对错误的输出是有惩罚的。加强学习也被称为批评性学习而不是有老师的学习。
激励函数:
激励函数φ()在神经元Vk的输出上执行了一个数学运算。激励函数是根据网络所解决的问题的类型来选择的,通常来说有三种类型的激励函数。
第一有个阈值函数,当总输入小于阈值的时候,置0,当总输入大于等于阈值的时候,置1。
第二有个分段线性函数,他可以取0或1,但也可以取0,1之间的值,这取决于某个区域的线性操作的放大系数。
第三有个sigmoid函数,这个函数可以使用0~1范围,但是有时候他也可以取-1~1范围区间。sigmoid函数的一个例子就是双曲正切函数。

神经网络的应用:
神经网络在控制追踪&逃避方面的演化:
人工生命领域的研究人员经常性地会把注意力一到追踪&逃避领域上来学习复杂的大力行为的演化,MPEG影片序列阐释了由动态递归神经网络控制器在追踪和逃避方面的共同进化的行为。在原始的随机网络设计中,每一代的成功的设计都将会经历重组、突变和基因复制后再进行繁殖。选择是基于每个控制器在一系列追逃竞争中的表现是否良好来决定的。在每一个竞争中,追逐者与逃跑者互相对抗,伴随着对简单性地‘视觉引导’二维自动化虚拟代理的控制。追逐者与逃跑者所拥有
ba10
的能量是有限的,会在竞赛中消耗光,因此他们必须进化才能改善经济状况。这个时间序列将会被输入到一个定制好的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。
理解与描述对象行为(object behavior):
这是计算机视觉领域的热门话题之一。轨迹分析是行为理解问题中的基础问题之一。轨迹模式学习(learning of 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网格点。
上图显示了不同情况下不同人群的不同面部表情,因此神经网络和一些机器学习工具被用来识别表达。
神经网络加强防病毒技术:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐