如何理解人工智能、机器学习和深度学习三者的关系

转载 2017年05月05日 12:13:40

如何理解人工智能、机器学习和深度学习三者的关系

今天我们就用最简单的方法——同心圆,可视化地展现出它们三者的关系和应用


如上图,人工智能是最早出现的,也是最大、最外侧的同心圆;其次是机器学习,稍晚一点;最内侧,是深度学习,当今人工智能大爆炸的核心驱动。

人工智能的一些较小的子集发展了起来。先是机器学习,然后是深度学习。深度学习又是机器学习的子集。而如今,深度学习造成了前所未有的巨大的影响。

| 从概念的提出到走向繁荣

1956年,几个计算机科学家相聚在达特茅斯会议(Dartmouth Conferences),提出了“人工智能”的概念。其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言;或者被当成技术疯子的狂想扔到垃圾堆里。坦白说,直到2012年之前,这两种声音还在同时存在。

过去几年,尤其是2015年以来,人工智能开始大爆发。很大一部分是由于GPU的广泛应用,使得并行计算变得更快、更便宜、更有效。当然,无限拓展的存储能力和骤然爆发的数据洪流(大数据)的组合拳,也使得图像数据、文本数据、交易数据、映射数据全面海量爆发。

让我们慢慢梳理一下计算机科学家们是如何将人工智能从最早的一点点苗头,发展到能够支撑那些每天被数亿用户使用的应用的。

| 人工智能(Artificial Intelligence)——为机器赋予人的智能



早在1956年夏天那次会议,人工智能的先驱们就梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。这就是我们现在所说的“ 强人工智能 ”(General AI)。这个无所不能的机器,它有着我们所有的感知(甚至比人更多),我们所有的理性,可以像我们一样思考。

人们在电影里也总是看到这样的机器:友好的,像星球大战中的C-3PO;邪恶的,如终结者。强人工智能现在还只存在于电影和科幻小说中,原因不难理解,我们还没法实现它们,至少目前还不行。

我们目前能实现的,一般被称为“ 弱人工智能 ”(Narrow AI)。 弱人工智能是能够与人一样,甚至比人更好地执行特定任务的技术。 例如,Pinterest上的图像分类;或者Facebook的人脸识别。

这些是弱人工智能在实践中的例子。这些技术实现的是人类智能的一些具体的局部。但它们是如何实现的?这种智能是从何而来?这就带我们来到同心圆的里面一层,机器学习。

| 机器学习—— 一种实现人工智能的方法


机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。

机器学习直接来源于早期的人工智能领域。传统算法包括决策树学习、推导逻辑规划、聚类、强化学习和贝叶斯网络等等。众所周知,我们还没有实现强人工智能。早期机器学习方法甚至都无法实现弱人工智能。

机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“ST-O-P”。使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。

这个结果还算不错,但并不是那种能让人为之一振的成功。特别是遇到云雾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么前一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。

随着时间的推进,学习算法的发展改变了一切。

| 深度学习——一种实现机器学习的技术


人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同, 人工神经网络具有离散的层、连接和数据传播的方向 。

例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。

每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。

我们仍以停止(Stop)标志牌为例。将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。

这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。

即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。主要问题是,即使是最基本的神经网络,也需要大量的运算。神经网络算法的运算需求难以得到满足。

不过,还是有一些虔诚的研究团队,以多伦多大学的Geoffrey Hinton为代表,坚持研究,实现了以超算为目标的并行算法的运行与概念证明。但也直到GPU得到广泛应用,这些努力才见到成效。

我们回过头来看这个停止标志识别的例子。 神经网络 是调制、训练出来的,时不时还是很容易出错的。它 最需要的,就是训练 。需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。

只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子;或者在Facebook的应用里,神经网络自学习了你妈妈的脸;又或者是2012年吴恩达(Andrew Ng)教授在Google实现了神经网络学习到猫的样子等等。

