配套课件-深度学习.ppt

上传人(卖家):三亚风情 文档编号:3183115 上传时间:2022-07-30 格式:PPT 页数:295 大小:11.87MB
下载 相关 举报
配套课件-深度学习.ppt_第1页
第1页 / 共295页
配套课件-深度学习.ppt_第2页
第2页 / 共295页
配套课件-深度学习.ppt_第3页
第3页 / 共295页
配套课件-深度学习.ppt_第4页
第4页 / 共295页
配套课件-深度学习.ppt_第5页
第5页 / 共295页
点击查看更多>>
资源描述

1、 1.1 引言引言机器学习致力于研究如何通过计算的手段,利用学习样本的方式来自机器学习致力于研究如何通过计算的手段,利用学习样本的方式来自动改善系统的性能。在计算机系统中,动改善系统的性能。在计算机系统中,“经验经验”通常以通常以“数据数据”的形式存的形式存在,因此,机器学习所研究的主要内容就是如何使计算机具有智能,在,因此,机器学习所研究的主要内容就是如何使计算机具有智能,如何使计算机自动学习隐含在数据中的特征。如何使计算机自动学习隐含在数据中的特征。那么这种提取隐含特征的方法就是计算机在原始数据上建立的那么这种提取隐含特征的方法就是计算机在原始数据上建立的“模型模型”(Model),也就是

2、我们听说过的),也就是我们听说过的“学习算法学习算法”(Learning Algorithm)。)。如果说计算机科学是研究关于如果说计算机科学是研究关于“算法算法”的学问,那么类似的,可以说机的学问,那么类似的,可以说机器学习是研究关于器学习是研究关于“学习算法学习算法”的学问。的学问。样本样本 数据集数据集 特征特征 属性属性 维数维数 样本空间样本空间 特征向量特征向量 标签学习标签学习 训练训练 训练数据训练数据 训练样本训练样本 训练集训练集 假设假设 实际输出目标实际输出目标 输出预测输出预测 损失函数损失函数 代价函数代价函数 分类回归分类回归 二分类二分类 多分类多分类迭代迭代

3、迭代次数迭代次数 测试测试 验证集验证集 测试集测试集 过拟合过拟合 欠拟合欠拟合 泛化能力泛化能力 鲁棒性鲁棒性 迁移学习迁移学习 监督学习监督学习 无监督学习无监督学习 聚类聚类 簇簇 独立同分布独立同分布 1.21.2基本术语基本术语1.3.1 1.3.1 支持向量机支持向量机支持向量机(支持向量机(Support Vector Machine,SVM)是)是监督学习中最有影响力的方法之一。不同于逻辑回归,监督学习中最有影响力的方法之一。不同于逻辑回归,SVM输出的仅仅是样本的类别而不是概率。输出的仅仅是样本的类别而不是概率。不同于传统的线性回归,不同于传统的线性回归,SVM的重要创新就

4、是核函的重要创新就是核函数(数(Kernel Function)。)。在图在图1.4中两种样本最边缘的中两种样本最边缘的判决函数值被设为判决函数值被设为+1、-1,即:,即:图图 1.41.4支持向量与划分超支持向量与划分超 平面关系平面关系 1.31.3监督学习算法监督学习算法那么这样的两个向量即被称为那么这样的两个向量即被称为“支持向量支持向量”(Support Support VectorVector),这也是支持向量机这个名字的由来。),这也是支持向量机这个名字的由来。距离两类样本的边界都最远的超平面是最优的。其实距离两类样本的边界都最远的超平面是最优的。其实也就是令两个超平面之间的距

5、离最远。两个平行直线也就是令两个超平面之间的距离最远。两个平行直线 与与 的距离为:的距离为:所以可以推导得出两个异类支持向量到超平面的距离所以可以推导得出两个异类支持向量到超平面的距离之和为:之和为:它被称为它被称为“间隔间隔”(MarginMargin)。显然,为了最大化间)。显然,为了最大化间隔我们仅需最小化隔我们仅需最小化 。那么这就是支持向量机的基本原。那么这就是支持向量机的基本原理。理。o121o2id u(t)RRCRu(t)-Ru(t)d t1.3.21.3.2决策树决策树决策树(决策树(Decision Tree)及其变种是另一类)及其变种是另一类将输入空间分成不同的区域,每

