深度学习应用开发 课件 第1章 深度学习绪论_第1页
深度学习应用开发 课件 第1章 深度学习绪论_第2页
深度学习应用开发 课件 第1章 深度学习绪论_第3页
深度学习应用开发 课件 第1章 深度学习绪论_第4页
深度学习应用开发 课件 第1章 深度学习绪论_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能的概念介绍01任务机器学习的概念介绍02任务目录深度学习的概念介绍03任务人工智能与机器学习、深度学习的关系04任务1人工智能的概念介绍1人工智能的概念介绍上世纪50年代,计算机科学家们就提出了“人工智能(ArtificialIntelligence,AI)”的概念,人工智能是一个广泛的概念,人工智能的目的就是让计算机能够象人一样思考。现在,人工智能已经发展为一门广泛的交叉和前沿科学,涉及到计算机科学、心理学、哲学和语言学等学科,也广泛的应用到语音识别、图像识别、自然语言处理等领域。人工智能是计算机科学的一个重要分支,是对人类认知思维的抽象和模拟,用机器实现人类智能,做人类可以做的事情。人工智能通常可分为弱人工智能和强人工智能两个阶段。目前处于弱人工智能阶段,具备一定观察和感知力的机器,能做到有限的理解和推理,还远未到达能让机器习得自适应能力的强人工智能阶段。伴随着“人工智能”的崛起,出现了“机器学习”、“深度学习”等热门领域。2机器学习的概念介绍2机器学习的概念介绍机器学习(MachineLearning,ML)是指用某些算法指导计算机利用已知数据得出适当的模型,并利用此模型对新的情境给出判断的过程。机器学习的思想是对人类生活中学习过程的一个模拟,而在这整个过程中,最关键的是数据。任何通过数据训练的学习算法的相关研究都属于机器学习,包括一些成熟的经典技术,比如线性回归(LinearRegression)、K均值(K-means)、决策树(DecisionTrees)、随机森林(Random)、主成分分析(PrincipalComponentAnalysis,PCA)、支持向量机(SupportVectorMachine,SVM)以及人工神经网络(ArtificialNeuralNetworks,ANN)。2机器学习的概念介绍机器学习包括以下类型的学习模式:(1) 监督学习模式有监督学习以训练集作为系统的输入,其中每个样本都有标注信息,我们称标注信息为真实值(groundtruth)。模型的输出值与真实值得差值用损失函数来衡量(loss),采用最小损失函数执行训练过程。训练完成后,针对训练集(也称为验证集)中不相交的示例,测量模型的准确性。

监督学习模式2机器学习的概念介绍(2) 无监督学习模式无监督学习中,训练样本未按其所属的系统进行标记。无监督学习模型是识别无标签数据结构的模型。该系统寻找具有共同特征的数据,并根据数据内部知识特征对其进行聚类。这种学习算法适用于聚类问题。

无监督学习模式3深度学习的概念介绍3深度学习的概念介绍深度学习(DeepLearning,DL)的概念源于对人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像、声音和文本。深度学习的精髓在于通过监督学习或从标记的数据和算法中学习。深度学习中的每种算法都经过相同的过程,深度学习过程的以下步骤:数据处理(数据预处理);模型设计(网络结构的设计);训练模型(优化器,损失函数、计算资源);

保存并测试模型(保存并测试模型的性能,以备预测调用)4人工智能与机器学习、深度学习的关系4人工智能与机器学习、深度学习的关系严格意义上说,人工智能和机器学习没有直接关系,只不过目前机器学习的方法被大量的应用于解决人工智能的问题而已。目前机器学习是人工智能的一种实现方式,也是最重要的实现方式。早期的机器学习实际上是属于统计学,而二十世纪九十年代之前的经典人工智能跟机器学习也没有关系。所以今天的人工智能和机器学习有很大的重叠。深度学习是机器学习现在比较火的一个方向,其本身是神经网络算法的衍生,在图像、语音等富媒体的分类和识别上取得了非常好的效果。4人工智能与机器学习、深度学习的关系如果把机器学习、深度学习当成人工智能的一个子学科来看,三者关系如下图所示:

