基于keras的深度学习介绍-ppt课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《基于keras的深度学习介绍-ppt课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 keras 深度 学习 介绍 ppt 课件
- 资源描述:
-
1、基于基于keras的深度学习介绍的深度学习介绍钱国庆Keras目 录CONTENTS目 录CONTENTS深度学习的起源神经网络的原理深度学习的原理Keras介绍及基本语法Keras应用案例深度学习的起源Keras深度学习的起源深度学习DeepLearningKeras深度学习的起源深度学习的起源五、六十年代,Rosenblatt 感知机(perceptron),拥有输入层、输出层和一个隐含层。对稍复杂一些的函数都无能为力Keras深度学习的起源深度学习的起源八十年代,Rumelhart、Williams、Hinton、LeCun 多层感知机(multilayer perceptron),即有
2、多个隐含层的感知机使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法改名叫神经网络神经网络的层数直接决定了它对现实的刻画能力利用每层更少的神经元拟合更加复杂的函数随着神经网络层数的加深,优化函数越来越容易陷入局部最优解,并且这个“陷阱”越来越偏离真正的全局最优另一个不可忽略的问题是随着网络层数增加,“梯度消失”现象更加严重。具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。Keras
3、深度学习的起源深度学习的起源2006年,Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层,神经网络真正意义上有了“深度”,由此揭开了深度学习的热潮。这里的“深度”并没有固定的定义在语音识别中4层网络就能够被认为是“较深的”,而在图像识别中20层以上的网络屡见不鲜。为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。单从结构上来说,全连接的DNN和图1的多层感知机是没有任何区别的。高速公路网络(highway network)和深度残差学习(deep residual learning)进一步避免了梯度消失,网络层数达到了前所未
4、有的一百多层(深度残差学习:152层)(Kaiming He,MSRA,2015ImageNet计算机识别挑战赛,系统错误率已经低至3.57%,人眼辨识的错误率大概为5.1%)Keras何恺明,2015 RsNetKerasTensorFlow应用成果除了Alpha Go以外安卓手机新增自拍功能,就是通过应用深度学习训练出来的视觉模型,可以非常准确地分离前景像素和后景像素,对前景像素和后景像素分别处理,这样的话就可以实现背景虚化这样的功能。实现这种功能,传统上,手机厂商需要增加第二个摄像头,这就会增加手机的成本,同时对现有用户已经获得的手机就不太容易获得这样的效果,Keras谷歌翻译Keras
5、其他京东内部搭建了 TensorFlow 训练平台,用于开发图像、自然语言相关的模型,并且把他们用到客服广告等领域。小米也在尝试类似的技术路线,支持他们生态线上各种特殊的应用。网易的有道笔记、网易翻译君也使用了 TensorFlow 视觉和语言的模型。Keras我们正处在下一次技术爆炸的门口人类从直立行走到2003年的四百万年间,一共创造了 5 EB的信息,而到了2010年,人类每两天就会创造 5 EB;再到了2013年,人类每 10 分钟就创造 5 EB;再到今天,人类每1分钟就创造 5 艾字节。谷歌董事长施密特千年以来世界GDP变动神经网络基础原理KerasKeras梯度下降1反向传播算法
6、2激活函数3Keras梯度下降-成本函数(Cost Function)我们想要根据房子的大小,预测房子的价格,给定如下数据集:Keras梯度下降(for fixed , this is a function of x)(function of the parameters )(for fixed , this is a function of x)(function of the parameters )(for fixed , this is a function of x)(function of the parameters )(for fixed , this is a functio
7、n of x)(function of the parameters )(for fixed , this is a function of x)(function of the parameters )(for fixed , this is a function of x)(function of the parameters )(for fixed , this is a function of x)(function of the parameters )(for fixed , this is a function of x)(function of the parameters )
8、(for fixed , this is a function of x)(function of the parameters )Keras梯度下降(1)先确定向下一步的步伐大小,我们称为Learning rate;(2)任意给定一个初始值:;(3)确定一个向下的方向,并向下走预先规定的步伐,并更新;(4)当下降的高度小于某个定义的值,则停止下降;Keras梯度下降 (1)初始点不同,获得的最小值也不同,因此梯度下降求得的只是局部最小值; (2)越接近最小值时,下降速度越慢;Keras反向传播算法(Backpropagation)也就是说,对于上层节点p和下层节点q,需要找到从q节点到p节点
9、的所有路径,并且对每条路径,求得该路径上的所有偏导数之乘积,然后将所有路径的 “乘积” 累加起来才能得到的值。Keras反向传播算法(BP)假设,你有这样一个网络层:第一层是输入层,包含两个神经元i1,i2,和截距项b1;第二层是隐含层,包含两个神经元h1,h2和截距项b2,第三层是输出o1,o2,每条线上标的wi是层与层之间连接的权重,激活函数我们默认为sigmoid函数。其中,输入数据 i1=0.05,i2=0.10;输出数据 o1=0.01,o2=0.99;初始权重 w1=0.15,w2=0.20,w3=0.25,w4=0.30; w5=0.40,w6=0.45,w7=0.50,w8=0
10、.88 目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。Keras反向传播算法(BP)这样前向传播的过程就结束了,我们得到输出值为0.75136079 , 0.772928465,与实际值0.01 , 0.99相差还很远,现在我们对误差进行反向传播,更新权值,重新计算输出。Keras反向传播算法(BP)Keras反向传播算法(BP)2.隐含层-输出层的权值更新: 以权重参数w5为例,如果我们想知道w5对整体误差产生了多少影响,可以用整体误差对w5求偏导求出:(链式法则)Keras反向传播算法(BP)(其中,是学习速率,这里我们取0
11、.5)同理,可更新w6,w7,w8,以及更前面的w1-w4这样误差反向传播法就完成了,最后我们再把更新的权值重新计算,总误差E(total)由0.298371109下降至0.291027924。不停地迭代,迭代10000次后,总误差为0.000035085,输出为0.015912196,0.984065734(原输入为0.01,0.99),证明效果还是不错的Keras激活函数SigmoidSigmoid 非线性函数将输入映射到 (0,1)之间。它的数学公式为:历史上,sigmoid 函数曾非常常用,现在实际很少使用了:1. 函数饱和使梯度消失函数饱和使梯度消失sigmoid 神经元在值为 0
12、或 1 的时候接近饱和,这些区域,梯度几乎为 0。2. sigmoid 函数不是关函数不是关于原点中心对称的于原点中心对称的这个特性会导致后面网络层的输入也不是零中心的,进而影响梯度下降的运作Kerastanhtanh 函数同样存在饱和问题,但它的输出是零中心的,因此实际中 tanh 比 sigmoid 更受欢迎。KerasReLu(校正线性单元:(校正线性单元:Rectified Linear Unit)2001年,神经科学家Dayan、Abott从生物学角度,模拟出了脑神经元接受信号更精确的激活模型,这个模型对比Sigmoid系主要变化有三点:单侧抑制单侧抑制 相对宽阔的兴奋边相对宽阔的兴
13、奋边界界 稀疏激活性稀疏激活性(重点,可以看到红框里前端状态完全没有激活)深度学习的原理KerasKeras主要深度学习理论1评估函数2优化函数3Keras卷积神经网络(CNN)假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有1012个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。图像中有固有的局部模式(比如轮廓、边界,人的眼睛、鼻子、嘴等)可以利用,显然应该将图像处理中的概念和神经网络技术相结合。此时我们可以祭出卷积神经网络CNNKerasCNN假设图3中m-1=1是输入层,我们需要识别一幅彩色图像,这幅图像具有四个通道ARGB(透明度和红绿蓝,对应了四幅相
14、同大小的图像),假设卷积核大小为100*100,共使用100个卷积核w1到w100(从直觉来看,每个卷积核应该学习到不同的结构特征)。用w1在ARGB图像上进行卷积操作,可以得到隐含层的第一幅图像;这幅隐含层图像左上角第一个像素是四幅输入图像左上角100*100区域内像素的加权求和,以此类推。同理,算上其他卷积核,隐含层对应100幅“图像”。每幅图像对是对原始图像中不同特征的响应。按照这样的结构继续传递下去。CNN中还有max-pooling等操作进一步提高鲁棒性。在这个例子里,我们注意到输入层到隐含层的参数瞬间降低到了100*100*100=106个!Keras卷积神经网络(CNN)什么是卷
15、积信号学的概念Keras卷积层的工作当从一个大尺寸图像中随机选取一小块,比如说 3x3 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个 3x3 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从 3x3 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。 Keras卷积有什么用那么当它移动到上面的位置时,按照矩阵操作,将这个区域的图像像素值与滤波器相乘,我们得到一个很大的值(6600):而当这个滤波器移动到其他区域时,我们得到一个相对很小的值:Keras池化(Pooling)左侧矩阵A是2
16、0*20的矩阵要进行大小为10*10的池化,那么左侧图中的红色就是10*10的大小,对应到右侧的矩阵,右侧每个元素的值,是左侧红色矩阵每个元素的值得和再处于红色矩阵的元素个数,也就是平均值形式的池化。Keraspooling层有什么用更关注是否存在某些特征而不是特征具体的位置。可以看作加了一个很强的先验,让学到的特征要能容忍一些的变化不变性文本分类的时候输入是不定长的,可以通过池化获得定长输出获得定长输出或有可能会带来欠拟合减小下一层输入大小,减小计算量和参数个数防止过拟合Kerastranslation invariance(平移不变性)假设有一个16x16的图片,里面有个数字1,我们需要识
17、别出来,这个数字1可能写的偏左一点(图1),这个数字1可能偏右一点(图2),图1到图2相当于向右平移了一个单位,但是图1和图2经过max pooling之后它们都变成了相同的8x8特征矩阵,主要的特征我们捕获到了,同时又将问题的规模从16x16降到了8x8,而且具有平移不变性的特点。图中的a(或b)表示,在原始图片中的这些a(或b)位置,最终都会映射到相同的位置。Kerasrotation invariance(旋转不变性)下图表示汉字“一”的识别,第一张相对于x轴有倾斜角,第二张是平行于x轴,两张图片相当于做了旋转,经过多次max pooling后具有相同的特征Kerasscale inva
18、riance(尺度不变性)下图表示数字“0”的识别,第一张的“0”比较大,第二张的“0”进行了较小,相当于作了缩放,同样地,经过多次max pooling后具有相同的特征Keras循环神经网络(RNN_Recurrent Neural Networks)全连接的DNN还存在着另一个问题无法对时间序列上的变化进行建模。假设你希望对电影中的每个时间点的时间类型进行分类。传统的神经网络应该很难来处理这个问题使用电影中先前的事件推断后续的事件。RNN 解决了这个问题。RNN 是包含循环的网络,允许信息的持久化。对于自然语言处理、语音识别、手写体识别等应用非常重要KerasRNN展开在过去几年中,应用
19、RNN 在语音识别,语言建模,翻译,图片描述等问题上已经取得一定成功,而这些成功应用的关键之处就是 LSTM 的使用,这是一种特别的 RNN,比标准的 RNN 在很多的任务上都表现得更好。几乎所有的令人振奋的关于 RNN 的结果都是通过 LSTM 达到的。如果我们将这个循环展开:Keras主要深度学习理论1评估函数2优化函数3KerasAvailable metricsacc(accuracy)binary_accuracy: 对二分类问题,计算在所有预测值上的平均正确率categorical_accuracy:对多分类问题,计算再所有预测值上的平均正确率sparse_categorical_
20、accuracy:与categorical_accuracy相同,在对稀疏的目标值预测时有用top_k_categorical_accracy: 计算top-k正确率,当预测值的前k个值中存在目标类别即认为预测正确sparse_top_k_categorical_accuracy:与top_k_categorical_accracy作用相同,但适用于稀疏情况Kerasf1_scoreT / F: 表明我预测的结果的类别P / N: 表明实际的类别组合:TP: 我认为是A类,结果确实是A类TN: 我认为是B类,结果确实是B类FP: 我认为是A类,结果是B类FN: 我认为是B类,结果是A类f1_s
展开阅读全文