6、个区域有独将输入空间分成不同的区域,每个区域有独立参数的算法。立参数的算法。我们希望从训练集中学到一个判断模型用来我们希望从训练集中学到一个判断模型用来对新样本进行分类。对新样本进行分类。决策树,顾名思义就是通过树状结构的决策决策树,顾名思义就是通过树状结构的决策方式来判断一个样本的归属,这是一种很自方式来判断一个样本的归属,这是一种很自然的处理机制。然的处理机制。决策树学习基本算法的实现过程由图给出决策树学习基本算法的实现过程由图给出无监督学习算法训练含有很多特征的数据集,然后学习出这无监督学习算法训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。无监督算法只处理个数据集上有用

7、的结构性质。无监督算法只处理“特征特征”,而,而不处理标签。不处理标签。其实,监督和无监督算法之间的区别并没有规范严格的定义,其实,监督和无监督算法之间的区别并没有规范严格的定义,通俗地说,无监督学习的大多数尝试是指从没有人为注释的样通俗地说,无监督学习的大多数尝试是指从没有人为注释的样本的分布中抽取信息。本的分布中抽取信息。一个经典的无监督学习任务是找到数据的一个经典的无监督学习任务是找到数据的“最佳最佳”表示。表示。这个这个“最佳最佳”表示一般来说,是指该表示在比本身表示的信表示一般来说,是指该表示在比本身表示的信息更简单或更易访问而受到限制的情况下,尽可能地保存关于息更简单或更易访问而受

8、到限制的情况下,尽可能地保存关于样本的更多信息。样本的更多信息。1.4无监督学习算法无监督学习算法1.4.1 主成分分析主成分分析主成分分析(主成分分析(Principal Component Analysis,PCA)是最常用的一种降维)是最常用的一种降维方法。方法。PCA学习一种比原始输入维数更低的表示。学习一种比原始输入维数更低的表示。它也学习了一种元素之间彼此没有线性相关的表示。这是学习表示中元素统它也学习了一种元素之间彼此没有线性相关的表示。这是学习表示中元素统计独立标准的第一步。要实现完全独立性,表示学习算法也必须去掉变量间计独立标准的第一步。要实现完全独立性,表示学习算法也必须去

9、掉变量间的非线性关系。这也就是我们之前所希望的,所有样本之间都是独立同分布的非线性关系。这也就是我们之前所希望的,所有样本之间都是独立同分布的。的。PCA的具体实现过程如图的具体实现过程如图PCA将输入高维函数投影表示成低维函数,学将输入高维函数投影表示成低维函数,学习数据的正交线性变换。习数据的正交线性变换。由于我们是想在低维空间中依旧能区分原始样由于我们是想在低维空间中依旧能区分原始样本的,因此我们希望所有样本的投影尽可能地本的,因此我们希望所有样本的投影尽可能地分开。此时,则需要最大化投影点的方差(由分开。此时,则需要最大化投影点的方差(由于方差是衡量一组数据离散程度的度量)。于方差是衡

10、量一组数据离散程度的度量)。PCA这种将数据变换为元素之间彼此不相关表这种将数据变换为元素之间彼此不相关表示的能力是示的能力是PCA的一个重要性质。它是消除数的一个重要性质。它是消除数据中未知变化因素的简单表示示例。据中未知变化因素的简单表示示例。在在PCA中,这个消除是通过寻找输入空间的一中,这个消除是通过寻找输入空间的一个旋转(通过协方差矩阵完成),使得最大方个旋转(通过协方差矩阵完成),使得最大方差的主坐标和新表示空间的基对齐(如差的主坐标和新表示空间的基对齐(如YX坐坐标系)。标系)。图图 1.8PCA原理示例,找到一个原理示例,找到一个新函数,使所有样本在其上的新函数,使所有样本在其

11、上的投影尽可能分开(明显投影尽可能分开(明显A要比要比B性能更好,因为样本在性能更好,因为样本在A上的投上的投影相较于影相较于B来讲更为分散)来讲更为分散)1.4.2 k-均值聚类均值聚类k-means算法是一种简单的迭代型聚类算法,采用距离作为相似性指标,从算法是一种简单的迭代型聚类算法,采用距离作为相似性指标,从而发现给定数据集中的而发现给定数据集中的K类,且每个类的中心是根据类中所有值的均值得到,类,且每个类的中心是根据类中所有值的均值得到,每个类用聚类中心来描述。对于给定的一个包含每个类用聚类中心来描述。对于给定的一个包含 个个 维数据点的数据集维数据点的数据集X以以及要分得的类别及要

12、分得的类别K,选取欧式距离作为相似度指标,聚类目标是使得各类的聚选取欧式距离作为相似度指标,聚类目标是使得各类的聚类平方和最小,即最小化。类平方和最小,即最小化。K-means算法的步骤如下所示:算法的步骤如下所示:从从N个样本中选取个样本中选取K个样本作为聚类中心;个样本作为聚类中心;对剩余每个样本计算其到每个聚类中心的距离;对剩余每个样本计算其到每个聚类中心的距离;重新计算各个类的质心(聚类中心),即每一个中心点更新为该类别中所重新计算各个类的质心(聚类中心),即每一个中心点更新为该类别中所有训练样本的均值;有训练样本的均值;多次迭代后,聚类中心不再变化或小于某阈值时,算法结束。多次迭代后