ThankYOU!目录1数据量大01任务计算力提升02任务网络规模大03任务1数据量大1数据量大早期的机器学习算法比较简单,容易快速训练,需要的数据集规模也比较小,如1936年由英国统计学家RonaldFisher收集整理的鸢尾花卉数据集Iris共包含3个类别花卉,每个类别50个样本。1998年由YannLeCun收集整理的MNIST手写数字图片数据集共包含0~9共10类数字,每个类别多达7000张图片。1数据量大图2数据集大小趋势图1

数据集样本数趋势2计算力提升2计算力提升计算能力的提升是第三次人工智能复兴的一个重要因素;传统的机器学习算法,对数据量和计算能力要求不高,通常在CPU上可训练完成;深度学习非常依赖并行加速计算设备,目前的大部分神经网络均使用NVIDIAGPU和GoogleTPU或其他神经网络并行加速芯片训练模型参数;2012年基于2块

GTX580GPU训练的AlexNet发布后,深度学习的真正潜力才得以发挥;围棋程序AlphaGoZero在64块GPU上从零开始训练了40天才得以超越所有的AlphaGo历史版本;自动网络结构搜索算法使用了800块GPU同时训练才能优化出较好的网络结构。2计算力提升GPU(GraphicsProcessingUnit),图形处理器,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的微处理器;TPU(TensorProcessingUnits),是由Google设计的定制机器学习芯片,用于成功执行其常规机器学习工作负载,专为Google的深度学习框架TensorFlow而设计.

2计算力提升3网络规模大3网络规模大早期的感知机模型和多层神经网络层数只有1层或者2~4层,网络参数量也在数万左右;随着深度学习的兴起和计算能力的提升,AlexNet(8层),VGG16(16层),GoogLeNet(22层),ResNet50(50层),DenseNet121(121层)等模型相继被提出;同时输入图片的大小也从28x28逐渐增大,变成224x224,299x299等,这些使得网络的总参数量可达到千万级别。3网络规模大ThankYOU!目录1深度学习的快速发展期01任务深度学习的爆发期02任务1深度学习的快速发展期1深度学习的快速发展期2006年,深度学习(DL)元年。是年,Hinton提出了深度置信网络(DeepBeliefNet:DBN),在世界顶级学术期刊《Science》上提出观点:(1)多层人工神经网络模型有很强的特征学习能力,深度学习模型学习得到的特征数据对原始数据有更本质的代表性,这将大大便于分类和可视化问题;(2)对于深度神经网络很难训练达到最优的问题,可以采用逐层训练方法解决。将上层训练好的结果作为下层训练过程中的初始化参数。1深度学习的快速发展期图2DBN网络架构层叠的多个RBM网络组成DBN结构,来提取需要处理对象的特征,然后再用分类器进行分类。1深度学习的快速发展期2011年,ReLU激活函数被提出,该激活函数能够有效的抑制梯度消失问题;

