《什么是人工智能、机器学习和深度学习三者之间又有什么差异?.docx》由会员分享,可在线阅读,更多相关《什么是人工智能、机器学习和深度学习三者之间又有什么差异?.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、什么是人工智能、机器学习和深度学习,三者之间又有什么差异?1.1人工智能现今每天都有很多人工智能的文章发表并且在最近两年度愈演愈烈。网络上关于人工智能的定义有几种讲法我最喜欢的一个是通常由人完成的智能任务的自动化。1.1.1人工智能开展史1956年度约翰麦肯锡JohnMcCarthy主持召开了第一次人工智能的学术会议并创造了人工智能这个术语。然而早在此之前关于机器是否会考虑的讨论就已经开场。人工智能开展初期机器已经可以解决对于人类比拟困难的问题。例如德国制造了在第二次世界大战后期用于军事通信的恩尼格玛密码机Enigmamachine。阿兰图灵AlanTuring那么构建了一个用于破解恩尼格玛密
2、码机的人工智能系统。人类破译恩尼格玛密码是一个非常有挑战性的任务并往往会花费分析员数周的时间。而人工智能机器几个小时就可以完成破译。计算机解决一些对人类很直接的问题却一度非常困难。如区分猫以及狗朋友对你参加聚会迟到是否生气情绪区分汽车以及卡车为研讨会写纪要语音识别或者为你的外国朋友将笔记转换成对方的语言例如从法语转成英语。这些任务中的大多数对于我们都很直接但过去我们却无法通过给计算机硬编码一个程序来解决这类问题。早期计算机人工智能的实现都是硬编码的如可以下棋的计算机程序。人工智能开展初期许多研究人员相信人工智能可以通过对规那么硬编码来实现。这类人工智能称为符号人工智能symbolicAI它适于
3、解决明确的逻辑性问题然而对于那些复杂的问题如图像识别、对象检测、语言翻译以及自然语言的理解等任务它却几乎无能为力。人工智能的新方法如机器学习以及深度学习正是用于解决这类问题的。为更好理解人工智能、机器学习以及深度学习的关系我们画几个同心的圆圈人工智能位于最外层人工智能最早出现范畴最大然后向内是机器学习最后是驱动今天人工智能迅速开展的深度学习它位于另两个圆圈内部如图1.1所示。图1.1人工智能、机器学习以及深度学习的关系1.2机器学习机器学习是人工智能的一个子领域它在过去10年度变得非常流行这两个词有时会交换使用。除机器学习外人工智能还包括很多其他的子领域。与通过对规那么进展硬编码的符号人工智能
4、不同机器学习系统通过展示大量实例来构造。从更高层面上讲机器学习系统通过检视大量数据得出可以预测未见数据结果的规那么如图1.2所示。图1.2机器学习比照传统编程大多数机器学习算法在构造化数据上运行良好如销售预测、推荐系统以及个性化营销等。所有机器学习算法中都涉及的一个重要方面是特征工程数据科学家花费大量时间来获取机器学习算法运行的正确特征。在某些领域如计算机视觉ComputerVision以及自然语言处理NaturalLanguageProcessingNLP因为具有较高维度特征工程非常具有挑战性。直到如今由于诸如特征工程以及高维度方面的原因对于使用经典机器学习技术如线性回归、随机森林等来解决这
5、类问题的机构都非常具有挑战性。考虑一张大小为2242243高宽通道的图片其中3表示彩色图片中红、绿、蓝色彩通道的个数。为了在计算机内存中存储这张图片对应的矩阵要包含150,528个维度。假设要基于1000张2242243大小的图片构建分类器维度就会变成1000个150,528大小。机器学习中一个被称为深度学习的十分分支让我们得以借助当代技术以及硬件解决这些问题。1.2.1机器学习实例下面是使用机器学习技术实现的出色应用。例1GooglePhotos使用了机器学习中的一类深度学习照片分组deeplearningforgroupingphotos技术。例2推荐系统这是一类可用于推荐电影、音乐以及产
6、品的机器学习算法很多大公司如Netflix、Amazon以及iTunes都在使用。1.3深度学习传统机器学习算法使用手写的特征提取代码来训练算法而深度学习算法使用当代技术自动提取这些特征。例如一个用于预测图像是否包含人脸的深度学习算法将在第一层检查边缘第二层检测鼻子以及眼睛等形状最后一层检测面部形状或更复杂的构造见图1.3。每一层都基于前一层的数据表示进展训练。假如大众觉得上面的解释理解起来有些困难请不要担忧本书的后续章节会更直观地构造以及详细解释这样的网络。图1.3中间层的可视化输出得益于GPU、大数据、云提供商如AmazonWebServicesAWS以及GoogleCloud和Torch
7、、TensorFlow、Caffe以及PyTorch这些框架的出现深度学习的应用在过去几年度出现了宏大的增长。除此之外一些大型公司还共享了已在庞大的数据集上训练好的算法因此使得后来者可以经过很少的改动就可以以几种用例为根底构建最先进的系统。1.3.1深度学习的应用深度学习一些流行的应用如下接近人类程度的图像分类接近人类程度的语音识别机器翻译自动驾驶汽车Siri、Google语音以及Alexa在最近几年度更加准确日本农民的黄瓜智能分拣肺癌检测准确度高于人类的语言翻译。图1.4所示为一个用于总结段落大意的简例计算机读入一大段文本并用几行总结出中心语义。图1.4计算机生成的本文摘要接下来我们把图1.
8、5作为普通的图片输入给计算机并不告知计算机图像中展示的是什么。借助对象检测技术以及词典的帮助我们得到的图像描绘是两个小女孩正在玩乐高玩具。计算机太聪明了不是吗?图1.5对象检测以及图像标注1.3.2深度学习的浮夸宣传媒体人士以及人工智能领域外的人士和那些并非真正的人工智能以及深度学习介入者一直暗示讲随着人工智能以及深度学习的进步电影Terminator2:JudgementDay中的场景会成为现实。有些甚至在议论人类终将被机器人控制的时代那时机器人将决定什么对人类有益。目前而言人工智能的才能被过分夸张了。现阶段大多数深度学习系统都部署在一个非常受控的环境中并给出了有限的决策边界。我的想法是当这
9、些系统可以学会做出智能决策而非仅仅完成形式匹配当数以千百计的深度学习算法可以协同工作那时也许我们有祈望见到类似科幻电影中一样表现的机器人。事实上我们尚不能实现通用的人工智能即机器可以在没有指示的情况下做任何事。如今的深度学习大多是关于怎样寻找现有数据的形式并预测将来结果。作为深度学习业者我们应该像区别信号以及噪声一样区分这些不实讲法。1.3.3深度学习开展史尽管深度学习在最近几年度才开场广为流行但其背后的理论早在20世纪50年度代就开场形成了。表1.1给出了现今深度学习应用中最受欢送的技术以及出现的大概的时间点。深度学习这个术语过去有几种不同的叫法。20世纪70年度代我们称之为控制论cyber
10、netics20世纪80年度代称之为联结主义connectionism而如今称之为深度学习或者神经网络。我们将交替使用深度学习以及神经网络这两个术语。神经网络通常指的是那些受人脑运作启发的算法。然而作为深度学习的从业者我们应明白神经网络主要是由强大的数学理论线性代数以及微积分、统计学概率以及软件工程鼓励以及支持的。表1.1技术年度份神经网络1943反向传播20世纪60年度代初期卷积神经网络1979循环神经网络1980长短期记忆网络19971.3.4为何是如今为何如今深度学习这么流行一些关键原因如下硬件可用性数据以及算法深度学习框架。1.3.5硬件可用性深度学习要在数百万甚至数十亿的参数上进展复
11、杂的数学运算。尽管过去这些年度有所进步但仅依靠如今的CPU执行这些运算极其耗时。一种叫作图形处理单元GraphicsProcessingUnitGPU的新型硬件在完成这些大规模的数学运算如矩阵乘法时可以高出几个数量级。GPU最初是Nvidia以及AMD公司为游戏产业而开发的。事实证明这种硬件极其高效。Nvidia最近的一款产品1080ti仅用了几天时间就构建了一个基于ImageNet数据集的图像分类系统而此前这需要大概1个月的时间。假如打算购置用于深度学习的硬件建议用户根据预算选择一款Nvidia的内存较大的GPU。记住计算机内存以及GPU内存并不一样1080ti带有大约11GB的内存它的价格
12、在700美元左右。你可以以使用各种云效劳如AWS、GoogleCloud或者Floyd这家公司提供专为深度学习优化的GPU机器。假如刚开场深度学习或者在财务受限的情况下为公司的应用配置机器时使用云效劳就很经济。优化后的系统性能可能有较大提升。图1.6所示为不同CPU以及GPU的性能基准的比照。图1.6基于不同CPU以及GPU的神经网络架构的性能基准1.3.6数据以及算法数据是完成深度学习最重要的组成局部由于互联网的普及以及智能手机应用的增长一些大公司如Facebook以及Google可以采集到大量不同格式的数据十分是文本、图片、视频以及音频这类数据。在计算机视觉领域ImageNet竞赛在提供1
13、,000种类别中的140万张图片的数据集方面发挥了宏大作用。这些图像类别是手工标注的每年度都有数百个团队介入竞赛。过去比赛中一些成功的算法有VGG、ResNet、Inception、DenseNet等。如今这些算法已在行业中得到应用用于解决各种计算机视觉问题。深度学习领域还有其他一些流行的数据集这些数据集常被用于建立不同算法的性能基准MNISTCOCO数据集CIFARTheStreetViewHouseNumbersPASCALVOCWikipediadump20NewsgroupsPennTreebankKaggle。各种不同算法的开展如批规一化、激活函数、跳跃式连接skipconnecti
14、on、长短期记忆网络LSTM、dropout等使得最近几年度可以更快并更成功地训练极深度网络。本书接下来的章节中我们将深化每种技术的细节和怎样使用这些技术构建更好的模型。1.3.7深度学习框架在早期人们需要具备C以及CUDA的专业知识来实现深度学习算法。如今随着很多公司将它们的深度学习框架开源使得那些具有脚本语言知识如Python的人可以以开场构建以及使用深度学习算法。今天这个行业中流行的深度学习框架有TensorFlow、Caffe2、Keras、Theano、PyTorch、Chainer、DyNet、MXNet以及CNTK。假如没有这些框架深度学习的应用也不会如此广泛。它们抽象出许多底层
15、的复杂度让我们可以专注于应用。我们尚处于深度学习的早期阶段很多组织机构都在对深度学习进展大量研究几乎每天都有打破性的成果因此各种框架也都各有利弊。PyTorchPyTorch和其他大多数深度学习框架主要用于两个方面用GPU加速过的运算替代与NumPy类似的运算构建深度神经网络。让PyTorch越来越受欢送的是它的易用性以及简单性。不同于其他大多数流行的使用静态计算图的深度学习框架PyTorch使用动态计算因此在构建复杂架构时可以有更高的灵敏性。PyTorch大量使用了Python概念例如类、构造以及条件循环允许用户以纯面向对象的方式构建深度学习算法。大局部的其他流行框架引进了自己的编程风格有时
16、编写新算法会很复杂甚至不支持直观的调试。后续章节将详细讨论计算图。尽管PyTorch新近才发布并且还处于版本由于它的简单易用以及出色的性能、易于调试性和来自不同公司如SalesForce等的强大支持PyTorch受到了数据科学家以及深度学习研究人员的宏大欢送。由于PyTorch最初主要为研究目的而构建因此不建议用于那些对延迟要求非常高的消费环境。然而随着名为OpenNeuralNetworkExchangeONNX的新工程的出现这种情况正在发生改变该工程的重点是将在PyTorch上开发的模型部署到适用于消费的Caffe2这样的平台上。在本书写作时这个工程刚刚启动因此太多的定论还为时尚早。该工程
17、了得到Facebook以及微软的支持。在本书的其余局部我们将学惯用于构建计算机视觉以及自然语言处理领域的强大深度学习应用的各种模块较小的概念或者技术。1.4小结作为介绍性章节本章讨论了什么是人工智能、机器学习以及深度学习和三者之间的差异。我们也在日常生活中看到了由这些技术开发的应用程序。本章然后更深化地讨论了为什么深度学习在如今才变得那么流行最后对深度学习的框架PyTorch做了一个简单介绍。下一章将使用PyTorch训练我们的第一个神经网络。本文摘自由人民邮电出版社异步社区出版的印度毗湿奴布拉马尼亚(VishnuSubramanian)译者王海玲,刘江峰?PyTorch深度学习?是使用PyTorch构建神经网络模型的实用指南内容分为9章包括PyTorch与深度学习的根底知识、神经网络的构成、神经网络的知识、机器学习根底知识、深度学习在计算机视觉中的应用、深度学习在序列数据以及文本中的应用、生成网络、当代网络架构和PyTorch与深度学习的将来走向。?PyTorch深度学习?合适对深度学习领域感兴趣且祈望一探PyTorch的业内人员浏览具备其他深度学习框架使用经历的读者可以以通过本书掌握PyTorch的用法。
限制150内