13、,聚类中心不再变化或小于某阈值时,算法结束。作为一种实现人工智能的强大技术,深度学习作为一种实现人工智能的强大技术,深度学习(Deep Learning)已经在手已经在手写数字识别、维数约简、语音识别、图像理解、机器翻译、蛋白结构预测写数字识别、维数约简、语音识别、图像理解、机器翻译、蛋白结构预测和情感识别等各个方面获得了广泛应用。因屡屡取得打破记录的评测结果和情感识别等各个方面获得了广泛应用。因屡屡取得打破记录的评测结果并超越其他方法,而很快受到了非常高度的关注。并超越其他方法,而很快受到了非常高度的关注。依靠硬编码的知识体系面对的困难表明,依靠硬编码的知识体系面对的困难表明,AI系统需要具

14、备自己获取知识的系统需要具备自己获取知识的能力,即从原始数据中提取模式的能力。这种能力被称为机器学习能力,即从原始数据中提取模式的能力。这种能力被称为机器学习(Machine Learning)。)。由韦恩图表示的人工智能、机器学习和深度学习之间的关系 1.51.5 机器学习简介机器学习简介机器学习的发展由建立知识体系的思想逐渐向自动学习知识的方向改变。解决这机器学习的发展由建立知识体系的思想逐渐向自动学习知识的方向改变。解决这个问题的途径之一是使用机器学习来发掘表示本身,而不仅仅把表示映射到输出。个问题的途径之一是使用机器学习来发掘表示本身,而不仅仅把表示映射到输出。这种方法我们称之为表示学

15、习(这种方法我们称之为表示学习(Representation LearningRepresentation Learning)。)。深度学习深度学习(Deep Learning,(Deep Learning,也曾被叫作也曾被叫作Feature Learning)Feature Learning)是在人工神经网络是在人工神经网络(AritificialAritificial neural network,ANN)neural network,ANN)基础上发展而来的一种表示学习方法,也基础上发展而来的一种表示学习方法,也是一种机器学习算法。是一种机器学习算法。机器学习备受瞩目当然是由于它强大的智

16、能数据分析能力,机器学习备受瞩目当然是由于它强大的智能数据分析能力,但机器学习研究还有另一个不可忽视的意义,即通过建立一但机器学习研究还有另一个不可忽视的意义,即通过建立一些计算模型来促进我们发现一些新的自然规律,如新型的蛋些计算模型来促进我们发现一些新的自然规律,如新型的蛋白质结构等。自然科学研究的驱动力归结起来无外是人类对白质结构等。自然科学研究的驱动力归结起来无外是人类对宇宙本源、万物本质、生命本性、自我本质的好奇,从这个宇宙本源、万物本质、生命本性、自我本质的好奇,从这个意义上说,机器学习不仅在信息科学中占有重要地位,还具意义上说,机器学习不仅在信息科学中占有重要地位,还具有一定的自然

17、科学探索色彩。有一定的自然科学探索色彩。不同类型人工智能系统的流程图如图不同类型人工智能系统的流程图如图深度学习的再次崛起,依赖于四个世界发展的基本趋势:深度学习的再次崛起,依赖于四个世界发展的基本趋势:与日俱增的数据量;与日俱增的数据量;愈发庞大的计算资源;愈发庞大的计算资源;深度学习越来越高的识别精度与预测能力;深度学习越来越高的识别精度与预测能力;深度学习成功地解决越来越多的实际问题。深度学习成功地解决越来越多的实际问题。1.6 深度学习的趋势深度学习的趋势1.6.11.6.1与日俱增的数据量与日俱增的数据量幸运的事,在社会日益数字化的驱动下,我们能够获得的数据量日益增加。幸运的事,在社

18、会日益数字化的驱动下,我们能够获得的数据量日益增加。由于计算机的愈发普及,互联网的日益发展,数据也可以更容易地被收集与由于计算机的愈发普及,互联网的日益发展,数据也可以更容易地被收集与记录,并更容易地被整理成适用于机器学习的应用数据集。大数据时代的到记录,并更容易地被整理成适用于机器学习的应用数据集。大数据时代的到来,是机器学习变得更加容易。具不完全统计,截止至来,是机器学习变得更加容易。具不完全统计,截止至20162016年,监督深度学年,监督深度学习算法在每类给定约习算法在每类给定约50005000个标注样本情况下一般将达到可以接受的性能,当个标注样本情况下一般将达到可以接受的性能,当至少

