深度学习与卷积神经网络基础理论与实例分析ppt课件_第1页
深度学习与卷积神经网络基础理论与实例分析ppt课件_第2页
深度学习与卷积神经网络基础理论与实例分析ppt课件_第3页
深度学习与卷积神经网络基础理论与实例分析ppt课件_第4页
深度学习与卷积神经网络基础理论与实例分析ppt课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

目录,概述与背景,卷积神经网络,1,1.概述与背景,1.1人工智能、机器学习、深度学习、数据挖掘之间的关系,人工智能,机器学习,深度学习,数据挖掘,2,1.概述与背景,1.2神经网络兴衰史,第一次兴起(1958年):感知机,由于没有引入非线性,不能求解异或问题。,第二次兴起(1986年):将BP(BackPropagation)神经网络的提出。,第三次兴起(2012年):深度学习的兴起,一直到现在。,发展基础:,数据爆炸:图像数据、文本数据、语音数据、社交网络数据、科学计算等,计算性能大幅提高,3,目录,人脑视觉机理与特征表示,卷积神经网络,4,2.人脑视觉机理与特征表示,2.1人脑视觉机理-大脑神经元的信号传输,神经元,树突,输入,神经元接收信号,隐含层输入,神经元激活轴突发出信号,隐含层输出,人工神经网络,大脑神经元信号传输的模拟,5,2.人脑视觉机理与特征表示,2.1人脑视觉机理-大脑识别物体过程,从原始信号摄入开始(瞳孔摄入像素Pixels);接着做初步处理(大脑皮层某些细胞发现边缘和方向);然后抽象(大脑判定,眼前的物体的形状);然后进一步抽象(大脑进一步判定该物体)。,Low-levelsensing,Preprocessing,Featureextraction,Featureselection,Inference:prediction,recognition,6,2.人脑视觉机理与特征表示,2.2特征表示,手工地选取特征是一件非常费力、启发式(需要专业知识)的方法,而且它的调节需要大量的时间。,既然手工选取特征不太好,那么能不能自动地学习一些特征?学习出特征能否很好的表征目标?,7,2.人脑视觉机理与特征表示,2.2特征表示,在不同对象上做训练时,所得的边缘基底是非常相似的,但对象部分和模型就会完全不同了。,初级(浅层)特征表示,结构性特征抽象层面越高,存在的可能猜测就越少,就越利于分类,特征表示也可以分层,8,2.人脑视觉机理与特征表示,神经元的模型,分层处理信息,特征的分层表达,9,训练:duringthetrainingphase,aneuralnetworkisfedthousandsoflabeledimagesofvariousanimals,learningtoclassifythem,输入:Anunlabeledimageisshowntothepre-trainednetwork,FirstLayer:theneuronsrespondtodifferentsimpleshapes,likeedges,HighLayer:theneuronsrespondtomorecomplexstructures,TopLayer:theneuronsrespondtohighlycomplex,abstractconceptsthatwewouldidentifyasdifferentanimals,输出:Thenetworkpredictswhattheobjectmostlikelyis,basedonitstraining,10,2.人脑视觉机理与特征表示,2.3浅层学习和深度学习,深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至几十层的隐层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。这种分层结构,是比较接近人类大脑的结构的。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。,11,目录,概述与背景,卷积神经网络,12,3.卷积神经网络-CNN,LeCun1998年,LeCun提出LeNet,并成功应用于美国手写数字识别。测试误差小于1%。麻雀虽小,但五脏俱全,卷积层、pooling层、全连接层,这些都是现代CNN网络的基本组件。,卷积层-convolution,池化层-pooling,全连接层fullyconnected,3.1初探-LeNet框架,13,3.卷积神经网络-CNN,3.1初探-完整的CNN,把图片分入四个类别:狗,猫,船,鸟当获得一张船图作为输入的时候,网络正确的给船的分类赋予了最高的概率(0.94)。输出层的各个概率相加应为1.,卷积神经网络主要执行了四个操作:卷积非线性(ReLU)池化或下采样分类(全连接层),14,3.卷积神经网络-CNN,CNN的应用也很广泛,其中包括图像分类,目标检测,目标识别,目标跟踪,文本检测和识别以及位置估计等。,3.1初探-CNN结构演变,15,3.卷积神经网络-CNN,如上图是LeNet-5,它的第一个卷积层含有6的featuremap,每一个featuremap对应一个卷积核,也就对应提取了图像的一种特征。这里注意最终的featuremap并不是做完卷积后的结果,然后还要加一个非线性激活的操作,一般用ReLU函数,这个过程一般叫做detectorstage。,3.2基本单元-卷积层,16,3.卷积神经网络-CNN,3.2基本单元-卷积层,深度(Depth)深度就是卷积操作中用到的滤波器个数。这里对图片用了两个不同的滤波器,从而产生了两个特征映射。你可以认为这两个特征映射也是堆叠的2d矩阵,所以这里特征映射的“深度”就是2。,步幅(Stride)步幅是每次滑过的像素数。当Stride=2的时候每次就会滑过2个像素。步幅越大,特征映射越小。,补零(Zero-padding)边缘补零,对图像矩阵的边缘像素也施加滤波器。补零的好处是让我们可以控制特征映射的尺寸。补零也叫宽卷积,不补零就叫窄卷积。,17,3.卷积神经网络-CNN,3.2基本单元-非线性(激励层),Sigmoid梯度消失问题,激活函数一般用于卷积层和全连接层之后激活函数是深度网络非线性的主要来源,ReLU解决梯度消失问题收敛速度非常快神经元死亡问题,18,3.卷积神经网络-CNN,3.2基本单元-池化层,空间池化,也叫亚采样或下采样降低了每个特征映射的维度,但是保留了最重要的信息。空间池化可以有很多种形式:最大(Max),平均(Average),求和(Sum)等等。最大池化成效最好。,池化层的功能减少网络中的参数计算数量,从而遏制过拟合增强网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微小扭曲不会改变池化输出因为我们在局部邻域已经取了最大值/平均值)。帮助我们获得不因尺寸而改变的等效图片表征。这非常有用,因为这样我们就可以探测到图片里的物体,不论那个物体在哪。,19,3.卷积神经网络-CNN,3.2基本单元-全连接层,使用softmax激励函数作为输出层。全连接表示上一层的每一个神经元,都和下一层的每一个神经元是相互连接的。,卷积层和池化层的输出代表了输入图像的高级特征,全连接层的目的就是利用这些特征进行分类。,20,3.卷积神经网络-CNN,3.3前向传播与反向传播,卷积+池化=特征提取器全连接层=分类器,前向传播,反向传播,21,3.卷积神经网络-CNN,3.3前向传播与反向传播,几个人站成一排,第一个人看一幅画(输入数据),描述给第二个人(隐层)依此类推,到最后一个人(输出)的时候,画出来的画肯定不能看了(误差较大)。反向传播就是,把画拿给最后一个人看(求取误差),然后最后一个人就会告诉前面的人下次描述时需要注意哪里(权值修正)。梯度下降法。,22,3.卷积神经网络-CNN,3.4反向传播训练,Step1:用随机数初始化所有的滤波器和参数/权重Step2:网络将训练图片作为输入,执行前向步骤(卷积,ReLU,池化以及全连接层的前向传播)并计算每个类别的对应输出概率。假设船图的输出概率是0.2,0.4,0.1,0.3因为第一个训练样本的权重都是随机的,所以这个输出概率也跟随机的差不多Step3:计算输出层的总误差总误差=1/2(目标概率输出概率)2Step4:反向传播算法计算误差相对于所有权重的梯度,并用梯度下降法更新所有的滤波器/权重和参数的值,以使输出误差最小化。其中wj是要更新的权重,称为学习率,Etotal是总的误差权重的调整程度与其对总误差的贡献成正比。如滤波器个数、滤波器尺寸、网络架构这些参数,是在Step1之前就已经固定的,且不会在训练过程中改变只有滤波矩阵和神经元权重会更新。,23,目录,概述与背景,卷积神经网络,24,4.TensorFlow的相关介绍,4.1深度学习框架,TensorFlow具有最高的关注度和评分。Caffe在目标识别和目标分割领域应用最广主流框架基本都支持Python,25,4.TensorFlow的相关介绍,4.1深度学习框架,26,4.TensorFlow的相关介绍,4.2TensorFlow的安装,step1.系统要求:Linux(Ubuntu14.04/16.04),Windows;,step2.GPU驱动:在Linux系统最容易出现问题的地方;,step3.CUDA:NVIDIA推出的通用并行计算架构(cuDNN);,step4.安装Python、依赖库和TensorFlow:sudopipinstalltensorflow-gpu。,27,4.TensorFlow的相关介绍,4.3TensorFlow基础,TensorFlow的特点:将计算流程表示成图;通过Sessions来执行图计算;将数据表示为tensors;分别使用feeds和fetches来填充数据和抓取任意的操作结果;,28,4.TensorFlow的相关介绍,数据流图是描述有向图中的数值计算过程。有向图中的节点通常代表数学运算,但也可以表示数据的输入、输出和读写等操作;有向图中的边表示节点之间的某种联系,它负责传输多维数据(Tensors)。图中这些tensors的flow也就是TensorFlow的命名来源。一个Tensor是一个多维数组,例如,你可以将一批图像表示为一个四维的数组batch,height,width,channels,数组中的值均为浮点数。(第一维列,第二维行),4.3TensorFlow基础-数据流图,例如:计算a=(b+c)(c+2),我们可以将算式拆分成一下:,d和e是不相关的,也就是可以并行计算。,29,4.TensorFlow的相关介绍,4.4TensorFlow的基础语法,1.定义数据:,2.定义运算(也称TensorFlowoperation):,Tensorflow可以自动进行数据类型检测,比如:赋值2.0就默认为tf.float32,3.定义初始化operation,用Tensorflow计算a=(b+c)(c+2),30,4.TensorFlow的相关介绍,用Tensorflow计算a=(b+c)(c+2),4.4TensorFlow的基础语法,4.执行图,5.站位符(placeholder),对上面例子的改进:使变量b可以接收任意值。TensorFlow中接收值的方式为占位符(placeholder),通过tf.placeholder()创建。,需要在运行过程中feed占位符b的值,具体为将a_out=sess.run(a)改为:,31,4.TensorFlow的相关介绍,4.5TensorFlow-mnist识别实例,模型图,当使用tensorflow进行数据流图构建时,大致可以分为以下几个部分:1、加载数据2、为输入X与输出y定义placeholder;3、定义权重W;4、定义模型结构;5、定义损失函数;6、定义优化算法。,32,4.TensorFlow的相关介绍,4.5TensorFlow-mnist识别实例,1、加载数据,one_hot=True表示对label进行one-hot编码,比如标签4可以表示为0,0,0,0,1,0,0,0,0,0。这是神经网络输出层要求的格式。,2、定义参数和placeholder,None,784中的None表示任意值,特别对应tensor数目,33,4.TensorFlow的相关介绍,4.5Tenso

温馨提示

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

评论

0/150

提交评论