吴教授的突破在于,把这些神经网络从基础上显著地增大了。层数非常多,神经元也非常多,然后给系统输入海量的数据,来训练网络。在吴教授这里,数据是一千万YouTube视频中的图像。吴教授为深度学习(deep learning)加入了“深度”(deep)。这里的 “深度”就是说神经网络中众多的层 。

现在,经过深度学习训练的图像识别,在一些场景中甚至可以比人做得更好:从识别猫,到辨别血液中癌症的早期成分,到识别核磁共振成像中的肿瘤。Google的AlphaGo先是学会了如何下围棋,然后与它自己下棋训练。它训练自己神经网络的方法,就是不断地与自己下棋,反复地下,永不停歇。

| 深度学习,给人工智能以璀璨的未来

深度学习使得机器学习能够实现众多的应用,并拓展了人工智能的领域范围。 深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。

人工智能就在现在,就在明天。有了深度学习,人工智能甚至可以达到我们畅想的科幻小说一般。你的C-3PO我拿走了,你有你的终结者就好了。







深度学习入门必须理解这25个概念

神经网络基础1)神经元(Neuron)——就像形成我们大脑基本元素的神经元一样,神经元形成神经网络的基本结构。想象一下,当我们得到新信息时我们该怎么做。当我们获取信息时,我们一般会处理它,然后生成一个...
  • pangjiuzala
  • pangjiuzala
  • 2017-05-22 21:11:51
  • 9424

七步理解深度学习

七步理解深度学习 By Matthew Mayo     翻译by Andrewseu 深度学习是机器学习的一个分支,拥有很多的相似性,但是却也不同,深度神经网络结构在自然语言处理、计算机视觉、生...
  • Andrewseu
  • Andrewseu
  • 2016-01-18 17:43:43
  • 12141

对“深度学习”的一些理解

今天在深度学习的一个交流群里提出了这样一个问题:     对于深度学习,我有一件事情一直都不太理解,深度学习的一个核心观点是:“很多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更...
  • yfszzx
  • yfszzx
  • 2014-12-17 02:37:06
  • 1911

如何正确理解深度学习(Deep Learning)的概念

现在深度学习在机器学习领域是一个很热的概念,不过经过各种媒体的转载播报,这个概念也逐渐变得有些神话的感觉:例如,人们可能认为,深度学习是一种能够模拟出人脑的神经结构的机器学习方式,从而能够让计算机具有...
  • raocong2010
  • raocong2010
  • 2013-05-31 23:50:38
  • 8211

深度学习中关于 “深度” 的理解

深度学习中对深度的理解还是很值得去思考的,是规模的深度,还是特征的深度?事实上,通过实验可以发现卷积层的参数由卷积核的个数和卷积核的尺寸来控制,这两个参数直接决定整层的参数的个数,如果两个卷积层这两个...
  • u012193416
  • u012193416
  • 2018-03-17 15:59:28
  • 55

如何理解深度学习中的卷积?

原文地址: http://www.yangqiu.cn/aicapital/2382000.html 译自Tim Dettmers的Understanding Convolution i...
  • jzrita
  • jzrita
  • 2018-02-02 18:06:59
  • 88

深度学习理解入门

从统计学和传统的神经网络来理解深度学习
  • everlasting_188
  • everlasting_188
  • 2017-10-14 11:17:03
  • 406

利用Theano理解深度学习——Convolutional Neural Networks

注:本系列是基于参考文献中的内容,并对其进行整理,注释形成的一系列关于深度学习的基本理论与实践的材料,基本内容与参考文献保持一致,并对这个专题起名为“利用Theano理解深度学习”系列,若文中有任何问...
  • google19890102
  • google19890102
  • 2015-11-21 17:53:16
  • 4919

深度学习理解(一)

1.深度学习是为了找到一种使得损失函数最小的参数模型,以实现对复杂函数的逼近! 2.训练的最终目的是使损失函数以最快的速度收敛到最小值。...
  • u010935076
  • u010935076
  • 2017-06-17 10:51:29
  • 94
收藏助手
不良信息举报
您举报文章:如何理解人工智能、机器学习和深度学习三者的关系
举报原因:
原因补充:

(最多只允许输入30个字)