人工智能基础与应用教程.ppt
《人工智能基础与应用教程.ppt》由会员分享,可在线阅读,更多相关《人工智能基础与应用教程.ppt(271页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 第1章 人工智能概述人工智能基础与应用(微课版)工业和信息化精品系列教材人工智能技术第1章 人工智能概述2 第1章 人工智能概述重点A KEY知识了解人工智能 了解深度学习人工智能发展现状人工智能机器学习框架怎样学习人工智能3 第1章 人工智能概述内容CONTENTS导航了解深度学习了解人工智能人工智能发展现状人工智能机器学习框架怎样学习人工智能4 第1章 人工智能概述1.1 了解人工智能1人脸识别目前,手机屏幕解锁、支付宝的脸部ID支付、门禁闸机、企业考勤、金融开户等都在使用人脸识别技术。人脸识别还可以对人的眉毛、眼睛、鼻子、嘴巴以及轮廓等关键点进行检测,在解锁或支付过程中,找到眼睛的关
2、键点后可以识别眼睛是否为睁开的状态,如果闭着眼睛就不能解锁手机屏幕。5 第1章 人工智能概述1.1 了解人工智能现在几百元钱就可以买到一个能够对话、播放音乐的智能音箱,智能音箱在联网之后可以对用户说的话进行语音识别,并对其内容进行语义理解,最后将要回应的答案一方面通过语音合成反馈给用户,另一方面针对用户的需求或者要求的动作进行执行,如听歌等。当然,手机的语音助手也可以有相同的功能,如Siri、小爱同学等。2智能音箱6 第1章 人工智能概述1.1 了解人工智能在日常学习或者工作中,人们经常会有一些单词不认识或者要把某句话翻译成英语,目前借助软件或者网页就可以实现中英文互译。这里举一个例子,当翻译
3、“我在周日看了一本书”的时候,人工翻译可以很好地翻译出“I read a book on Sunday”,但是对于机器而言,它有着不同的翻译结果,首先就是一词多义的问题,如“看”这个词,可以翻译为“look”“watch”“read”等,其次就是语序问题,“在周日”这样的时间状语一般习惯放在句子后面,在翻译时需要做到“信、达、雅”,现在基于深度学习的翻译基本上可以做到“信、达”。基于深度学习的百度翻译结果如图1-1所示。3机器翻译7 第1章 人工智能概述1.1 了解人工智能百度百科对无人驾驶汽车给出的定义是“无人驾驶汽车是智能汽车的一种,也称为轮式移动机器人,主要依靠车内以计算机系统为主的智能
4、驾驶仪来实现无人驾驶的目的”。无人驾驶汽车是一项集合了自动控制、人工智能、传感器技术等多项技术的高度发展的产物。目前,我国的百度公司、清华大学都在致力于无人驾驶汽车的研发。人工智能已经在多个方面融入人们的日常生活中,并给人们带来了诸多便利。简言之,人工智能就是通过一些科学的计算方法,让机器做一些人类能够做的事情,例如,人类的视觉目标认知、图像识别,人类的听觉语音识别,人类的思考对图像的分析、对语言中语义的分析、理解以及回答等。4无人驾驶8 第1章 人工智能概述内容CONTENTS导航了解深度学习了解人工智能人工智能发展现状人工智能机器学习框架怎样学习人工智能9 第1章 人工智能概述1.2 了解
5、深度学习在了解深度学习之前,需要对它和人工智能之间的关系进行了解与分析,人工智能与深度学习的关系如图1-2所示。10 第1章 人工智能概述1.2 了解深度学习卡内基梅隆大学(Carnegie Mellon University)的汤姆迈克尔米切尔(Tom Michael Mitchell)教授在Machine learning一书中对机器学习给出了比较专业的定义,即“如果一个程序在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习”。通俗地讲,就是如果机器学习算法(一个程序)要实现一个预测、分类问题(任务T),那么需要对数据(经验E)进行分析,如果数据越多,最后实现
6、预测、分类时的准确率(效果P)越高,那么就称这个机器学习算法可以从数据中学习。11 第1章 人工智能概述1.2 了解深度学习深度学习是机器学习的一个分支,深度学习和机器学习的实现过程如图1-3所示。12 第1章 人工智能概述1.2 了解深度学习深度学习这个词,除了从传统机器学习那里继承了“学习”之外,“深度”是其区别于其他方法的特征之一。在人工智能中,深度学习是人工神经网络或者深层神经网络的代名词,“深度”指的是神经网络的网络层次,最基本的神经网络结构如图1-4所示。13 第1章 人工智能概述1.2 了解深度学习在21世纪前,深度神经网络由于受到计算力、数据量以及算法的限制,一直没有很好的表现
7、,当时传统机器学习的表现要好于神经网络,如支持向量机(Support Vector Machine,SVM)。步入21世纪,随着计算机性能的不断提高,大数据、云计算以及各种专用于计算的芯片的出现与普及,计算力以及数据量不再像之前那样限制神经网络的发展。在2012年的大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)中,辛顿(Hinton)和他的学生克里泽夫斯基(Alex Krizhevsky)设计的深度学习网络AlexNet获得了冠军;到2015年,深度学习在图像分类方面的错误率已经低于人工标注的错误率;现在
8、,深度学习被广泛应用于各个方向并取得了非常好的效果。14 第1章 人工智能概述内容CONTENTS导航了解深度学习了解人工智能人工智能发展现状人工智能机器学习框架怎样学习人工智能15 第1章 人工智能概述1.3 人工智能发展现状在竞赛领域,在ILSVRC的图像分类比赛中,2012年,AlexNet网络(一个7层的卷积神经网络)将图像分类的错误率从2011年的26%下降到16%。在实际应用中,人工智能在语音识别、语音合成上取得了非常瞩目的结果。人工智能已经被运用于农业上,2017年,蓝河公司(BlueRiver)的喷药机器人开始使用计算机视觉来识别需要肥料的植物。在医学上,谷歌大脑与Alphab
9、et旗下子公司Verily联合开发了一款能用来诊断乳腺癌的人工智能产品。在电商领域,阿里的人工智能系统“鲁班”在2017年的“双十一”网络促销日期间,根据用户行为和偏好,智能地为手机淘宝自动生成了4亿张不重复的海报。2017年,百度的小度机器人在最强大脑中战胜人类“脑王”,搜狗的问答机器人汪仔在一站到底中战胜哈佛女学霸。同年,百度CEO李彦宏将无人驾驶平台Apollo汽车开上五环。2018年,Google的Duplex代替人类自动接打电话、预订餐厅。2019年的央视网络春晚,人工智能主播“小小撒”携手撒贝宁,一同亮相舞台。现在,人工智能在动作识别、人脸识别、人体姿态估计、图像分类、图像生成、图
10、像分割等16 第1章 人工智能概述内容CONTENTS导航了解深度学习了解人工智能人工智能发展现状人工智能机器学习框架怎样学习人工智能17 第1章 人工智能概述1.4.1 机器学习框架简介常用的人工智能机器学习的基本框架包括TensorFlow、PaddlePaddle、Caffe、PyTorch、MXNet等,其说明如表1-1所示。框架名称接口语言是否开源TensorFlowC+、Java、Python、Go、C#等开源PaddlePaddleC+、Python开源CaffeC+、MATLAB、Python开源PyTorchC+、Python等开源MXNetC+、Python、R、MATLA
11、B等开源表1-1 TensorFlow、PaddlePaddle、Caffe、PyTorch、MXNet框架的说明18 第1章 人工智能概述1.4.2 TensorFlowTensorFlow的关注数在GitHub上表示为star的数量,截止到2019年6月,已经超过了12万,不同框架的star数如图1-5所示。该社区还对TensorFlow的六大优势做了重点阐述。(1)高度的灵活性。(2)可移植性(Portability)。(3)将科研和产品联系在一起。(4)自动求微分。(5)多语言支持。(6)性能最优化。19 第1章 人工智能概述1.4.3 PaddlePaddlePaddlePaddle
12、是百度推出的开源深度学习平台,最初由百度科学家和工程师开发,有着全面、准确的中文使用文档,为国内的开发者建立了友好的生态环境。(4)与产品相连。(3)稳定性。(1)灵活性。(2)高效性。PaddlePaddle支持丰富的神经网络架构和优化算法,易于配置复杂模型为了高效地使用异步计算资源,PaddlePaddle对框架的不同层进行优化,包括计算、存储、架构和通信。PaddlePaddle使利用各种CPU、GPU和机器来加速的训练变得简单。PaddlePaddle通过优化通信可以实现巨大的吞吐量,并可以快速执行。PaddlePaddle的设计也使其易于部署。20 第1章 人工智能概述内容CONTE
13、NTS导航了解深度学习了解人工智能人工智能发展现状人工智能机器学习框架怎样学习人工智能21 第1章 人工智能概述1.5 怎样学习人工智能02OPTION01OPTION03OPTION04OPTION掌握一门编程语言Python是一种高层次的结合了解释性、编译性、互动性的面向对象的脚本语言,它的使用方法非常简单。学会使用一种工具本书选择PyCharm作为工具。PyCharm是一个专门为Python打造的集成开发环境(Integrated Development Environment,IDE),具有一整套可以帮助用户在使用Python语言开发时提高效率的工具多学习一些论文每年都会有很多关于深度
14、学习的论文发表。在学习初期,需要研读一些入门的网络论文。尝试修改并训练网络对一个初学者而言,修改网络参数(即调参)是一件很困难的事,但是很多开源的网络都可以用自己的数据集去训练。在训练过程中,初学者会对这个网络有更加深刻的认识。22 第1章 人工智能概述THANKS23 第5章 MNIST数据集及神经网络人工智能基础与应用(微课版)工业和信息化精品系列教材人工智能技术第5章 MNIST数据集及神经网络人民邮电出版社24 第5章 MNIST数据集及神经网络重点A KEY知识MNIST数据集简介神经元常用函数深度神经网络经典卷积神经网络介绍循环神经网络优化器及优化方法25 第5章 MNIST数据集
15、及神经网络内容CONTENTS导航神经元常用函数MNIST数据集简介深度神经网络经典卷积神经网络介绍循环神经网络优化器及优化方法26 第5章 MNIST数据集及神经网络5.1 MNIST数据集简介数据集(Dataset)是一类数据的集合。传统的数据集通常表现为表格或者文档形式,每个数值被称为数据资料。数据集名称功能Iris Flower数据集由罗纳德费希尔(Ronald Fisher)引入的多变量数据集MNIST数据集通常用于测试分类、聚类和图像处理算法的手写数字图像分类数据分析数据集一个统计程序清单,可用于分类数据的分析时间序列数据集在时间上顺序索引的一系列数据表5-1 经典的数据集27 第
16、5章 MNIST数据集及神经网络5.1 MNIST数据集简介p MNIST数据集是一个含有手写数字的大型数据集,包含09共10个数字,通常用于训练图像处理系统。p MNIST数据集包含60000个训练图像和10000个测试图像p MNIST数据集共有4个文件,分别是训练集数据、训练集标签以及测试集数据、测试集标签。MNIST数据集的图像以字节的形式进行存储,每幅图像都为单通道图像,由2828个像素点构成。p MNIST数据集的测试集样本图像如图5-1所示。图5-1 MNIST数据集的测试集样本图像28 第5章 MNIST数据集及神经网络5.1 MNIST数据集简介不同分类器使用MNIST数据集
17、的错误率如表5-2所示。表5-2 不同分类器使用MNIST数据集的错误率类型错误率(% %)非线性分类器3.3线性分类器7.62层深度神经网络(DNN)1.6支持向量机(SVM)0.566层深度神经网络(DNN)0.355层卷积神经网络(CNN)0.2129 第5章 MNIST数据集及神经网络内容CONTENTS导航神经元常用函数MNIST数据集简介深度神经网络经典卷积神经网络介绍循环神经网络优化器及优化方法30 第5章 MNIST数据集及神经网络5.2.1 激活函数1sigmoid()函数在之前的一段时间内,sigmoid()函数是非常常用的,因为它对神经元的激活有很好的解释,且它本身为单调
18、连续,非常适合作为输出层。缺陷:p 第一,当输入稍微远离了坐标原点,函数的梯度就变得很小了,几乎为0,这会导致在反向传播过程中,梯度很小的时候接近0,神经网络无法更新参数,这个问题称为梯度饱和,也可以称为梯度弥散。p 第二,sigmoid()函数的输出不是零中心的,这会影响梯度下降的运作。31 第5章 MNIST数据集及神经网络5.2.1 激活函数2tanh()函数tanh()函数的数学公式为 ,tanh()函数图像如图5-2所示。tanh()函数的定义域是 ,值域是(-1,1)。其输入如果是很大的负数,其值就会无限接近于-1;输入如果是很大的正数,其值就会无限接近于1。和sigmoid()函
19、数一样,tanh()也存在梯度饱和问题,但是tanh()的输出是零中心的,所以实际使用更多一些。sinheetanh( )cosheexxxxxxx32 第5章 MNIST数据集及神经网络5.2.1 激活函数3ReLU函数ReLU函数的数学公式为 ,ReLU函数图像如图5-3所示。ReLU函数的定义域是 ,值域是 。这个激活函数可以理解为一个关于0的阈值。( )max(0, )f xx33 第5章 MNIST数据集及神经网络5.2.2 池化函数p 池化是用一个矩阵窗口在张量上进行扫描,通过取最大值或者平均值等方式来减少参数数量的方法。最大值池化和平均值池化的过程如图5-4所示。p 池化层主要对
20、输入的图像进行降采样(Subsample),池化并不改变深度或维度,只改变大小。池化函数有平均值池化函数和最大值池化函数等。34 第5章 MNIST数据集及神经网络5.2.2 池化函数TensorFlow函数:tf.nn.avg_pool(value,ksize,strides,padding,name=None),该函数计算的是池化区域的平均值。1平均值池化函数 value:需要池化的输入,一般池化层接在卷积层后面,这是一个四维的张量,4个维度为batch,height,width,channels。 ksize:池化窗口的大小,是一个四维向量,一般是1,height,width,1。 st
21、rides:和卷积类似,是窗口在每一个维度上滑动的步长,一般是1,stride,stride,1。 padding:和卷积类似,可以取“VALID”或“SAME”。 name:该池化的名称。35 第5章 MNIST数据集及神经网络5.2.2 池化函数 TensorFlow函数:tf.nn.max_pool(value,ksize,strides,padding,name=None),该函数计算的是池化区域的最大值。 在池化时一般选择最大值池化。2最大值池化函数36 第5章 MNIST数据集及神经网络5.2.3 损失函数hinge损失函数源自支持向量机,在支持向量机中,最终的目的是最大化分类间隔
22、,减少错误分类的样本数目。损失函数公式为 ,其中, , 是一个超参数,设置为1.0时,在绝大多数情况下都是安全的。1hinge损失函数max(0,)iyLss( ,)iisf xW21()iiLyyn2square损失函数损失函数公式为 ,大多用在线性回归中。3log损失函数在使用似然函数最大化时,其形式是进行连乘,但是为了便于处理,一般会加上log,这样便可以将连乘转换为求和。由于log函数是单调递增函数,因此不会改变优化结果。log类型的损失函数也是一种常见的损失函数37 第5章 MNIST数据集及神经网络5.2.3 损失函数4交叉熵如何判断输出的结果与期望结果有多接近呢?交叉熵(Cros
23、s Entropy)是常用的方法之一。交叉熵的公式为 , 是分类问题的真实分布概率, 是分类问题的预测分布概率,也就是说,交叉熵的输入是概率,范围是0,1。交叉熵得到的值越小,真实分布概率和预测分布概率越接近,预测的结果就越真实。( , )( )log ( )H p qp xq x 由于网络的输出是任意的,如ReLU函数的值域为 ,所以在进行交叉熵计算之前还需要将输出结果转换为概率分布。softmax()函数就是一个常用的方法,它的公式为 ,该函数所有输出值的和为1,输入的负数会变成正数,然后外面嵌套 函数,就可以得到优化结果。esoftmax( )eiiyyy 38 第5章 MNIST数据集
24、及神经网络内容CONTENTS导航神经元常用函数MNIST数据集简介深度神经网络经典卷积神经网络介绍循环神经网络优化器及优化方法39 第5章 MNIST数据集及神经网络5.3 深度神经网络深度神经网络(Deep Neural Networks,DNN)可以理解为有很多隐藏层的神经网络。具有一层隐藏层的神经网络如图5-5所示。( )( ),nni jijyfxWb( ),ni jW(1)jb40 第5章 MNIST数据集及神经网络5.3 深度神经网络反向传播过程:如果有表达式 ,现在需要求出 ,先将这个复合函数的表达式分解为 和 ,根据链式求导法则可知 ,所以需要分别求出 和 ,可以求得 , ,
25、故得到 。前向传播与反向传播过程如图5-6所示。( , , )()f x y zxyzfxpxyfp zffpxpxpxfzp1pxpzxfp41 第5章 MNIST数据集及神经网络内容CONTENTS导航神经元常用函数MNIST数据集简介深度神经网络经典卷积神经网络介绍循环神经网络优化器及优化方法42 第5章 MNIST数据集及神经网络5.4 经典卷积神经网络介绍p卷积神经网络(Convolutional Neural Networks,CNN)是一类深度神经网络,最常用于分析视觉图像。p一个简单的卷积神经网络是由各种层按一定顺序排列的。卷积神经网络主要由卷积层(Convolutional
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 基础 应用 教程
限制150内