《深度学习项目案例开发》课件-任务四:使用深度卷积神经网络完成图片分类_第1页
《深度学习项目案例开发》课件-任务四:使用深度卷积神经网络完成图片分类_第2页
《深度学习项目案例开发》课件-任务四:使用深度卷积神经网络完成图片分类_第3页
《深度学习项目案例开发》课件-任务四:使用深度卷积神经网络完成图片分类_第4页
《深度学习项目案例开发》课件-任务四:使用深度卷积神经网络完成图片分类_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

任务四:使用深度卷积神经网络完成图片分类使用Vgg块结构构建模型人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类搭建网络模型,编写训练网络函数人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类知识点—读取imagenet数据集人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类使用混合精度训练模型人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类构建ResNet网路模型基本结构人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类知识点—构建ResNet网络块结构人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类构建ResNet网络模型-全部层人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类构建ResNet网络模型-输入层人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类知识点——构建Vgg模型块结构人工智能学院—1.任务导入任务总结任务四:使用深度卷积神经网络完成图片分类VGG深度神经网络人工智能学院—任务导入01任务目标02任务导学03任务知识点04任务总结05任务导入/01前面介绍了卷积神经网络,在此基础上出现了很多经典的现代深度卷积神经网络,例如VGG、GoogLeNet、ResNet、SSD、YOLO等,虽然深度神经网络的概念非常简单,将神经网络堆叠在一起。但由于不同的网络架构和超参数选择,这些神经网络的性能会发生很大变化,本任务搭建深度数据网络Resnet101,使用imageNet数据集对模型进行训练,最终完成图片的分类。任务导入任务目标/02了解深度神经网络的基本原理了解VGG、ResNet网络的结构掌握残差结构的基本管理掌握残差网络的基本架构掌握使用模型预训练模型的基本原理知识目标能根据具体的要求搭建VGG、ResNet网络模型理解混合精度训练、动态分配GPU内存训练的方法拓展能力能调用VGG、ResNet等深度神经网络模型能使用残差模块构建残差网络能使用预训练模型训练深度残差网络能力目标任务导学/032012年AlexNet使用了8层卷积神经网络,模型将特征提出分为三个部分,最底层的提取图像颜色、纹理等基本特征,中层的提取类似眼睛、鼻子、草叶等信息,更高层可以检测整个物体。底层特征主要提取图像的边缘、颜色、线条等基本特征。‌这些特征是图像的基本属性,‌不涉及图像的语义信息。‌中层特征的提取则更加关注于图像的局部和全局特征包括形状、纹理等,‌这些特征能够反映图像中的对象或场景的某些属性‌。高层特征则涉及到图像的语义信息,‌这些特征能够反映图像中是否存在某类对象或场景。‌任务导学深度卷积神经网络任务知识点/042014年VGG网络诞生,采用更小的卷积核,网络的层数达到19层,同时使用可复用的卷积块构造网络,导致网络定义的非常简洁。随着AlexNet、VGG等网络的发展,网络模型测层数越来越深理论上模型层数越多效果越好,但是在实际应用中,随着层数的增加,会产生梯度弥散和模型退化的问题,这时诞生了深度残差网络RestNet,使用这种网络可以训练出1202层的超深层次网络。任务知识点VGG模型简介模VGG模型是经典的卷积神经网络,在ILSVRC-2014挑战赛ImageNet分类任务中获得亚军,它的最大意义在于将神经网络的层数推向更深,常用的VGG网络包含VGG11、VGG13、VGG16、VGG19等系列网络。VGG都包含5组卷积操作,每组卷积包含一定数量的卷积层,所以这可以看作一个五阶段的卷积特征提取。每组卷积后都进行一个2×2的最大值池化,最后是三个全连接层。尽管A~E网络的结构在逐步加深,但是参数个数并没有显著增加,这是因为最后3个全连接层的参数占据了绝大多数。任务知识点VGG模型简介VGG网络可以分为两个部分,第一部分主要由卷积层和汇聚层组成,用于进行特征提取。第二部分由全连接层组成,用于进行分类识别。同时出了VGG块的概念,每个块由1个或者多个3*3卷积层(填充为1),和2*2的池化层(步幅为2的)组成,这样可以快速的使用块构建深层次的网络,VGG块结构如图所示。任务知识点VGG块结构常用的VGG模型有VGG11、VGG16、VGG19三种,其中11、16、19表示神经网络的层次。VGG系列包含了A、A-LRN、B、C、D、E6组,其中A、A-LRN有11层属于VGG11,B有13层属于VGG13,C和D有16层属于VGG16,E有19层属于VGG19。VGG系列都有5个VGG块,和3个全连接层,最后使用一个softmax进行分类。VGG11和VGG13中VGG块使卷积层卷积核的大小为3*3,步长为1,VGG16和VGG19中增加了卷积核为1*1,步长为1的卷积层。每个块之间使用了最大池化层,池化窗口大小为2*2,步长为2。和AlexNet相比,VGG采用了更小的卷积核和步长,增加了模型的深度。任务知识点VGG系列模型模型VGG模型块中有两种基础模块,一种是卷积核为3*3的卷积层,一种是卷积核为1*1的卷积层,同时每个块中的层数也不相同,定义VGG块代码如下。代码中设置了三个参数,第一参数num_convs卷积层的数量,第二个参数,卷积核的数量,第三个参数卷积核的大小。任务知识点VGG基础模块使用循环结构可以构建多个卷积层,最后加入池化层。例如要建立一个包含两个卷积层(64个卷积核,kernel_size=3*3)的块结构需要传入参数【2,64,(3,3)】。如果需要建立一个包含三卷积层(第1、2层:256个卷积核,kernel_size=3*3;第3层:256个卷积核,kernel_size=1*1),这时需要传入【3,256,(3,3,1)】。任务知识点VGG基础模块定义了块结构,然后在块结构后加上全连接层和softmax层,就可以完成模型的结构搭建了样本数。这时可以根据需要建立VGG11、VGG16、VGG19模型。然后可以在train文件中调用类文件中的创建模型方法,测试模型是否搭建成功。任务知识点构建VGG模型任务知识点构建VGG模型模型输入224*224*3,经过5个VGG块,在每个块的高度和宽度减半,最终高度和宽度都为7,最后再展平表示,送入全连接层处理,代码运行后输出如图:任务知识点构建VGG模型随着AlexNet、VGG等网络的发展,网络模型测层数越来越深理论上模型层数越多效果越好。但是在实际应用中,随着层数的增加,会产生梯度弥散和模型退化的问题。这时诞生了深度残差网络RestNet,使用这种网络可以训练出1202层的超深层次网络。任务知识点VGG模型存在的问题了解深度卷积神经网络01了解VGG网络的基本结构02能编写代码完成VGG模块03能构建VGG模型代码04任务四:使用深度卷积神经网络完成图片分类ResNet深度神经网络人工智能学院—ResNet残差块01ResNet模型结构02ResNet101模型结构实现03ResNet101模型训练04VGG等模型的出现使得神经网络模型的深度达到了二十层,模型训练时反向传播过程中梯度会逐层传递。梯度可能会在传递过程中逐渐消失(梯度消失)或快速增长(梯度爆炸)。梯度消失会导致网络的权重更新非常缓慢,难以有效训练。梯度爆炸则会导致权重更新幅度过大,使得训练过程不稳定。深层神经网络存在的问题任务导入同时当网络变得非常深时,模型的训练误差反而会变得更高。理论上,更深的网络应该具有更强的表达能力。但在实践中,随着层数的增加,训练误差会先减少然后增加。这种现象就是网络退化现象,深度网络的退化问题在很大程度上限制了深度学习模型的性能提升。深层神经网络存在的问题任务导入ResNet残差块/01在传统的深度神经网络中,网络需要直接学习输入x到输出y的复杂映射H(x)。这种直接学习的过程在深层网络中容易导致梯度消失或梯度爆炸问题,影响训练效果。ResNet通过引入残差块,将原始的映射H(x)转换为残差映射F(x)=H(x)−x。这样网络只需学习输入和输出之间的残差F(x),而不是复杂的直接映射。如果最优的映射是恒等映射(即H(x)=x),那么网络只需学习F(x)=0,这大大简化了学习任务。ResNet残差块残差的概念如图所示,虚线框中的部分需要直接拟合出该映射H(x),而右图虚线框中的部分则需要拟合出残差映射F(x)=H(x)-x。残差映射在现实中往往更容易优化。恒等映射是希望学出的理想映射H(x),只需将右图虚线框内上方的加权运算(如仿射)的权重和偏置参数设成0,那么H(x)即为恒等映射。ResNet残差块残差的概念实际中,当理想映射H(x)极接近于恒等映射时,残差映射也易于捕捉恒等映射的细微波动。右图是ResNet的基础架构–残差块(residualblock)在残差块中,输入可通过跨层数据线路更快地向前传播。ResNet残差块残差的概念ResNet模型结构/02捷径连接也称为跳跃连接(skipconnections),它直接将输入传递到输出,与通过卷积层得到的残差相加。其基本形式如上右图所示,模型的主路输出为残差函数F(x),模型的之路就是捷径连接,X表示恒等映射,就是直接将输入的特征矩阵X跳过残差层,传递到输出。将主路和之路相加得到H(x)=F(x)+x。最后经过relu激活函数,得到残差块的输出y=ReLu(F(Wi,x)+x),其中Wi表示主路卷积层的参数。因为支路是恒等映射,所以不增加参数,同时在模型训练的反向传播中,需要更新的是F(x)的参数,也就残差的的参数。ResNet模型结构ResNet模型结构-捷径连接瓶颈残差块是ResNet中一种更复杂、更有效的残差块设计,专门用于非常深的网络,如ResNet-50、ResNet-101和ResNet-152。其主要目的是通过引入1x1卷积层来减少计算复杂度,同时保持模型的表达能力。瓶颈残差块基本结构包括三个卷积层,分别是1x1卷积层(用于降维)、3x3卷积层(用于特征提取)和1x1卷积层(用于升维)。ResNet模型结构ResNet模型结构-瓶颈残差块图是瓶颈残差块的详细结构,假如输入X的shape为56*56*256,经过第1个[1*1,64]的卷积层运算后,输出的shape为56*56*64。再使用第2个[3*3,64]的卷积层运算后,输出的shape为56*56*64。这时按照残差块的运算需要和X進行相加,但是X的shape为56*56*256,所以需要使用第3个[1*1,256]的卷积层对第2层卷积结果进行上采样,输出shape为56*56*256。在整个过程中,矩阵的大小为56*56保持不变,但是通道数变化过程为256->64->64->256,呈现出一种中间大买两头小的形状,像一个瓶子颈部一样,所以起名为瓶颈残差块,它的实际作用就是提取特征,并对数据进行上下采样。ResNet模型结构ResNet模型结构-瓶颈残差块ResNet中的残差模块有2种,第1种是如图的残差模块,使用了两个步长为1的卷积核,特征的输出和支路的输出shape相同,可以直接进行相加运算。ResNet模型结构ResNet模型结构-下采样残差模块第2种是右图所示,输入X为[56,56,64]经过步长为1和2的卷积核运算,输出特征为[56,56,128],这是为了和支路的输出进行相加运算,必须要在支路中增加一个步长为2卷积核大小为(1*1*128)的卷积层,经过这个卷积层运算,支路的输出shape为[56,56,128],这是支路输出就可以和特征的输出进行相加运算了,两种残差模块的支路分别用实线和虚线表示。ResNet模型结构ResNet模型结构-下采样残差模块ResNet网络模型包括ResNet18、ResNet34、ResNet50、ResNet101和ResNet152,这些模型可以分为浅层网络和深层网络两大类,其中ResNet18和ResNet34属于前者,而ResNet50、ResNet101和ResNet152则属于后者。ResNet模型结构ResNet模型结构-ResNet模型结构ResNet的网络结构主要包括:conv1:输入层的卷积。conv2_x、conv3_x、conv4_x和conv5_x,这些部分分别对应于ResNet中的不同层级,其中数字表示该层级的重复次数或block数量。fc(全连接层):用于分类的最后一层。以ResNet101为例,其结构包含7x7x64的初始卷积层,随后是3个buildingblocks(每个block包含3层卷积)在conv2_x,4个blocks在conv3_x,23个blocks在conv4_x,以及最后的3个blocks在conv5_x。加上初始的卷积层和最后的全连接层,总共是101层。这里的层数计算不包括激活层或Pooling层。ResNet模型结构ResNet模型结构-ResNet模型结构ResNet101模型结构实现/03ResNet101残差结构由2个1*1的卷积层和1个3*3的卷积层组成,一种是输入直接和残差块的输出进行相加运算,如图所示,另外一种输入需要使用1*1的卷积层进行提升维度的操作后再和输出进行相加,如图所示。ResNet101模型结构实现ResNet101模型残差结构输入层大小为input

温馨提示

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

评论

0/150

提交评论