图3ReLU激活函数微软首次将DL应用在语音识别上,构建了深度神经网络模型,将语音识别错误率降低了20%~30%,取得了重大突破。2深度学习的爆发期2深度学习的爆发期1998年LeCun大神提出卷积神经网络LeNet-5网络,用来解决手写数字识别的问题。LeNet-5被誉为卷积神经网络的‘HelloWorld’图4LeNet-5架构图2深度学习的爆发期2012年,Hinton团队为了证明深度学习的潜力,参加首届ImageNet图像识别大赛,构建名为AlexNet的CNN网络,获得冠军。图5AlexNet架构图2深度学习的爆发期AlexNet的创新点;首次采用ReLU激活函数,增加收敛速度;完全采用有监督训练,DL方法开始向有监督学习转变;扩展了LeNet-5,引入Dropout减小过拟合;首次采用GPU加速训练。2深度学习的爆发期2013~2017,通过ImageNet图像识别竞赛,GPU硬件的不断进步,涌现了性能更好的CNN模型, CNN 在其他计算机视觉任务中也开始应用开来。2017年至今,深度学习算法不断进步,在计算机视觉中的各个领域都有创新网络的提出。ThankYOU!目录计算机视觉01任务自然语言处理02任务强化学习03任务1计算机视觉1计算机视觉计算机视觉是深度学习应用最为广泛的一个领域,计算机视觉中包括:图像识别(ImageClassification)目标检测(ObjectDetection)语义分割(SemanticSegmentation)视频理解(VideoUnderstanding)图片生成(ImageGeneration)1计算机视觉图像识别(ImageClassification)图像识别(ImageClassification),也叫图像分类,是一种常见的分类问题。计算机视觉中图像分类算法常采用神经网络作为核心,算法的输入为图像数据,输出值为当前图像样本所属类别的概率,通常选取输出概率值最大的类别作为样本的预测类别。1计算机视觉目标检测(ObjectDetection)目标检测(ObjectDetection),是指通过算法自动检测出图片中目标物体的类别及大致位置,然后用边界框(BoundingBox)表示,并标出边界框中物体的类别信息。1计算机视觉语义分割(SemanticSegmentation)语义分割(SemanticSegmentation)是通过算法自动分割并识别出图片中的内容,可以将语义分割理解为每个像素点的分类问题,分析每个像素点属于物体的类别。1计算机视觉视频理解(VideoUnderstanding)随着深度学习在2D图片的相关任务上取得较好的效果,具有时间维度信息的3D视频理解任务受到越来越多的关注。常见的视频理解任务有视频分类,行为检测,视频主体抽取等1计算机视觉图片生成(ImageGeneration)图片生成(ImageGeneration),通过学习真实图片的分布,并从学习到的分布中采样而获得逼真度较高的生成图片。图像风格迁移2自然语言处理2自然语言处理1、机器翻译(MachineTranslation)过去的机器翻译算法通常是基于统计机器翻译模型,这也是2016年前Google翻译系统采用的技术。2、2016年11月,Google基于Seq2Seq模型上线了Google神经机器翻译系统(GNMT),首次实现了源语言到目标语言的直译技术,在多项任务上实现50~90%的效果提升。3、常用的机器翻译模型有Seq2Seq,BERT,GPT,GPT-2等,其中OpenAI提出的GPT-2模型参数量高达15亿个,甚至发布之初以技术安全考虑为由拒绝开源GPT-2模型。机器翻译(MachineTranslation)2自然语言处理1、聊天机器人(Chatbot)聊天机器人也是自然语言处理的一项主流任务。2、通过机器自动与人类对话,对于人类的简单诉求提供满意的自动回复,提高客户的服务效率和服务质量。3、常应用在咨询系统、娱乐系统、智能家居等中。聊天机器人(Chatbot)3强化学习3强化学习强化学习(ReinforcementLearning,RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习技术常用语机器人(Robotics)和自动驾驶(AutonomousDriving)领域中。3强化学习机器人(Robotics)在真实环境中,机器人的控制也取得了一定的进展。如UCBerkeley在机器人的模仿学习(ImitationLearning)、少样本学习(MetaLearning)、元学习(Few-shotLearning)等方向取得了不少进展。波士顿动力公司的机器人机器人(Robotics)3强化学习自动驾驶(AutonomousDriving)被认为是强化学习在短期内能技术落地的一个应用方向,很多公司投入大量资源在自动驾驶上,如百度、Uber、Google无人车等。百度Apollo自动驾驶汽车自动驾驶(AutonomousDriving)ThankYOU!目录深度学习框架概念01任务主流的深度学习框架02任务TensorFlow基础框架03任务1深度学习框架概念1深度学习框架概念深度学习框架是一种为了降低深度学习开发门槛而开发的深度学习工具,框架包含库、数据集和预训练模型等资源。深度学习框架可以简化模型的开发过程,复杂深度学习模型开发被大大简化,成为AI开发者的必用利器。开发者不需要从复杂的神经网络开始编代码,可以依据需要调用框架内置的模型,也可以在已有模型的基础上增加layer,选择分类器。目前,TensorFlow和PyTorch框架为主力深度学习框架,其中TensorFlow市场需求最多,且部署能力强,在应用部署中使用较多。PyTorch在学术界、学术论文中使用较多。2主流的深度学习框架介绍2深度学习框架介绍Theano

最早的深度学习框架之一,是一个基于Python语言、定位底层运算的计算库,Theano同时支持GPU和CPU运算。缺点:Theano开发效率较低,模型编译时间较长,同时开发人员转投TensorFlow等原因,Theano目前已经停止维护。2深度学习框架介绍Scikit-learn一个完整的面向机器学习算法的计算库,内嵌了常见的传统机器学习算法支持,文档和案例也较为丰富。

缺点:但是Scikit-learn并不是专门面向神经网络而设计的,不支持GPU加速,对神经网络相关层实现也较欠缺。2深度学习框架介绍Caffe由华人博士贾扬清在2013年开发,主要面向使用卷积神经网络的应用场合,并不适合其他类型的神经网络的应用。Caffe的主要开发语言是C++,也提供Python语言等接口,支持GPU和CPU。开发时间早,知名度高,2017年Facebook推出了Caffe的升级版本Cafffe2,且Caffe2目前已经融入到PyTorch库中。2深度学习框架介绍Torch

是一个非常优秀的科学计算库,基于较冷门的编程语言Lua开发。Torch灵活性较高,容易实现自定义网络层,这也是PyTorch继承获得的优良基因。缺点:但是由于Lua语言使用人群较小,Torch一直未能获得广泛应用。2深度学习框架介绍MXNET由华人博士陈天奇和李沐等人开发,MXNET是亚马逊公司的官方深度学习框架,采用了命令式编程和符号式编程混合方式,灵活性高,运行速度快,文档和案例也较为丰富。PyTorch是Facebook基于原有的Torch框架推出的采用Python作为主要开发语言的深度学习框架。PyTorch借鉴了Chainer的设计风格,采用命令式编程,使得搭建网络和调试网络非常方便。尽管PyTorch在2017年才发布,但是由于精良紧凑的接口设计,PyTorch在学术界获得了广泛好评。在PyTorch1.0版本后,原来的PyTorch与Caffe2进行了合并,弥补了PyTorch在工业部署方面的不足。总的来说,PyTorch是一个非常优秀的深度学习框架。2深度学习框架介绍Keras

一个基于Theano和TensorFlow等框架提供的底层运算而实现的高层框架,提供了大量方便快速训练,测试的高层接口,对于常见应用来说,使用Keras开发效率非常高。缺点:但是由于没有底层实现,需要对底层框架进行抽象,运行效率不高,灵活性一般。TensorFlow由Google于2015年发布。由于TensorFlow接口设计频繁变动,功能设计重复冗余,符号式编程开发和调试非常困难等问题,TensorFlow1.x版本一度被业界诟病。2019年,Google推出TensorFlow2正式版本,能够避免TensorFlow1.x版本的诸多缺陷。3TensorFlow基础框架3TensorFlow基础框架系统框架Tensorflow系统框架分为三层,由上而下依次是应用层、接口层和Tensorflow核心层。TensorFlow系统框架3TensorFlow基础框架系统框架的六大特性深度灵活性(DeepFlexibility)真正的可移植性(TruePortability)连接研究与产品(ConnectResearchandProduction)自动微分(Auto-Differentiation)多语言选择(LanguageOptions)最大化性能(MaximizePerformance)ThankYOU!目录1Anaconda介绍01任务Anaconda安装02任务1Anaconda介绍1Anaconda介绍Anaconda是专门为了方便使用Python进行数据科学研究而建立的一组软件包,涵盖了数据科学领域常见的Python库;并且自带了专门用来解决软件环境依赖问题的conda包管理系统。主要是提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题;Anaconda利用命令conda来进行包和环境的管理,并且已经默认安装了Python和相关的配套工具。2Anaconda安装1(1)进入Anaconda官网:/,点击Download,下载安装包,安装包较大,下载需要耐心等待。1(3)为了解决官网下载安装包较慢的问题,可以选择如下镜像源:/anaconda/archive/,这里选择适用于Windows系统较新的Anaconda版本:1(4)安装包下载好后,点击安装包,出现如下页面,依次点击Next、IAgree;1(5)选择JustMe,点击Next;1(6)选择安装目录,系统默认安装在C盘,Anaconda软件占用空间较大,可根据需要自定义安装到空间较大的盘;1(7)AdvancedOptions中的两个选项,勾选第一个,将Anaconda添加至环境变量;第二个是为系统选择默认的Python版本,这个不选,点击Install;等待安装完成后点击Next。1(8)最后的两个选项可以选,也可以不选,最后点击Finish完成安装。1(9)在Windows10的搜索框中输入anaconda,打开AnacondaPrompt命令提示符;1(10)输入python–V查看Python版本,我们发现Python版本为默认的Python3.9,至此,Anaconda环境管理器安装教程全部完成。ThankYOU!目录1创建虚拟环境01任务安装TensorFlow02任务Python第三方库的安装03任务1创建虚拟环境1创建虚拟环境Anaconda软件安装完成之后,使用软件创建虚拟环境,创建虚拟环境的途径有两个:通过Anaconda软件图形界面创建;通过命令在AnacondaPrompt中创建。1创建虚拟环境(1)搜索框输入anaconda命令,点击Anaconda图标打开软件,点击左下角Create;通过Anaconda软件图形界面创建:1创建虚拟环境(2)弹出创建新环境对话框;给新建的虚拟环境命名,这里将虚拟环境命名为tf,Python版本为3.6,点击Create;1创建虚拟环境(3)稍等片刻,在Environments一栏,会多出一个名为tf的虚拟环境。1创建虚拟环境(4)打开AnacondaPrompt命令提示符,默认打开base(root)环境,在命令提示符中输入activatetf命令,激活创建的tf环境,如图所示,表示tf虚拟环境创建成功。1创建虚拟环境创建一个名为tensorflow,Python版本为3.8的虚拟环境,打开AnacondaPrompt,输入如下命令:condacreate-ntensorflowpython=3.8使用前述方法可以查看虚拟环境信息和Python版本。通过命令在AnacondaPrompt中创建2安装tensorflow2这里我们给创建虚拟环境tensorflow配置安装包和深度学习框架,深度学习框架选择CPU版的TensorFlow2.0。步骤如下:(1)打开AnacondaPrompt,输入activatetensorflow命令激活虚拟环境tensorflow后,输入如下命令安装TensorFlow包:pip/conda

install

tensorflow

(2)如果下载太慢,可以选择从清华镜像源网站下载,命令如下:pip

install

-i/simple

tensorflow2(3)输入安装命令后,系统搜集到要安装的包,输入y,确认安装;如图所示:2(4)安装完成后,可以输入piplist命令查看虚拟环境中安装的包列表,可以查看安装的tensorflow包的版本信息,如图所示:2(5)也可以输入pipshowtensorflow命令查看tensorflow版本,如图所示:2(6)接下来测试tensorflow是否安装成功。输入python,进入python命令行模式;然后输入命令:import

tensorflow

如果没有显示任何报错信息,则tensorflow安装成功。如图所示:3Python第三方库的安装3TensorFlow安装完成之后,在开发具体的项目时,还需要安装一些Python的第三方库,这里以安装Matplotlib、NumPy和Pandas为例,介绍第三方库的安装流程,按照此方法可以安装其第三方包。3(1)MatplotlibMatplotlib是一个数据可视化工具,可以用来绘制各种图表,例如折线图、柱状图和三维图。安装命令如下:pipinstallmatplotlib3(2)NumpyNumpy是一个数学函数库,支持矩阵运算和大量数学函数运算,Numpy的数据类型支持在Matplotlib、OpenCV等多种第三方库上使用。安装命令如下:pipinstallnumpy3(3)PandasPandas是数据分析及可视化工具,支持数据处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论