版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
案例体验:使用K-Means对观影用户进行聚类02步骤三:可视化展现分类结果
02案例体验:使用K-Means对观影用户进行聚类02步骤三:可视化展现分类结果
02第三章机器学习3.5深度学习神经网络CONTENTS目录应用场景
01语音识别01自2006年Hinton等提出深度学习的概念,神经网络再次回到人们的视野中,语音识别是第1个取得突破的领域。传统语音识别的方法主要利用声学研究中的低层特征,利用高斯混合模型进行特征提取,并用隐马尔可夫模型进行序列转移状态建模,并据此识别语音所对应的文字。历经数十年的发展,传统语音识别任务的错误率改进却停滞不前,停留在25%左右,难以达到实用水平。2013年,Hinton与微软公司合作,利用神经网络改进语音识别中的特征提取方法,将错误率降低至17.7%,并在大会现场展示了同声传译产品,效果惊人。此后,研究者们又陆续采用回复式神经网络改进语音识别的预测和识别,将错误率降至7.9%。这一系列的成功使得语音识别实用化成为可能,激发了大量的商业应用。至2016年,同声速记产品准确率已经突破95%,超过人类速记员的水平。计算机视觉01计算机视觉一直以来都是一个热门的研究领域。传统的研究内容主要集中在根据图像特点人工设计不同的特征,如边缘特征、颜色特征、尺度不变特征等。利用这些特征完成特定的计算机视觉任务,如图像分类、图像聚类、图像分割、目标检测、目标追踪等。传统的图像特征依赖于人工设计,一般为比较直观的初级特征,抽象程度较低,表达能力较弱。神经网络方法利用大量的图像数据,完全自动地学习特征。在深度神经网络中,各层特征形成了边缘、线条、轮廓、形状、对象等的层次划分,抽象程度逐渐提高。2012年,在大规模图像数据集ImageNet上,神经网络方法取得了重大突破,准确率达到84.7%。在LFW人脸识别评测权威数据库上,基于深度神经网络的人脸识别方法DeepID在2014、2015年分别达到准确率99.15%和99.53%,远超人类识别的准确率97.53%。医学医疗01医学医疗因为其应用的特殊性一直是科学研究的前沿,既要快速的推进,又要求格外严谨。如何利用好大数据解决医学和医疗中的问题,进一步改善医疗条件,提高诊治水平,是值得人们关注和研究的。随着神经网络各类应用的成功和成熟,在医学和医疗领域也出现了新的突破。2016年1月,美国Enlitic公司开发的基于深度神经网络的癌症检测系统,适用于从X光、CT扫描、超声波检查、MRI等的图像中发现恶性肿瘤,其中,肺癌检出率超过放射技师水平。同年,Google利用医院信息数据仓库的医疗电子信息存档中的临床记录、诊断信息、用药信息、生化检测、病案统计等数据,构建病人原始信息数据库,包括病人的用药信息、诊断信息、诊疗过程、生化检测等信息,采用基于神经网络的无监督深度特征学习方法学习病人的深度特征表达,并借助这一表达进行自动临床决策,其准确率超过92%。这些成果为实现基于医疗大数据的精准医疗打下了扎实基础。智能博弈01围棋被誉为“最复杂也是最美的游戏”,自从国际象棋世界冠军被深蓝电脑击败后,围棋也成为了“人类智慧最后堡垒”。2016年,Google旗下Deep-Mind团队的AlphaGo对战人类围棋世界冠军李世乭九段,不但引起围棋界和人工智能界的热切注视,还吸引了众多群众的关注。最终AlphaGo以4:1战胜李世乭九段,其背后成功的秘诀正是采用了神经网络与增强学习相结合,借助神经网络强大的特征提取能力捕捉人类难以分析的高层特征;再利用增强学习,采用自我对弈的方法产生大量的数据,从自己的尝试中学习到超越有限棋谱的技巧,成功掌握了致胜技巧。这一结果在人工智能界非常振奋人心,因为它提出了一种自发学习到超越现有数据的学习方法,标志了增强学习与神经网络的成功结合,也是“大数据+神经网络”的成功的应用。
图1为人脸识别,图2和图3为物体识别。01图1:人脸识别图2:飞机识别图3:自行车识别图像识别
神经网络同时也能完成图像的超分辨率采样等任务。图中,左侧是采用二次样条插值得到的图像,右侧是使用神经网络得到的图像。不难看出:深度神经网络在进行超分辨采样的过程中可以保留更多细节。02图4:图像增强图像增强
目标检测也是深度学习的重要应用场景,图像目标检测可以识别一张图片的多个物体,并可以定位出不同物体(给出边界框)。目标检测在很多场景有用,如图5所示为在球场上实时进行目标检测的场景。03图5:目标检测实际应用目标检测
AI换脸技术:(视频来源:/6760996398079951367/?wid_try=1)04AI换脸
有一项研究是使用深度学习来“绘制”带有艺术气息的画。如下图所示,输入两个图像后,会生成一个新的图像。两个输入图像中,左下的图像称为“内容图像”,左上的图像称为“风格图像”。05图6:风格迁移风格迁移
05
风格迁移技术:(视频来源:/video/av35604813)风格迁移
图7和图8为深度神经网络在自然语音上的一个具体应用-智能翻译机。第二届“一带一路”国际合作高峰论坛上,科大讯飞的智能翻译机亮相会议现场。06图7:科大讯飞智能翻译机图8:外国嘉宾使用翻译机交流自然语言第三章机器学习3.6基本原理及技术发展现状CONTENTS目录深度学习概述
01深度学习相关概念
02人类视觉原理与神经网络原理
03感知器基本结构及训练
04为什么要学习深度学习?01
深度学习是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术。
基本特点是试图模仿大脑神经元之间传递,处理信息的模式。最显著的应用是计算机视觉和自然语言处理(NLP)领域。图1:人工智能、机器学习、深度学习关系深度学习概述
0102深度学习概述
0103深度学习相关概念
02人类视觉原理
1981年的诺贝尔医学奖,分别颁发给了DavidHubel、TorstenWiesel和RogerSperry。前两位的主要贡献,是“发现了视觉系统的信息处理”即:视皮层是分级的。04图2:人类视觉原理
03人类视觉原理
当瞳孔发现了眼前物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会变得活跃。04图3:人类训练识别不同物体过程
结论:
人的视觉系统的信息处理是分级的,高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图,抽象层面越高,存在的可能猜测就越少,就越利于分类。
03神经网络原理05图4:单个神经元生理结构图5:数学公式仿真神经元
03神经网络原理05图6:神经网络原理a1a2a3z1z2
03神经网络原理05图7:神经网络结构1.设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;2.神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;3.结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。
03感知器基本结构及训练06图8:感知器基本结构
04感知器基本结构及训练06举例说明:以上为and函数的实现。W=[w1,w2]X=[x1,x2]y=f(X*WT+b),寻找合适的W。其中:给出W=[0.5,0.5],b=-0.8进行验证:y1=f(0.5*0+0.5*0-0.8)=0y2=f(0.5*0+0.5*1-0.8)=0y3=f(0.5*1+0.5*0-0.8)=0y4=f(0.5*1+0.5*1-0.8)=1
04感知器基本结构及训练06现在,你可能困惑前面的权重项和偏置项的值是如何获得的呢?感知器训练算法:将权重项和偏置项初始化为0,然后,利用下面的感知器规则迭代的修改w和b,直到训练完成。1)w是与输入xi对应的权重项。2)b是偏置项。事实上,可以把b看作是值永远为1的输入所对应的权重。3)t是训练样本的实际值,一般称之为label。4)y是感知器的输出值,它是根据公式计算得出。5)η是一个称为学习速率的常数,其作用是控制每一步调整权值的幅度。6)每次从训练数据中取出一个样本的输入向量x,使用感知器计算其输出y,再根据上面的规则来调整权重。每处理一个样本就调整一次权重。经过多轮迭代后(即全部的训练数据被反复处理多轮),就可以训练出感知器的权重,使之实现目标函数。其中:
04第三章机器学习3.7
案例体验CONTENTS目录
01
02MNIST手写数字识别简单汽车识别体验简单汽车识别体验011.华为云Modelarts汽车图片训练识别体验:/ei/experiencespace/modelarts/index.html
01MNIST手写数字识别01Keras深度学习框架Keras层模型卷积与池化CIFAR-10数据集图片识别体验
02Keras深度学习框架02Keras是一个开放源码的高级深度学习程序库,使用python编写,能够运行在TensorFlow或Theano之上。Keras使用最少的程序代码、花费最少的时间就可以建立深度学习模型,进行训练、评估准确率,进行预测。Keras是一个模型级的深度学习链接库,Keras只处理模型的建立、训练、预测等功能。深度学习底层的运行,例如张量(矩阵)运算,Keras必须配合“后端引擎”进行运算。目前Keras提供了两种后端引擎:Theano与TensorFlow。如图所示,Keras程序员只需要专注于建立模型,至于底层操作细节,例如张量(矩阵)运算,Keras会帮你转换为Theano或TensorFlow。KerasTheanoTensorflowMNIST手写数字识别
02Keras深度学习框架02使用Keras深度学习框架训练,预测数据集步骤如下:MNIST手写数字识别
02
03(1)卷积层:每个卷积层由若干个卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征。第一层卷积层可能只能提取一些低级的特征,如边缘、线条和角,更多层的网络能从低级特征中迭代提取更复杂的特征。(2)池化层:通常在卷积层之后得到的特征维度很大。池化就是一个特征数据压缩的过程,它将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征数据。(3)全连接层:把所有局部特征结合成全局特征,用来计算每一类的得分。MNIST手写数字识别
02Keras层模型
03(1)输入的数字图像大小为:32*32*3。(2)卷积层1:卷积产生32个图像,卷积后图像大小:32*32。(3)池化层1:将32个32*32的图像,缩小为32个16*16的图像。(4)卷积层2:将64个16*16的图像卷积产生64个16*16的图像。(5)池化层2:第二次缩减,将64个16*16图像缩小为8*8的图像。(6)平坦层:将64个8*8的图像以reshape转换为一维向量,长度为64*8*8,也就是4096个神经元。(7)隐藏层:隐藏层共有1024个神经元。(8)输出层:共有10个神经元,对应10个图像。MNIST手写数字识别
02Keras层模型
04
在计算机视觉领域,卷积核、滤波器通常为较小尺寸的矩阵,比如3×3、5×5等;数字图像是相对较大尺寸的2维(多维)矩阵(张量)。图像卷积运算过程就是使用滤波器在图像上滑动,将对应位置相乘求和,如图所示。1.卷积动态计算过程:/v?vid=6151717044497705796&pd=bjh&fr=bjhauthor&type=video2.卷积计算参考:/aaa958099161/article/details/90346899MNIST手写数字识别
02卷积与池化
04
池化(Pooling),也称为欠采样或下采样,主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。池化主要有两种:最大池化(MaxPooling)和平均池化(AveragePooling)
。(1)最大池化:选取最大的值作为输出值。它定义一个空间邻域(比如,2*2的窗口),并从窗口内的修正特征图中取出最大的元素。最大池化被证明效果较好。如图5.2.5所示的就是最大值池化过程。(2)平均池化:选取平均值作为输出值。它定义一个空间邻域(比如,2*2的窗口),并从窗口内的修正特征图中算出平均值。MNIST手写数字识别
02卷积与池化05CIFAR-10数据集简介我们可以在下列网址查看CIFAR-10数据集:/~kriz/cifar.htmlCIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤一:下载并查看数据集#导入相应库importnumpyasnpfromkeras.datasetsimportcifar10importmatplotlib.pyplotaspltfromkeras.utilsimportnp_utils#下载并加载CIFAR-10数据集(train_image,train_label),(test_image,test_label)=cifar10.load_data()#查看shapeprint('train_image的shape:',train_image.shape)print('test_image的shape:',test_image.shape)print('train_label的shape:',train_label.shape)print('test_label的shape:',test_label.shape)CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤一结果输出:train_image的shape:(50000,32,32,3)test_image的shape:(10000,32,32,3)train_label的shape:(50000,1)test_label的shape:(10000,1))
由结果可知:CIFAR-10数据集分为训练数据集和测试数据集,其中训练数据集由50000张像素点32*32的RGB(3基础色)图像,测试数据集由10000张像素点32*32的RGB(3基础色)图像。CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤二:查看多项图片的feature与labelimportmatplotlib.pyplotaspltimportnumpyasnpdefplot_images_labels_prediction(image,labels,idx,num,prediction,label_dict):foriinrange(0,num):
#绘制多子图ax=plt.subplot(5,5,1+i)ax.imshow(image[idx])print(labels[idx])if(len(prediction)>0):ax.set_title(label_dict[labels[idx,0]]+label_dict[int(prediction[idx])])else:ax.set_title(label_dict[labels[idx,0]])idx+=1plt.show()CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤二:查看多项图片的feature与labelimportimage_show#新建一个字典类型,定义每一个数字所代表的图像类别名称label_dict={0:'airplane',1:'automobile',2:'bird',3:'cat',4:'deer',5:'dog',6:'frog',7:'horse',8:'ship',9:'truck'}#绘制前10张图像image_show.plot_images_labels_prediction(image=train_image,labels=train_label,idx=0,num=10,prediction=[],label_dict=label_dict)步骤二结果输出:CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤三:数据预处理#数据预处理Train_image_nor=train_image.astype('float32')/255Test_image_nor=test_image.astype('float32')/255Train_label_nor=np_utils.to_categorical(train_label)Test_label_nor=np_utils.to_categorical(test_label)#查看处理后结果print(Train_label_nor[0])[0.0.0.0.0.0.1.0.0.0.]步骤三结果输出:CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤四:模型建立#建立模型fromkeras.modelsimportSequentialfromkeras.layersimportDense,Dropout,Activation,Flattenfromkeras.layersimportConv2D,MaxPooling2D,ZeroPadding2D#建立序贯模型model=Sequential()#添加卷积层1,产生32张图像,卷积核为3*3,卷积后的图像与卷积前尺寸大小相等model.add(Conv2D(filters=32,kernel_size=(3,3),input_shape=(32,32,3),padding='same',activation='relu',))#添加dropout层1model.add(Dropout(0.25))#添加池化层1model.add(MaxPooling2D(pool_size=(2,2)))CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤四:模型建立#添加卷积层2model.add(Conv2D(filters=64,kernel_size=(3,3),padding='same',activation='relu',))#添加dropout,避免过拟合model.add(Dropout(0.25))#添加池化层2model.add(MaxPooling2D(pool_size=(2,2)))#添加平坦层model.add(Flatten())#添加dropoutmodel.add(Dropout(0.25))#添加隐藏层model.add(Dense(1024,activation='relu'))#添加dropoutmodel.add(Dropout(0.25))#输出层model.add(Dense(10,activation='softmax'))#打印模型print(model.summary())CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤四结果输出:_________________________________________________________________Layer(type)OutputShapeParam#============================================================conv2d_1(Conv2D)(None,32,32,32)896____________________________________________________________dropout_1(Dropout)(None,32,32,32)0____________________________________________________________max_pooling2d_1(MaxPooling2(None,16,16,32)0____________________________________________________________conv2d_2(Conv2D)(None,16,16,64)18496____________________________________________________________dropout_2(Dropout)(None,16,16,64)0____________________________________________________________max_pooling2d_2(MaxPooling2(None,8,8,64)0____________________________________________________________flatten_1(Flatten)(None,4096)0____________________________________________________________
_________________________________________________________dropout_3(Dropout)(None,4096)0_________________________________________________________dense_1(Dense)(None,1024)4195328_________________________________________________________dropout_4(Dropout)(None,1024)0_________________________________________________________dense_2(Dense)(None,10)10250=================================================Totalparams:4,224,970Trainableparams:4,224,970Non-trainableparams:0_________________________________________________________CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤五:模型的训练与保存#############训练模型#########################编译模型#loss:选择交叉熵算法#optimizer:使用adam算法加快收敛#metrics:判断标准使用精确度pile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])#训练模型#epoch:训练5个周期#batch_size:每一批次128项数据#verbose=2:显示训练过程#validation_split=0.2.model.fit(x=Train_image_nor,y=Train_label_nor,batch_size=128,epochs=10,verbose=2,validation_split=0.2)#保存模型model.save('cnn_cifar10.h5')CIFAR-10数据集图片识别体验MNIST手写数字识别
0205步骤五结果输出:Trainon40000samples,validateon10000samplesEpoch1/102020-11-0614:35:10.954569:Itensorflow/core/platform/cpu_feature_guard.cc:142]YourCPUsupportsinstructionsthatthisTensorFlowbinarywasnotcompiledtouse:AVX2-182s-loss:1.5302-acc:0.4492-val_loss:1.3716-val_acc:0.5396Epoch2/10-153s-loss:1.1750-acc:0.5813-val_loss:1.1595-val_acc:0.6241Epoch3/10-153s-loss:1.0378-acc:0.6330-val_loss:1.0385-val_acc:0.6621Epoch4/10-131s-loss:0.9175-acc:0.6751-val_loss:0.9895-val_acc:0.6753Epoch5/10-139s-loss:0.8386-acc:0.7040-val_loss:0.9521-val_acc:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大型活动安全应急处理制度
- 学校结核病防控工作制度
- 2024年影视制作拍摄授权合同
- 社区医疗服务提升技术评估方案
- 2024年度人工智能算法芯片委托生产合同
- 手术室患者安全保障制度
- 2024年咨询服务合同:企业战略规划指导
- 2024商铺租赁保险服务合同
- 社区卫生管理制度与实施
- 2024年市场推广活动外包合同
- 《托育服务政策法规与职业伦理》全套教学课件
- 期末模拟练习(试题)(含答案)2024-2025学年二年级上册数学苏教版
- 2024年房产中介佣金提成协议书范本
- 某港口码头工程施工组织设计
- 职业技术学校老年保健与管理专业(三年制)人才培养方案
- 2024年秋季人教版新教材七年级上册语文全册教案(名师教学设计简案)
- 有子女民政局常用协议离婚书格式2024年
- 中国介入医学白皮书(2021 版)
- 2024中华人民共和国农村集体经济组织法详细解读课件
- 代运营合作服务协议
- 婚内财产协议书(2024版)
评论
0/150
提交评论