您的位置:首页 >  新闻中心 > 开发者专区
  开发者专区
 

IBM:长文解读人工智能、机器学习和认知计算

来源:原创    时间:2018-01-30    浏览:0 次

人工智能的开展从前阅历过几回起崎岖伏,近来在深度学习技能的推进下又迎来了一波新的史无前例的高潮。近来,IBM 官网宣布了一篇概述文章,对人工智能技能的开展进程进行了简略整理,一起还图文并茂地介绍了感知器、聚类算法、依据规矩的体系、机器学习、深度学习、神经网络等技能的概念和原理。

人类对怎么发明智能机器的考虑从来没有中断过。期间,人工智能的开展起崎岖伏,有成功,也有失利,以及其间躲藏的潜力。今日,有太多的新闻报道是关于机器学习算法的运用问题,从癌症查看猜测到图画了解、天然言语处理,人工智能正在赋能并改动着这个国际。
blob.png现代人工智能的前史具有成为一部巨大戏曲的全部元素。在最开端的 1950 时代,人工智能的开展紧紧围绕着考虑机器和焦点人物比方艾伦·图灵、冯·诺伊曼,迎来了其第一次春天。通过数十年的昌盛与衰落,以及难以置信的高期望,人工智能及其前驱们再次携手来到一个新境地。现在,人工智能正展现着其真实的潜力,深度学习、认知核算等新技能不断涌现,且不乏运用指向。

本文探讨了人工智能及其子范畴的一些重要方面。下面就先从人工智能开展的时刻线开端,并逐个剖析其间的全部元素。

现代人工智能的时刻线

1950 时代初期,人工智能聚集在所谓的强人工智能,期望机器可以像人相同完结任何智力使命。强人工智能的开展止步不前,导致了弱人工智能的呈现,即把人工智能技能运用于更窄范畴的问题。1980 时代之前,人工智能的研讨一向被这两种范式切割着,两营相对。可是,1980 年左右,机器学习开端成为干流,它的意图是让核算机具有学习和构建模型的才能,然后它们可在特定范畴做出猜测等行为。


图 1:现代人工智能开展的时刻线

在人工智能和机器学习研讨的根底之上,深度学习在 2000 年左右应运而生。核算机科学家在多层神经网络之中运用了新的拓扑学和学习方法。终究,神经网络的进化成功处理了多个范畴的扎手问题。

在曩昔的十年中,认知核算(Cognitive computing)也呈现了,其方针是打造可以学习并与人类天然交互的体系。通过成功地打败 Jeopardy 游戏的国际级选手,IBM Watson 证明晰认知核算的价值。

在本文中,我将逐个探究上述的全部范畴,并对一些要害算法作出解说。

根底性人工智能

1950 年之前的研讨提出了大脑是由电脉冲网络组成的主意,正是脉冲之间的交互产生了人类思维与认识。艾伦·图灵标明全部核算皆是数字,那么,打造一台可以仿照人脑的机器也就并非遥不行及。

上文说过,前期的研讨许多是强人工智能,可是也提出了一些根本概念,被机器学习和深度学习沿用至今。
blob.png
图 2:1950 - 1980 年间人工智能方法的时刻线

人工智能查找引擎

人工智能中的许多问题可以通过强力查找(brute-force search)得到处理。可是,考虑到中等问题的查找空间,根本查找很快就受影响。人工智能查找的最前期比方之一是跳棋程序的开发。亚瑟·塞缪尔(Arthur Samuel)在 IBM 701 电子数据处理机器上打造了第一款跳棋程序,完成了对查找树(alpha-beta 剪枝)的优化;这个程序也记载并奖赏详细举动,答应运用学习每一个玩过的游戏(这是首个自我学习的程序)。为了提高程序的学习率,塞缪尔将其编程为自我游戏,以提高其游戏和学习的才能。

尽管你可以成功地把查找运用到许多简略问题上,可是当挑选的数量增加时,这一方法很快就会失效。以简略的一字棋游戏为例,游戏一开端,有 9 步可能的走棋,每 1 个走棋有 8 个可能的相反走棋,顺次类推。一字棋的完好走棋树包含 362,880 个节点。假如你持续将这一主意扩展到国际象棋或许围棋,很快你就会开展查找的下风。

感知器

感知器是单层神经网络的一个前期监督学习算法。给定一个输入特征向量,感知器可对输入进行详细分类。通过运用练习集,网络的权重和差错可为线性分类而更新。感知器的初次完成是 IBM 704,接着在自定义硬件上用于图画辨认。


图 3:感知器与线性分类 
blob.png作为一个线性分类器,感知器有才能处理线性别离问题。感知器局限性的典型实例是它无法学习专属的 OR (XOR) 函数。多层感知器处理了这一问题,并为更杂乱的算法、网络拓扑学、深度学习奠定了根底。

聚类算法

