概述
2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源。这两年在不管在国内还是在国外,人工智能、机器学习仿佛一夜之前传遍大街小巷。机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判。如今,领先的科技巨头无不在机器学习下予以极大投入。Facebook、苹果、微软,甚至国内的百度,Google 自然也在其中。
去年早些时候 Google DeepMind 的 AlphaGo 项目在举世瞩目的围棋比赛中一举击败了韩国选手李世石,媒体就是使用了人工智能、机器学习和深度学习这几个术语,来解释 DeepMind 获胜的原因,并将它们混为一谈。但是三者其实不是一回事。
区别与联系
本文借助Michael Copeland的讲解,让我们撩开人工智能、机器学习和深度学习的概念,深入理解它们的关系和区别。为了搞清三者关系,我们来看一张图:
如图所示:人工智能最大,此概念也最先问世;然后是机器学习,出现的稍晚;最后才是深度学习。
从低潮到繁荣
自从 1956 年计算机科学家们在达特茅斯会议(Dartmouth Conferences)上确认人工智能这个术语以来,人们就不乏关于人工智能奇思妙想,研究人员也在不遗余力地研究。在此后的几十年间,人工智能先是被捧为人类文明光明未来的钥匙,后又被当作过于自大的异想天开而抛弃。
但是在过去几年中,人工智能出现了爆炸式的发展,尤其是 2015 年之后。大部分原因,要归功于图形处理器(GPU)的广泛应用,使得并行处理更快、更便宜、更强大。另外,人工智能的发展还得益于几乎无限的存储空间和海量数据的出现(大数据运动):图像、文本、交易数据、地图数据,应有尽有。
下面我们从发展的历程中来一一展开对人工智能、机器学习和深度学习的深度学习。
人工智能
人工智能先驱们在达特茅斯开会时,心中的梦想是希望通过当时新兴的计算机,打造拥有相当于人类智能的复杂机器。这就是我们所说的“通用人工智能”(General AI)概念,拥有人类五感(甚至更多)、推理能力以及人类思维方式的神奇机器。在电影中我们已经看过无数这样的机器人,对人类友好的 C-3PO,以及人类的敌人终结者。通用人工智能机器至今只存在 于电影和科幻小说里,理由很简单:我们还实现不了,至少目前为止。
我们力所能及的,算是“弱人工智能”(Narrow AI):执行特定任务的水平与人类相当,甚至超越人类的技术。现实中有很多弱人工智能的例子。这些技术有人类智能的一面。但是它们是如何做到的?智能来自哪里?这就涉及到下一个同心圆:机器学习。
机器学习
机器学习是实现人工智能的一种方法。机器学习的概念来自早期的人工智能研究者,已经研究出的算法包括决策树学习、归纳逻辑编程、增强学习和贝叶斯网络等。简单来说,机器学习就是使用算法分析数据,从中学习并做出推断或预测。与传统的使用特定指令集手写软件不同,我们使用大量数据和算法来“训练”机器,由此带来机器学习如何完成任务。
许多年来,计算机视觉一直是机器学习最佳的领用领域之一,尽管还需要大量的手动编码才能完成任务。研究者会手动编写一些分类器(classifier),如边缘检测筛选器,帮助程序辨别物体的边界;图形检测分类器,判断物体是否有八个面;以及识别“S-T-O-P”的分类器。在这些手动编写的分类器的基础上,他们再开发用于理解图像的算法,并学习如何判断是否有停止标志。
但是由于计算机视觉和图像检测技术的滞后,经常容易出错。
深度学习
深度学习是实现机器学习的一种技术。早期机器学习研究者中还开发了一种叫人工神经网络的算法,但是发明之后数十年都默默无闻。神经网络是受人类大脑的启发而来的:神经元之间的相互连接关系。但是,人类大脑中的神经元可以与特定范围内的任意神经元连接,而人工神经网络中数据传播要经历不同的层,传播方向也不同。
举个例子,你可以将一张图片切分为小块,然后输入到神经网络的第一层中。在第一层中做初步计算,然后神经元将数据传至第二层。由第二层神经元执行任务,依次类推,直到最后一层,然后输出最终的结果。
每个神经元都会给其输入指定一个权重:相对于执行的任务该神经元的正确和错误程度。最终的输出由这些权重共同决定。因此,我们再来看看上面提到的停止标志示例。一张停止标志图像的属性,被一一细分,然后被神经元“检查”:形状、颜色、字符、标志大小和是否运动。神经网络的任务是判断这是否是一个停止标志。它将给出一个“概率向量”(probability vector),这其实是基于权重做出的猜测结果。在本文的示例中,系统可能会有 86% 的把握认定图像是一个停止标志,7% 的把握认为是一个限速标志,等等。网络架构然后会告知神经网络其判断是否正确。
不过,问题在于即使是最基础的神经网络也要耗费巨大的计算资源,因此当时不算是一个可行的方法。不过,以多伦多大学 Geoffrey Hinton 教授为首的一小批狂热研究者们坚持采用这种方法,最终让超级计算机能够并行执行该算法,并证明该算法的作用。如果我们回到停止标志那个例子,很有可能神经网络受训练的影响,会经常给出错误的答案。这说明还需要不断的训练。它需要成千上万张图片,甚至数百万张图片来训练,直到神经元输入的权重调整到非常精确,几乎每次都能够给出正确答案。不过值得庆幸的是Facebook 利用神经网络记住了你母亲的面孔;吴恩达 2012 年在谷歌实现了可以识别猫的神经网络。
如今,在某些情况下,通过深度学习训练过的机器在图像识别上表现优于人类,这包括找猫、识别血液中的癌症迹象等。谷歌的 AlphaGo 学会了围棋,并为比赛进行了大量的训练:不断的和自己比赛。
总结
人工智能的根本在于智能,而机器学习则是部署支持人工智能的计算方法。简单的将,人工智能是科学,机器学习是让机器变得更加智能的算法,机器学习在某种程度上成就了人工智能。
本文作者:code_xzh 来源:阿里云云栖社区
CIO之家 www.ciozj.com 微信公众号:imciow