19、有至少有1000 1000 万个有标签样本的数据集用于训练时,机器学习算法将接近甚至万个有标签样本的数据集用于训练时,机器学习算法将接近甚至超越人类表现。超越人类表现。1.6.2愈发庞大的计算资源愈发庞大的计算资源考虑到深度学习庞大的计算需求和考虑到深度学习庞大的计算需求和CPU综合计算性能的限制,人们提出综合计算性能的限制,人们提出使用使用GPU(Graphics Processing Unit)来解决深度学习庞大的计算问)来解决深度学习庞大的计算问题。神经网络算法通常涉及大量参数、激活值、梯度值的缓冲区,其中题。神经网络算法通常涉及大量参数、激活值、梯度值的缓冲区,其中每个值在每一次训练迭

20、代中都要被完全更新。会超出传统计算机的高速每个值在每一次训练迭代中都要被完全更新。会超出传统计算机的高速缓存缓存(Cache),所以内存带宽通常会成为主要瓶颈。相比,所以内存带宽通常会成为主要瓶颈。相比CPU,GPU一一个显著的优势是其具有极高的内存带宽。由于神经网络的训练算法通常个显著的优势是其具有极高的内存带宽。由于神经网络的训练算法通常不涉及大量的分支运算与复杂的控制指令,所以其更适合在不涉及大量的分支运算与复杂的控制指令,所以其更适合在GPU硬件上硬件上训练。并且由于神经网络能够被分为多个单独的训练。并且由于神经网络能够被分为多个单独的“神经元神经元”,并且独立,并且独立于同一层内其他

21、神经元进行处理,所以具有并行特性的于同一层内其他神经元进行处理,所以具有并行特性的GPU更适用于神更适用于神经网络的计算。经网络的计算。1.6.31.6.3展现出越来越高的性能以及解决实际问题的潜力展现出越来越高的性能以及解决实际问题的潜力在深度网络的规模和精度有所提高的同时,它们可以解决的任务在深度网络的规模和精度有所提高的同时,它们可以解决的任务也日益复杂。(也日益复杂。(GoodfellowGoodfellow et al.,2014 et al.,2014)表明,神经网络可以处)表明,神经网络可以处理字符序列,这种序列到序列的学习似乎引领着另一个应用的颠覆理字符序列,这种序列到序列的学

22、习似乎引领着另一个应用的颠覆性发展,即机器翻译。性发展,即机器翻译。深度学习也为其他科学做出了贡献。例如对医学图像的诊断,利深度学习也为其他科学做出了贡献。例如对医学图像的诊断,利用脑部用脑部CTCT图像对大脑疾病进行自动诊断;帮助制药公司设计新的药图像对大脑疾病进行自动诊断;帮助制药公司设计新的药物等。物等。总之,深度学习是机器学习的一种方法。受到近年来数据资源、总之,深度学习是机器学习的一种方法。受到近年来数据资源、计算资源、社会要求等多方面因素的驱动,深度学习也获得了进一计算资源、社会要求等多方面因素的驱动,深度学习也获得了进一步的发展,是一个充满了机遇与挑战的技术。步的发展,是一个充满

23、了机遇与挑战的技术。TensorFlowTensorFlow、keraskeras简介简介 深度学习被视为一种只有专家才可以使用好的艺术,并非是一种通用技术深度学习被视为一种只有专家才可以使用好的艺术,并非是一种通用技术。近两年,谷歌、微软等行业巨头也重点研究一些开源的深度学习框架,如近两年,谷歌、微软等行业巨头也重点研究一些开源的深度学习框架,如TensorFlowTensorFlow、PyTorchPyTorch、CaffeCaffe等。本章主要介绍等。本章主要介绍TensorFlowTensorFlow以及以及KerasKeras框架。这框架。这两个框架是本书示例的主要实施平台。两个框架

24、是本书示例的主要实施平台。2-1 2-1 TensorFlowTensorFlow简介简介TensorFlowTensorFlow的特性:的特性:高度的灵活性;高度的灵活性;真正的可移植性;真正的可移植性;分布式扩展能力;分布式扩展能力;广泛应用性。广泛应用性。2.1.1 TensorFlow2.1.1 TensorFlow的使用的使用 这个过程就像是我们搭建电路一样,先构造一个电路,完成后再通入电流,这个过程就像是我们搭建电路一样,先构造一个电路,完成后再通入电流,使其沿着搭建好的电子元件依次流动,最终完成我们的目标任务。使其沿着搭建好的电子元件依次流动,最终完成我们的目标任务。1.Pip的