运用感知器的方法是有监督的。用户供给数据来练习网络,然后在新数据上对该网络进行测验。聚类算法则是一种无监督学习(unsupervised learning)方法。在这种模型中,算法会依据数据的一个或多个特点将一组特征向量安排成聚类。


图 4:在一个二维特征空间中的聚类

你可以运用少数代码就能完成的最简略的聚类算法是 k-均值(k-means)。其间,k 表明你为样本分配的聚类的数量。你可以运用一个随机特征向量来对一个聚类进行初始化,然后将其它样本增加到其最近邻的聚类(假定每个样本都能表明一个特征向量,而且可以运用 Euclidean distance 来断定「间隔」)。跟着你往一个聚类增加的样本越来越多,其形心(centroid,即聚类的中心)就会从头核算。然后该算法会从头查看一次样本,以保证它们都在最近邻的聚类中,终究直到没有样本需求改动所属聚类。

尽管 k-均值聚类相对有用,但你有必要事前断定 k 的巨细。依据数据的不同,其它方法可能会愈加有用,比方分层聚类(hierarchical clustering)或依据散布的聚类(distribution-based clustering)。

决议计划树

决议计划树和聚类很附近。决议计划树是一种关于调查(observation)的猜测模型,可以得到一些定论。定论在决议计划树上被表明成树叶,而节点则是调查分叉的决议计划点。决议计划树来自决议计划树学习算法,其间数据聚会依据特点值测验(attribute value tests)而被分红不同的子集,这个切割进程被称为递归分区(recursive partitioning)。

考虑下图中的示例。在这个数据会集,我可以依据三个要素调查到或人是否有生产力。运用一个决议计划树学习算法,我可以通过一个方针来辨认特点(其间一个比方是信息增益)。在这个比方中,心境(mood)是生产力的首要影响要素,所以我依据 Good Mood 一项是 Yes 或 No 而对这个数据集进行了切割。可是,在 Yes 这边,还需求我依据其它两个特点再次对该数据集进行切分。表中不同的色彩对应右侧中不同色彩的叶节点。


图 5:一个简略的数据集及其得到的决议计划树
blob.png

决议计划树的一个重要性质在于它们的内涵的安排才能,这能让你轻松地(图形化地)解说你分类一个项的方法。盛行的决议计划树学习算法包含 C4.5 以及分类与回归树(Classification and Regression Tree)。

依据规矩的体系

最早的依据规矩和推理的体系是 Dendral,于 1965 年被开发出来,但直到 1970 时代,所谓的专家体系(expert systems)才开端大行其道。依据规矩的体系会一起存有所需的常识的规矩,并会运用一个推理体系(reasoning system)来得出定论。

依据规矩的体系一般由一个规矩调集、一个常识库、一个推理引擎(运用前向或反向规矩链)和一个用户接口组成。下图中,我运用了常识「苏格拉底是人」、规矩「假如是人,就会死」以及一个交互「谁会死?」


图 6:依据规矩的体系

依据规矩的体系现已在语音辨认、规划和操控以及疾病辨认等范畴得到了运用。上世纪 90 时代人们开发的一个监控和确诊大坝稳定性的体系 Kaleidos 至今仍在运用。

机器学习

机器学习是人工智能和核算机科学的一个子范畴,也有统计学和数学优化方面的根基。机器学习涵盖了有监督学习和无监督学习范畴的技能,可用于猜测、剖析和数据发掘。机器学习不限于深度学习这一种。但在这一节,我会介绍几种使得深度学习变得如此高效的算法。


图 7:机器学习方法的时刻线

反向传达

神经网络的强壮力气源于其多层的结构。单层感知器的练习是很直接的,但得到的网络并不强壮。那问题就来了:咱们怎么练习多层网络呢?这就是反向传达的用武之地。

反向传达是一种用于练习多层神经网络的算法。它的作业进程分为两个阶段。第一阶段是将输入传达通过整个神经网络直到终究一层(称为前馈)。第二阶段,该算法会核算一个差错,然后从终究一层到第一层反向传达该差错(调整权重)。


图 8:反向传达示意图

在练习进程中,该网络的中间层会自己进行安排,将输入空间的部分映射到输出空间。反向传达,运用监督学习,可以辨认出输入到输出映射的差错,然后可以据此调整权重(运用一个学习率)来纠正这个差错。反向传达现在依然是神经网络学习的一个重要方面。跟着核算资源越来越快、越来越廉价,它还将持续在更大和更密布的网络中得到运用。

卷积神经网络

卷积神经网络(CNN)是受动物视觉皮层启示的多层神经网络。这种架构在包含图画处理的许多运用中都有用。第一个 CNN 是由 Yann LeCun 创立的,其时 CNN 架构首要用于手写字符辨认使命,例如读取邮政编码。

