什么是人工智能、机械进修和深度进修三者之间又有什么差异?_深度_人工智能
人工智能和深度学习虽然常常被当成同义词利用,但实际上这两个术语有实质的差异。我们会从专业的角度阐明这两个术语,作为业内人士的你就可以像区分旗子暗记和噪声一样区分它们。
1.1 人工智能现本日天都有很多人工智能的文章揭橥,并且在最近两年愈演愈烈。网络上关于人工智能的定义有几种说法,我最喜好的一个是,常日由人完成的智能任务的自动化。
1.1.1 人工智能发展史1956年,约翰·麦肯锡(John McCarthy)主持召开了第一次人工智能的学术会议,并创造了人工智能这个术语。然而早在此之前,关于机器是否会思考的谈论就已经开始。人工智能发展初期,机器已经可以办理对付人类比较困难的问题。
例如,德国制造了在第二次天下大战后期用于军事通信的恩尼格玛密码机(Enigma machine)。阿兰·图灵(Alan Turing)则构建了一个用于破解恩尼格玛密码机的人工智能系统。人类破译恩尼格玛密码是一个非常有寻衅性的任务,并每每会花费剖析员数周的韶光。而人工智能机器几个小时就可以完成破译。
打算机办理一些对人类很直接的问题,却一度非常困难。如区分猫和狗,朋友对你参加聚会迟到是否生气(感情),区分汽车和卡车,为研讨会写纪要(语音识别),或为你的外国朋友将条记转换成对方的措辞(例如,从法语转成英语)。这些任务中的大多数对付我们都很直接,但过去我们却无法通过给打算机硬编码一个程序来办理这类问题。早期打算机人工智能的实现都是硬编码的,如可以下棋的打算机程序。
人工智能发展初期,许多研究职员相信,人工智能可以通过对规则硬编码来实现。这类人工智能称为符号人工智能(symbolic AI),它适于办理明确的逻辑性问题,然而对付那些繁芜的问题,如图像识别、工具检测、措辞翻译和自然措辞的理解等任务,它却险些无能为力。人工智能的新方法,如机器学习和深度学习,正是用于办理这类问题的。
为更好理解人工智能、机器学习和深度学习的关系,我们画几个同心的圆圈,人工智能位于最外层,人工智能最早涌现,范畴最大,然后向内是机器学习,末了是驱动本日人工智能迅速发展的深度学习,它位于另两个圆圈内部,如图1.1所示。
图1.1 人工智能、机器学习和深度学习的关系
1.2 机器学习机器学习是人工智能的一个子领域,它在过去10年变得非常盛行,这两个词有时会交流利用。除机器学习外,人工智能还包括很多其他的子领域。与通过对规则进行硬编码的符号人工智能不同,机器学习系统通过展示大量实例来布局。从更高层面上说,机器学习系统通过检视大量数据得出可以预测未见数据结果的规则,如图1.2所示。
图1.2 机器学习比拟传统编程
大多数机器学习算法在构造化数据上运行良好,如发卖预测、推举系统和个性化营销等。所有机器学习算法中都涉及的一个主要方面是特色工程,数据科学家花费大量韶光来获取机器学习算法运行的精确特色。在某些领域,如打算机视觉(Computer Vision)和自然措辞处理(Natural Language Processing,NLP),由于具有较高维度,特色工程非常具有寻衅性。
直到现在,由于诸如特色工程和高维度方面的缘故原由,对付利用经典机器学习技能(如线性回归、随机森林等)来办理这类问题的机构都非常具有寻衅性。考虑一张大小为224×224×3(高×宽×通道)的图片,个中3表示彩色图片中红、绿、蓝色彩通道的个数。为了在打算机内存中存储这张图片,对应的矩阵要包含150,528个维度。假设要基于1000张224×224×3大小的图片构建分类器,维度就会变成1000个150,528大小。机器学习中一个被称为深度学习的特殊分支,让我们得以借助当代技能和硬件办理这些问题。
1.2.1 机器学习实例下面是利用机器学习技能实现的出色运用。
例1:Google Photos利用了机器学习中的一类深度学习照片分组(deep learning for grouping photos)技能。例2:推举系统,这是一类可用于推举电影、音乐和产品的机器学习算法,很多大公司,如Netflix、Amazon和iTunes都在利用。1.3 深度学习传统机器学习算法利用手写的特色提取代码来演习算法,而深度学习算法利用当代技能自动提取这些特色。
例如,一个用于预测图像是否包含人脸的深度学习算法将在第一层检讨边缘,第二层检测鼻子和眼睛等形状,末了一层检测面部形状或者更繁芜的构造(见图1.3)。每一层都基于前一层的数据表示进行演习。如果大家以为上面的阐明理解起来有些困难,请不要担心,本书的后续章节会更直不雅观地布局和详细阐明这样的网络。
图1.3 中间层的可视化输出
得益于GPU、大数据、云供应商如 Amazon Web Services(AWS)和Google Cloud,以及Torch、TensorFlow、Caffe和PyTorch这些框架的涌现,深度学习的运用在过去几年涌现了巨大的增长。除此之外,一些大型公司还分享了已在弘大的数据集上演习好的算法,因而使得后来者可以经由很少的改动就能够以几种用例为根本构建最前辈的系统。
1.3.1 深度学习的运用深度学习一些盛行的运用如下:
靠近人类水平的图像分类;靠近人类水平的语音识别;机器翻译;自动驾驶汽车;Siri、Google语音和Alexa在最近几年更加准确;日本农人的黄瓜智能分拣;肺癌检测;准确度高于人类的措辞翻译。图1.4所示为一个用于总结段落大意的简例,打算机读入一大段文本,并用几行总结出中央语义。
图1.4 打算机天生的本文择要
接下来,我们把图1.5作为普通的图片输入给打算机,并不奉告打算机图像中展示的是什么。借助工具检测技能和词典的帮助,我们得到的图像描述是:两个小女孩正在玩乐高玩具。打算机太聪明了,不是吗?
图1.5 工具检测和图像标注
1.3.2 深度学习的浮夸宣扬媒体人士和人工智能领域外的人士,以及那些并非真正的人工智能和深度学习参与者,一贯暗示说,随着人工智能和深度学习的进步,电影Terminator 2: Judgement Day
中的场景会成为现实。有些乃至在评论辩论人类终将被机器人掌握的时期,那机遇器人将决定什么对人类有益。目前而言,人工智能的能力被过分浮夸了。现阶段,大多数深度学习系统都支配在一个非常受控的环境中,并给出了有限的决策边界。
我的想法是,当这些系统能够学会做出智能决策,而非仅仅完成模式匹配,当数以千百计的深度学习算法可以协同事情,那时大概我们有希望见到类似科幻电影中一样表现的机器人。事实上,我们尚不能实现通用的人工智能,即机器可以在没有指示的情形下做任何事。现在的深度学习大多是关于如何探求现有数据的模式并预测未来结果。作为深度学习业者,我们该当像差异旗子暗记和噪声一样区分这些不实说法。
1.3.3 深度学习发展史只管深度学习在最近几年才开始广为盛行,但其背后的理论早在20世纪50年代就开始形成了。表1.1给出了现今深度学习运用中最受欢迎的技能和涌现的大概的韶光点。
深度学习这个术语过去有几种不同的叫法。20世纪70年代我们称之为掌握论(cybernetics),20世纪80年代称之为联结主义(connectionism),而现在称之为深度学习或神经网络。我们将交替利用深度学习和神经网络这两个术语。神经网络常日指的是那些受人脑运作启示的算法。然而,作为深度学习的从业者,我们应明白神经网络紧张是由强大的数学理论(线性代数和微积分)、统计学(概率)和软件工程勉励和支持的。
表1.1
1.3.4 为何是现在为何现在深度学习这么盛行?一些关键缘故原由如下:
硬件可用性;数据和算法;深度学习框架。1.3.5 硬件可用性深度学习要在数百万乃至数十亿的参数上进行繁芜的数学运算。只管过去这些年有所提高,但仅依赖现在的CPU实行这些运算极其耗时。一种叫作图形处理单元(Graphics Processing Unit,GPU)的新型硬件在完成这些大规模的数学运算(如矩阵乘法)时可以赶过几个数量级。
GPU最初是Nvidia和AMD公司为游戏家当而开拓的。事实证明这种硬件极其高效。Nvidia最近的一款产品1080ti,仅用了几天韶光就构建了一个基于ImageNet数据集的图像分类系统,而此前这须要大概1个月的韶光。
如果打算购买用于深度学习的硬件,建议用户根据预算选择一款Nvidia的内存较大的GPU。记住,打算机内存和GPU内存并不相同,1080ti带有大约11GB的内存,它的价格在700美元旁边。
你也可以利用各种云做事,如AWS、Google Cloud或Floyd(这家公司供应专为深度学习优化的GPU机器)。如果刚开始深度学习,或在财务受限的情形下为公司的运用配置机器时,利用云做事就很经济。
优化后的系统性能可能有较大提升。
图1.6所示为不同CPU和GPU的性能基准的比拟。
图1.6 基于不同CPU和GPU的神经网络架构的性能基准
1.3.6 数据和算法数据是完成深度学习最主要的组成部分,由于互联网的遍及和智好手机运用的增长,一些大公司,如Facebook和Google,可以网络到大量不同格式的数据,特殊是文本、图片、***和音频这类数据。在打算机视觉领域,ImageNet竞赛在供应
1,000种种别中的
140万张图片的数据集方面发挥了巨大浸染。
这些图像种别是手工标注的,每年都有数百个团队参与竞赛。过去比赛中一些成功的算法有VGG、ResNet、Inception、DenseNet等。现在这些算法已在行业中得到运用,用于办理各种打算机视觉问题。深度学习领域还有其他一些盛行的数据集,这些数据集常被用于建立不同算法的性能基准:
MNIST;COCO数据集;CIFAR;The Street View House Numbers;PASCAL VOC;Wikipedia dump;20 Newsgroups;Penn Treebank;Kaggle。各种不同算法的发展,如批规一化、激活函数、跳跃式连接(skip connection)、是非期影象网络(LSTM)、dropout等,使得最近几年可以更快并更成功地演习极深度网络。本书接下来的章节中,我们将深入每种技能的细节,以及如何利用这些技能构建更好的模型。
1.3.7 深度学习框架在早期,人们须要具备C++和CUDA的专业知识来实现深度学习算法。现在随着很多公司将它们的深度学习框架开源,使得那些具有脚本措辞知识(如Python)的人,也可以开始构建和利用深度学习算法。本日,这个行业中盛行的深度学习框架有TensorFlow、Caffe2、Keras、Theano、PyTorch、Chainer、DyNet、MXNet和CNTK。
如果没有这些框架,深度学习的运用也不会如此广泛。它们抽象出许多底层的繁芜度,让我们可以专注于运用。我们尚处于深度学习的早期阶段,很多组织机构都在对深度学习进行大量研究,险些每天都有打破性的成果,因而,各种框架也都各有利弊。
PyTorchPyTorch以及其他大多数深度学习框架,紧张用于两个方面:
用GPU加速过的运算替代与NumPy类似的运算;构建深度神经网络。让PyTorch越来越受欢迎的是它的易用性和大略性。不同于其他大多数盛行的利用静态打算图的深度学习框架,PyTorch利用动态打算,因此在构建繁芜架构时可以有更高的灵巧性。
PyTorch大量利用了Python观点,例如类、构造和条件循环,许可用户以纯面向工具的办法构建深度学习算法。大部分的其他盛行框架引进了自己的编程风格,有时编写新算法会很繁芜,乃至不支持直不雅观的调试。后续章节将详细谈论打算图。
只管PyTorch新近才发布并且还处于β版本,由于它的大略易用和出色的性能、易于调试性,以及来自不同公司如SalesForce等的强大支持,PyTorch受到了数据科学家和深度学习研究职员的巨大欢迎。
由于PyTorch最初紧张为研究目的而构建,因此不建议用于那些对延迟哀求非常高的生产环境。然而,随着名为Open Neural Network Exchange(ONNX)的新项目的涌现,这种情形正在发生改变,该项目的重点是将在PyTorch上开拓的模型支配到适用于生产的Caffe2这样的平台上。在本书写作时,这个项目刚刚启动,因而过多的定论还为时尚早。该项目了得到Facebook和微软的支持。
在本书的别的部分,我们将学习用于构建打算机视觉和自然措辞处理领域的强大深度学习运用的各种模块(较小的观点或技能)。
1.4 小结作为先容性章节,本章磋商了什么是人工智能、机器学习和深度学习,以及三者之间的差异。我们也在日常生活中看到了由这些技能开拓的运用程序。本章然后更深入地谈论了为什么深度学习在现在才变得那么盛行,末了对深度学习的框架PyTorch做了一个大略先容。
本文节选自《PyTorch深度学习》
《PyTorch深度学习》是利用PyTorch构建神经网络模型的实用指南,内容分为9章,包括PyTorch与深度学习的根本知识、神经网络的构成、神经网络的知识、机器学习根本知识、深度学习在打算机视觉中的运用、深度学习在序列数据和文本中的运用、天生网络、当代网络架构,以及PyTorch与深度学习的未来走向。
《PyTorch深度学习》适宜对深度学习领域感兴趣且希望一探PyTorch的业内人员阅读;具备其他深度学习框架利用履历的读者,也可以通过本书节制PyTorch的用法。
本文系作者个人观点,不代表本站立场,转载请注明出处!