25、安装Windows下的安装:Linux下的安装:TensorFlow的安装 CPU版本安装 GPU版本安装pip install tensorflow如果发现速度较慢我们可以使用清华镜像源来下载软件如果发现速度较慢我们可以使用清华镜像源来下载软件:pip install-i https:/ tensorflow CUDA Toolkit CUDA Toolkit是是NvidiaNvidia提供的提供的CUDACUDA开发套件,其中包括了开发套件,其中包括了CUDACUDA驱动,以及驱动,以及编写编写CUDACUDA程序必要的编译器和头文件以及一些辅助函数库。程序必要的编译器和头文件以及一些辅助

26、函数库。在安装完在安装完cuDNNcuDNN库和库和CUDA ToolkitCUDA Toolkit库后,同样使用库后,同样使用pippip来安装来安装TensorFlowTensorFlow。pipinstalltensorflow-gpu#调用调用TensorFlowimport tensorflow as tf#创建一个常量创建一个常量op,产生一个矩阵,产生一个矩阵A。这个。这个op被作为一个节点被作为一个节点加到默认中加到默认中matrix1=tf.constant(3.,3.)#创建另外一个常量创建另外一个常量op,产生一个矩阵,产生一个矩阵Bmatrix2=tf.constant

27、(2.,2.)#创建一个矩阵乘法创建一个矩阵乘法matmul op,把,把matrix1和和matrix2作为输入作为输入.#返回值返回值product代表矩阵乘法的结果代表矩阵乘法的结果.product=tf.matmul(matrix1,matrix2)构建图在会话中启动图启动图的第一步是创建一个启动图的第一步是创建一个Session对象。对象。#创建会话创建会话sess=tf.Session()#调用会话的调用会话的run来运行已经定义好的来运行已经定义好的productresult=sess.run(product)print result#对象在使用完后需要关闭以释放资源对象在使用完

28、后需要关闭以释放资源sess.close()2.1.2 2.1.2 TensorFlowTensorFlow的可视化的可视化 为了易于理解、调试及优化神经网络运算模型,数据科学家及应用开发人员为了易于理解、调试及优化神经网络运算模型,数据科学家及应用开发人员可以使用可以使用TensorFlowTensorFlow的可视化组件的可视化组件TensorBoardTensorBoard。TensorBoardTensorBoard应用架构应用架构TensorFlow ImageTensorFlow Image摘要信息如图所示,该示例中显示了测试数据和训练数据摘要信息如图所示,该示例中显示了测试数据和

29、训练数据中的手写数字图片。中的手写数字图片。图像可视化图像可视化TensorFlowTensorFlow图模型如图所示,可清晰地展示模型的训练流程,其中的每个方图模型如图所示,可清晰地展示模型的训练流程,其中的每个方框表示变量所在的命名空间。框表示变量所在的命名空间。数据流图可视化数据流图可视化在在TensorBoard中的重要函数。中的重要函数。tf.summary.scalar tf.summary.image tf.summary.histogram2-2 2-2 Keras简介简介 KerasKeras是一个用是一个用PythonPython编写的高级神经网络编写的高级神经网络API,

30、API,它能够以它能够以TensorFlow,TensorFlow,CNTK,CNTK,或者或者TheanoTheano作为后端运行。作为后端运行。Keras的设计原则是:的设计原则是:用户友好;用户友好;模块化;模块化;易扩展性;易扩展性;易于易于Python 实现。实现。KerasKeras的使用的使用KerasKeras的工作过程主要包括:的工作过程主要包括:导入所需要的全部模块;导入所需要的全部模块;堆叠模型;堆叠模型;编译;编译;训练。训练。KerasKeras的可视化的可视化Keras的可视化依赖的可视化依赖pydot-ng和和graphviz。用命令行输入:。用命令行输入:pip

31、 install pydot-ng&brew install graphvizkeras.utils.vis_utils模块提供了画出模块提供了画出Keras模型的函数(利用模型的函数(利用graphviz),该函数将),该函数将画出模型结构图,并保存成图片:画出模型结构图,并保存成图片:from keras.utils import plot_modelplot_model(model,to_file=model.png)plot_model接收两个可选参数:接收两个可选参数:show_shapes:指定是否显示输出数据的形状,默认为:指定是否显示输出数据的形状,默认为Falseshow_l