LeNet CNN 由好几层可以别离完成特征提取和分类的神经网络组成。图画被分为多个可以被承受的区域,这些子区域进入到一个可以从输入图画提取特征的卷积层。下一步就是池化,这个进程降低了卷积层提取到的特征的维度(通过下采样的方法),一起保留了最重要的信息(一般通过最大池化的方法)。然后这个算法又履行另一次卷积和池化,池化之后便进入一个全衔接的多层感知器。卷积神经网络的终究输出是一组可以辨认图画特征的节点(在这个比方中,每个被辨认的数字都是一个节点)。运用者可以通过反向传达的方法来练习网络。


图 9.LeNet 卷积神经网络架构

对深层处理、卷积、池化以及全衔接分类层的运用打开了神经网络的各种新式运用的大门。除了图画处理之外,卷积神经网络现已被成功地运用在了视频辨认以及天然言语处理等多种使命中。卷积神经网络也现已在 GPU 上被有用地完成,这极大地提高了卷积神经网络的功能。

长短期回忆(LSTM)

记住前面反向传达中的评论吗?网络是前馈式的练习的。在这种架构中,咱们将输入送到网络而且通过躲藏层将它们向前传达到输出层。可是,还存在其他的拓扑结构。我在这里要研讨的一个架构答应节点之间构成直接的回路。这些神经网络被称为循环神经网络(RNN),它们可以向前面的层或许同一层的后续节点馈送内容。这一特性使得这些网络对时序数据而言是理想化的。

在 1997 年,一种叫做长短期回忆(LSTM)的特别的循环网络被发明晰。LSTM 包含网络中可以长期或许短时刻回忆数值的回忆单元。


图 10. 长短期回忆网络和回忆单元

回忆单元包含了可以操控信息流入或许流出该单元的一些门。输入门(input gate)操控什么时分新的信息可以流入回忆单元。忘记门(forget gate)操控一段信息在回忆单元中存留的时刻。终究,输出门(output gate)操控输出何时运用回忆单元中包含的信息。回忆单元还包含操控每一个门的权重。练习算法(一般是通过时刻的反向传达(backpropagation-through-time),反向传达算法的一种变体)依据所得到的差错来优化这些权重。

LSTM 现已被运用在语音辨认、手写辨认、语音组成、图画描绘等各种使命中。下面我还会谈到 LSTM。

深度学习

深度学习是一组相对新颖的方法调集,它们从根本上改动了机器学习。深度学习自身不是一种算法,可是它是一系列可以用无监督学习完成深度网络的算法。这些网络是十分深层的,所以需求新的核算方法来构建它们,例如 GPU,除此之外还有核算机集群。

本文现在现已介绍了两种深度学习的算法:卷积神经网络和长短期回忆网络。这些算法现已被结合起来完成了一些令人惊奇的智能使命。如下图所示,卷积神经网络和长短期回忆现已被用来辨认并用天然言语描绘图片或许视频中的物体。


图 11. 结合卷积神经网络和长短期回忆来进行图画描绘

深度学习算法也现已被用在了人脸辨认中,也可以以 96% 的准确率来辨认结核病,还被用在自动驾驶和其他杂乱的问题中。

可是,尽管运用深度学习算法有着许多成果,可是依然存在问题需求咱们去处理。一个最近的将深度学习用于皮肤癌检测的运用发现,这个算法比通过认证的皮肤科医师具有更高的准确率。可是,医师可以列举出导致其确诊成果的要素,却没有方法知道深度学习程序在分类的时分所用的要素。这被称为深度学习的黑箱问题。

另一个被称为 Deep Patient 的运用,在供给患者的病例时可以成功地猜测疾病。该运用被证明在疾病猜测方面比医师还做得好——即使是众所周知的难以猜测的精神分裂症。所以,即使模型作用杰出,也没人可以深化到这些大型神经网络去找到原因。

认知核算

人工智能和机器学习充满了生物启示的事例。尽管前期的人工智能专心于树立仿照人脑的机器这一宏伟方针,而现在,是认知核算正在朝着这个方针跨进。

认知核算树立在神经网络和深度学习之上,运用认知科学中的常识来构建可以仿照人类思维进程的体系。可是,认知核算覆盖了很多学科,例如机器学习、天然言语处理、视觉以及人机交互,而不只是是聚集于某个独自的技能。

认知学习的一个比方就是 IBM 的 Waston,它在 Jeopardy 上展现了其时最先进的问答交互。IBM 现已将其扩展在了一系列的 web 效劳上了。这些效劳供给了用于一些列运用的编程接口来构建强壮的虚拟署理,这些接口有:视觉辨认、语音文本变换(语音辨认)、文本语音变换(语音组成)、言语了解和翻译、以及对话引擎。

持续前进

本文只是涵盖了关于人工智能前史以及最新的神经网络和深度学习方法的一小部分。尽管人工智能和机器学习阅历了许多起崎岖伏,可是像深度学习和认知核算这样的新方法现已明显地提高了这些学科的水平。尽管可能还无法完成一个具有认识的机器,可是今日的确有着可以改进人类日子的人工智能体系。