32、ayer_names:指定是否显示层名称:指定是否显示层名称,默认为默认为True人脑是一个神奇的世界。它可以让我们认识许多东西,并在认人脑是一个神奇的世界。它可以让我们认识许多东西,并在认识这些东西以后得到很好的泛化能力。就好像我们认识了一个识这些东西以后得到很好的泛化能力。就好像我们认识了一个白猫以后,就能认识其他大大小小,颜色不同的猫一样。或者白猫以后,就能认识其他大大小小,颜色不同的猫一样。或者当我们遇到某些需要做决定的事情时,我们总能根据经验和实当我们遇到某些需要做决定的事情时,我们总能根据经验和实际情况做出一个合乎常理的决策。既然人脑的功能如此强大又际情况做出一个合乎常理的决策。既

33、然人脑的功能如此强大又如此聪慧,那么我们能不能让计算机模仿大脑,从而让它也变如此聪慧,那么我们能不能让计算机模仿大脑,从而让它也变得更加智能呢得更加智能呢?本章简介本章简介3-1 3-1 人脑是如何学习的人脑是如何学习的据估计,人类大脑拥有据估计,人类大脑拥有10001000亿个神经细胞,如果把它们排成一条直线,亿个神经细胞,如果把它们排成一条直线,长度将达到长度将达到10001000公里。大脑是由许多神经元联结而成的巨大网络,如公里。大脑是由许多神经元联结而成的巨大网络,如图图3-13-1所示所示。图图3-1 3-1 人脑神经网络示意图人脑神经网络示意图神经元的树突接收外界感官信息,当神经元

34、的树突接收外界感官信息,当神经元被激活时,神经元通过细胞轴神经元被激活时,神经元通过细胞轴突将信息传导到其他神经元,下一个突将信息传导到其他神经元,下一个神经元的树突继续用来接收其他神经神经元的树突继续用来接收其他神经元的输入信号,以此类推。元的输入信号,以此类推。神经元被激活有一种很特殊的性质:当神经元被刺激的强度未达到神经元被激活有一种很特殊的性质:当神经元被刺激的强度未达到某一阈值时,神经冲动不会发生;而当刺激强度达到或超过某一阈某一阈值时,神经冲动不会发生;而当刺激强度达到或超过某一阈值时,神经冲动能够发生并达到最大强度。此后刺激的强度即使再值时,神经冲动能够发生并达到最大强度。此后刺

35、激的强度即使再持续加强或减弱,已诱发的冲动强度也不再发生变化持续加强或减弱,已诱发的冲动强度也不再发生变化。图。图3-23-2给出给出了一个简单的神经元结构。了一个简单的神经元结构。图图3-2 3-2 神经元的构成神经元的构成举个现实生活中的例子举个现实生活中的例子例如,听说当年的老同学们打算举办一个聚会。你想念当年的老同学,例如,听说当年的老同学们打算举办一个聚会。你想念当年的老同学,正考虑是否去参加。或许会通过如下三个因素设置权重来作出决定。正考虑是否去参加。或许会通过如下三个因素设置权重来作出决定。1.1.天气好吗?天气好吗?2.2.你的前男朋友或者前女朋友会不会出现?你的前男朋友或者前

36、女朋友会不会出现?3.3.这个聚会举办的地点是否便于前往?这个聚会举办的地点是否便于前往?我们可以把天气好设为我们可以把天气好设为1,不好为,不好为0;前任出现;前任出现设为设为-1,不出现设为,不出现设为0;聚会地点交通方便设;聚会地点交通方便设为为1,不方便设为,不方便设为0。我。我们的大脑就会做出相应们的大脑就会做出相应判断,也就判断,也就是神是神经元的树突会受到刺激,并且经元的树突会受到刺激,并且把相应的信息传递给其它神经元,使我们做出把相应的信息传递给其它神经元,使我们做出最终的判断,如图最终的判断,如图3-3所示。所示。图图3 3-3-3 神经元处理信息示意图神经元处理信息示意图j

37、jDecidew x(3-13-1)式式3-13-1,当当DecideDecide数值超过一定值以后,就做出去参加聚会的打算,数值超过一定值以后,就做出去参加聚会的打算,这个值就称为阈这个值就称为阈值值。对应神经元的特性来讲,就是当神经元的刺激对应神经元的特性来讲,就是当神经元的刺激强度达到或超过某一阈值时,神经冲动才能够发生,如图强度达到或超过某一阈值时,神经冲动才能够发生,如图3-43-4所示。所示。图图3-4 3-4 神经元处理不同权重信息示意图神经元处理不同权重信息示意图3-2 3-2 模仿人脑模仿人脑神经元(感知器神经元(感知器)图图3 3-5-5 感知器感知器一个庞大的神经网络是由

38、众多神经元构成的。如果想要构造一个符一个庞大的神经网络是由众多神经元构成的。如果想要构造一个符合要求的大规模神经网络,就必须要从单个神经元入手合要求的大规模神经网络,就必须要从单个神经元入手。种被称种被称为为“感知器感知器”的人工神经元在的人工神经元在20 20 世纪五、六世纪五、六年代由科学家年代由科学家Frank Frank Rosenblatt Rosenblatt 发明出来。发明出来。对应我们上一节所讲的实际问题对应我们上一节所讲的实际问题,神经网络的输出,由分配权重后神经网络的输出,由分配权重后的总和来决定,当这个数值大于或小于某个阈值的时候,我们就会的总和来决定,当这个数值大于或小

39、于某个阈值的时候,我们就会做出去参加还是不参加聚会的决定。假设我们去参加聚会的情况用做出去参加还是不参加聚会的决定。假设我们去参加聚会的情况用数字数字1 1来表示,不去的情况则用来表示,不去的情况则用0 0来表示,那么感知器的工作方法可来表示,那么感知器的工作方法可以用代数形式去表示以用代数形式去表示:10jjjjw xthresholdOutputw xthreshold(3-23-2)这就是一个感知器的基本表示。我们可以根据上述的数学模型,认这就是一个感知器的基本表示。我们可以根据上述的数学模型,认为感知器是一个根据输入与权重来做出决定的设备。为感知器是一个根据输入与权重来做出决定的设备。

40、图图3 3-6-6 感知器网络感知器网络这个例这个例说明了一个感知器如何能权衡不同的依据来进行决策。如说明了一个感知器如何能权衡不同的依据来进行决策。如果遇到更加复杂的问题,我们可以增加感知器网络的复杂程度,以果遇到更加复杂的问题,我们可以增加感知器网络的复杂程度,以增加它的处理能力,如图增加它的处理能力,如图3-63-6所示。所示。inputinput是输入数据。第一列的三个神是输入数据。第一列的三个神经元被称为第一层感知器,分别对应经元被称为第一层感知器,分别对应天气、人员和交通这三天气、人员和交通这三个因个因素。而第素。而第二层的感知器是在权衡上一层的决策二层的感知器是在权衡上一层的决策

41、结果并做出决定结果并做出决定。第。第三层中的感知器三层中的感知器能进行更加复杂的决策。图能进行更加复杂的决策。图3-63-6中第中第三层感知器只有一个神经元,代表输三层感知器只有一个神经元,代表输出出outputoutput。以这种方式,一个多层的。以这种方式,一个多层的感知器网络就可以从事复杂巧妙的决感知器网络就可以从事复杂巧妙的决策。策。一个复杂网络拥有众多感知器,我们不可能依次去设定阈值(人为一个复杂网络拥有众多感知器,我们不可能依次去设定阈值(人为设定阈值也存在不确定性)。同时,神经网络本身也可能存在误差。设定阈值也存在不确定性)。同时,神经网络本身也可能存在误差。因此,我们不妨将阈值

42、左移:因此,我们不妨将阈值左移:jjwxthreshold可以整理为:可以整理为:(3-33-3)jjw xb(3-43-4)我们也可以利用向量点积的形式来代替我们也可以利用向量点积的形式来代替jjw x1000w xbOutputw xb(3-53-5)B称为偏置(称为偏置(Bias),式),式3-5为感知器的一般表达式。为感知器的一般表达式。3-3 3-3 非线性神经元非线性神经元 复杂的数学模型很多是非线性的。众多线性模型的叠加无法很复杂的数学模型很多是非线性的。众多线性模型的叠加无法很好地拟合非线性部分,如图好地拟合非线性部分,如图3-73-7所示。所示。为了解决上述问题,我们引入激活

43、函数(为了解决上述问题,我们引入激活函数(Activation FunctionsActivation Functions)。)。激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。何非线性函数,这样神经网络就可以应用到众多的非线性模型中。图图3-7 3-7 线性不可分(左)与线性可分(右)样本线性不可分(左)与线性可分(右)样本如何引入激活函数呢?我们通常将激活函数与线性神经元合并在一如何引入激活函数呢?我们通常将激活函数与线性神经元合并在一起使之成为非线性神经元,其

44、原理如图起使之成为非线性神经元,其原理如图3-83-8所示。所示。图图3-8 3-8 非线性神经元原理非线性神经元原理()wxb下面介绍几种典型的激活函数下面介绍几种典型的激活函数Sigmoid函数函数表达式函数表达式:函数图像函数图像:特点:特点:它能够把输入的连续实值变换为它能够把输入的连续实值变换为0 0和和1 1之间的输出。特别的之间的输出。特别的,如果输入是非常大的负数,那么输出就是,如果输入是非常大的负数,那么输出就是0 0;如果输入是非常;如果输入是非常大的正数,输出就是大的正数,输出就是1 1。(3-73-7)1()1zze图图3-9 Sigmoid3-9 Sigmoid函数函

45、数将上将上述的表达式带入述的表达式带入sigmoidsigmoid函数,得到函数,得到可以看出可以看出:这样看来它似乎还是一个感知机,只不过是将数据压缩进这样看来它似乎还是一个感知机,只不过是将数据压缩进0,10,1范围内。当在范围内。当在0,10,1之间的时候与线性神经元有所偏离,其原因之间的时候与线性神经元有所偏离,其原因就是引入了非线性。就是引入了非线性。(3-93-9)1()1wx bze(3-83-8)()0()1zzzeze Tanh函数函数表达式函数表达式:函数图像函数图像:性质:性质:引入引入TanhTanh非线性函数后,曲线关于坐标轴奇对非线性函数后,曲线关于坐标轴奇对称称。

46、(3-103-10)图图3-10 Tanh3-10 Tanh函数函数zzzzeeeez)tanh(ReLu函数函数表达式函数表达式:函数图像函数图像:性质:性质:ReLUReLU函数其实就是一个取最大值函数,但是这并不是全区函数其实就是一个取最大值函数,但是这并不是全区间可导的。由于只需要判断输入是否大于间可导的。由于只需要判断输入是否大于0 0,所以计算速度非常,所以计算速度非常快,收敛速度远快于快,收敛速度远快于sigmoidsigmoid和和tanhtanh函数。函数。ReLuReLu是目前常用的激是目前常用的激活函数。活函数。(3-113-11)图图3-11 ReLu3-11 ReLu

47、函数函数Remax(0,)lux3-4 3-4 神经网络架构神经网络架构 在了解了单个神经元(感知器)和非线性激活函数后,现在可以在了解了单个神经元(感知器)和非线性激活函数后,现在可以考虑组建较为复杂的神经网络了。本节先介绍一些神经网络的术考虑组建较为复杂的神经网络了。本节先介绍一些神经网络的术语。语。如图如图3-123-12所示,假设我们获得了这样一个神经网络:所示,假设我们获得了这样一个神经网络:图图3-12 3-12 神经网络基本构造神经网络基本构造这个这个网络络中最左边的称为中最左边的称为输入层输入层(Input Input LayerLayer),其中的神经元称为输入神经元,),其

48、中的神经元称为输入神经元,原始数据由该层输入到神经网络进行后续处原始数据由该层输入到神经网络进行后续处理。最右边的为理。最右边的为输出层输出层(Output LayerOutput Layer),),包含有输出神经元,该输出层是神经网络对包含有输出神经元,该输出层是神经网络对样本处理后的最终结果,例如分类结果。样本处理后的最终结果,例如分类结果。在在输入层和输出层之间的是中间层,也被称为输入层和输出层之间的是中间层,也被称为隐藏层或隐含层隐藏层或隐含层(Hidden LayerHidden Layer)。)。设计网络的输入、输出层通常是比较简单、直接的。设计网络的输入、输出层通常是比较简单、直

49、接的。例如例如,我,我们知道了一朵花的花萼长度、宽度,花瓣的长度、宽度们知道了一朵花的花萼长度、宽度,花瓣的长度、宽度,尝尝试利用这四个特征来确定它是哪一种花试利用这四个特征来确定它是哪一种花。一朵花的四个特征一朵花的四个特征,需,需要要4 4个输入神经元,每个数值代表花朵一种特征的个输入神经元,每个数值代表花朵一种特征的具体数值具体数值。当输出层为一个神经元时,可以根据输出的数字确定花朵的当输出层为一个神经元时,可以根据输出的数字确定花朵的类型。如果输出层是多个神经元,我们可以使用每一个输出神经元代表类型。如果输出层是多个神经元,我们可以使用每一个输出神经元代表一种类型的花,这种方法被称为一

50、种类型的花,这种方法被称为one-hotone-hot。图图3-13 One-hot 3-13 One-hot 编码示意图编码示意图One-hotOne-hot是一种常用的输出层编码是一种常用的输出层编码方法。例如,我们一共有三种花,方法。例如,我们一共有三种花,则则网络络的输出层包含有的输出层包含有3 3个神经元,个神经元,如图如图3-133-13所示。所示。3-5 3-5 梯度下降梯度下降 我们希望寻找到一个算法,能够自动地调整神经网络的权重和偏置,我们希望寻找到一个算法,能够自动地调整神经网络的权重和偏置,让网络的输让网络的输出出y(x)y(x)能够拟合所有的训练输能够拟合所有的训练输入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(配套课件-深度学习.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|