《深度学习 》课件 第3章-卷积神经网络_第1页
《深度学习 》课件 第3章-卷积神经网络_第2页
《深度学习 》课件 第3章-卷积神经网络_第3页
《深度学习 》课件 第3章-卷积神经网络_第4页
《深度学习 》课件 第3章-卷积神经网络_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

单击此处添加文本单击此处添加文本3卷积神经网络目录

|

CONTENTS简介1基础模块2典型卷积神经网络3各种卷积42简介13卷积神经网络(CNN)是一种在深度学习领域具有重要地位的人工神经网络。其核心特点是卷积运算,这使得CNN在图像分类、语义分割、检索和物体检测等计算机视觉任务中表现出色。此外,CNN还被应用于自然语言处理、软件工程和数据挖掘等领域,展现出优越的预测效果。3.1简介453.1.1基本概念卷积神经网络是一种层次模型,输入为原始数据(如RGB图像、音频等)。通过卷积、池化和非线性激活等操作,逐层抽取高层语义信息。这一过程称为“前馈运算”。1、卷积神经网络(CNN)概述2、CNN的层次结构63.1.1基本概念不同类型的操作称为“层”,例如卷积层、池化层等。每一层的输出是一个三维张量(如图像的H×W×C)。数据逐层传递,每一层可以是单一操作或操作组合。3、前馈运算与损失函数73.1.1基本概念

反向传播与模型训练利用反向传播算法,将误差从最后一层逐层向前反馈,更新每一层的参数。重复前馈运算和反向传播,直到网络收敛,完成模型训练。CNN的类比解释CNN可以类比为搭积木的过程:卷积等操作作为“基本单元”,逐层堆叠在原始数据上。每一层的输出作为下一层的输入,最终计算损失函数。3.1.1基本概念8卷积神经网络起源AlexNet的突破LeNet的诞生神经认知模型猫的视觉神经元研究,1962年发现大脑视觉中枢结构,启发神经网络设计。福岛邦彦提出"神经认知",模拟生物视觉系统,S型和C型细胞对应现代CNN的卷积层和池化层。1998年YannLeCun的LeNet,基于梯度学习的卷积网络,应用于手写数字识别,开启了商业应用。2012年GeoffreyE.Hinton等人在ImageNet竞赛中使用AlexNet,卷积神经网络开始主导计算机视觉领域。3.1.2发展历程9基础模块210本节将在掌握深度卷积神经网络的基本框架后,重点探讨卷积神经网络中的关键组成部分及模块。这些组成部分的逐层堆叠,使得卷积神经网络能够直接从原始数据中学习特征表示,并成功地完成最终任务。3.2基础模块11深度学习核心思想深度学习模型结构端到端学习优势传统机器学习对比端到端学习,自动特征表示,无需人工特征工程,解决复杂问题时可能达到全局最优。依赖预处理特征,人工特征质量影响最终精度,多步骤方法可能无法实现全局最优。整体优化,不人为划分子问题,直接从原始输入到期望输出,协同效果可能更优。全连接神经网络,原始输入层上堆叠操作层,通过损失函数反向传播优化参数。3.2.1端到端架构1201输入层功能接收原始图像数据,调整大小、归一化、处理通道,适应网络需求,为后续层提供处理后的数据流。03数据增强目的通过随机变换增加训练数据多样性,防止过拟合,提升卷积神经网络在实际任务中的泛化性能。02预处理步骤包括图像大小调整确保输入一致,归一化使数值范围可控,增强数据多样性和泛化能力,以及按批次组织数据以优化计算效率。04通道与批量处理处理图像的多个通道,适应网络结构,同时将数据组织成批次进行高效训练,为特征提取和学习做好准备。3.2.2输入层13卷积层是深度卷积神经网络中的基本操作,它在网络中发挥着重要作用。实际上,甚至在网络的最后起分类作用的全连接层在工程实现时也可以通过卷积操作进行替代。这种替代方式的使用在实际应用中相当常见。3.2.3卷积层14卷积运算在神经网络中用于分析图像,通过卷积核与输入数据相乘累加,得到特征图,用于后续层的处理。3.2.3.1基本思想图

3-1二维场景下,卷积核和输入数据的可视化。图左展示了一个3x3的卷积核,而图右展示了一个5x5的输入数据。153.2.3.1基本思想(a)

第一次卷积操作后的结果 (b)第三次卷积操作后的结果图

3-2卷积中间结果示意图在第一次卷积操作中,从图像的像素位置(0,0)开始,卷积核的参数与对应位置的图像像素逐个相乘,并将它们累加起来作为卷积操作的结果。具体计算为:1x1+2x0+3x1+6x0+7x1+8x0+9x1+8x0+7x1=1+3+7+9+7=27,如图3-2(a)所示。16卷积操作:一种局部操作,通过特定大小的卷积核对局部图像区域进行处理,获取图像的局部信息。边缘检测示例:使用三种边缘卷积核(滤波器)说明卷积操作的作用:整体边缘滤波器:检测图像中的整体边缘信息。横向边缘滤波器:检测图像中的横向边缘信息。纵向边缘滤波器:检测图像中的纵向边缘信息。边缘检测原理:假设像素点(x,y)可能存在物体边缘,其周围像素值与(x,y)有显著差异。应用边缘滤波器可以保留这些显著差异的区域,从而检测出物体的边缘信息。173.2.3.2卷积层基本作用1、卷积操作的基本原理卷积核的参数学习:在卷积神经网络中,卷积核的参数是通过网络训练学习得到的。多样的边缘滤波器:网络可以学习到各种边缘滤波器,包括横向、纵向和任意角度的边缘滤波器。复杂的深层卷积神经网络还可以学习到检测颜色、形状、纹理等基本模式的滤波器。高层语义表示:随着网络的后续操作,基本模式被组合并逐渐抽象为具有高层语义的“概念”表示。网络能够将输入样本映射到具体的样本类别,并对不同的概念进行表示和分类。类比:类似于盲人摸象,网络逐渐将各个部分的结果整合起来,最终形成对整体样本的理解和分类。183.2.3.2卷积层基本作用2、卷积核的学习与高级特征检测在卷积神经网络中,当涉及到池化层时,通常使用的操作有平均值池化和最大值池化。这些操作与卷积层不同,它们不包含需要学习的参数。在使用池化层时,只需要指定池化类型(如平均值或最大值)、池化操作的核大小(池化核的大小)以及池化操作的步长等超参数即可。这些超参数决定了在池化操作中如何对输入数据进行下采样。3.2.4池化层19

3.2.4.1池化的基本概念201、池化操作随机池化是一种介于平均值池化和最大值池化之间的操作。它按概率随机选择输入数据中的元素,而不是仅选择最大值或计算均值。元素值越大,被选中的概率越高,因此它结合了平均值池化(考虑所有元素)和最大值池化(选择大响应)的特点。随机池化的目的是通过引入随机性来增强模型的鲁棒性和抗过拟合能力,但其使用不如平均值池化和最大值池化广泛。3.2.4.1池化的基本概念212、随机池化池化操作实质上是一种“下采样”(down-sampling)的技术。同时,可以将池化操作视为一种使用p-范数(p-norm)作为非线性映射的“卷积”技巧。特别地,当p逼近无穷大时,它就等同于常见的最大值池化。3.2.4.2池化层意义22

引入池化层旨在模拟人类视觉系统对输入对象的降维和抽象。池化层在卷积神经网络中具有以下功能:特征不变性:池化使模型关注特征的存在而非具体位置,容忍微小位移。特征降维:池化通过降采样减少输入大小,提取更广泛的特征,降低计算量和参数数量。防止过拟合,优化训练:池化层虽非必需,但可防止过拟合,便于优化。有研究用特殊卷积操作替代池化层实现降采样,实验表明其性能可与传统卷积神经网络相当233.2.4.2池化层意义激活层(activationlayer)是卷积神经网络另外一个重要的组成部分。激活层将卷积层或者全连接层线性运算的输出做非线性映射,为神经网络提供非线性能力。激活层通过激活函数来实现。激活函数模拟了生物神经元的特性,接受一组输入信号产生输出,并通过一个阈值模拟生物神经元的激活和兴奋状态。常见的激活函数包括:Sigmoid、Tanh、ReLU等,具体可参考第二章。3.2.5激活层24全连接层在卷积神经网络中作为“分类器”,将特征表示映射到标签空间。在实际应用中,可以通过卷积操作实现全连接层的功能:对于前一层是全连接层的情况,可转化为1×1卷积核;对于前一层是卷积层的情况,可转化为全局卷积核(尺寸为h×w,其中h和w是前一层输出的高度和宽度)。3.2.6全连接层25

以VGG网络为例:输入为224×224×3的图像,经过卷积和池化层后,最后一层卷积输出为7×7×512的特征张量。若后续接4096个神经元的全连接层,可使用7×7×512×4096的全局卷积来实现全连接计算。具体操作:将7×7×512的特征张量展平为长度为25088的向量,通过全局卷积运算,将每个7×7的局部特征图与权重逐元素相乘并求和,最终得到4096维的向量,完成从特征到标签的映射。这种将全连接层转化为全局卷积的方法在VGG网络中是一种特殊设计,旨在减少参数量,简化网络结构,提高计算效率,并已被证明是有效的。263.2.6全连接层

全连接层将特征映射到样本标记空间进行预测,而目标函数衡量预测值与真实标记之间的误差。对于分类问题,交叉熵损失函数是最常用的目标函数之一,它基于预测类别和真实类别之间的差异来衡量分类错误,并在训练过程中促使网络更好地拟合数据,尤其适用于多类别分类任务。对于回归问题,L2损失函数(均方误差)是常用的目标函数,衡量预测值与真实值之间的平方差,对异常值较敏感,但在许多情况下仍有效。此外,针对不同任务特性,研究人员还提出了其他目标函数,如序列生成任务中的序列交叉熵损失函数和强化学习中的策略梯度目标函数等。这些目标函数为不同任务和数据特点提供了更大的灵活性和选择性,使得卷积神经网络能够更好地训练和优化性能。273.2.7目标函数典型卷积神经网络328LeNet-5是由YannLeCun等人于1998年提出的早期卷积神经网络模型,广泛用于手写数字识别任务(如MNIST数据集)。它引入了卷积层和池化层,通过卷积核提取局部特征,并利用池化层降低特征图尺寸以增强模型鲁棒性。LeNet-5使用Sigmoid激活函数引入非线性,能够学习复杂的图像特征。它在MNIST数据集上取得了优异性能,为深度学习在计算机视觉领域的发展奠定了基础,并激励了后续更复杂CNN模型的出现。3.3.1LeNet-5图

3-6LeNet-5

架构图292012年,GeoffHinton及其学生AlexKrizhevsky和IlyaSutskever在多伦多大学设计了AlexNet,这是一个深层卷积神经网络。它在2012年ImageNetLSVRC竞赛中夺冠,top5错误率仅为15.3%,远低于第二名的26.2%。AlexNet的网络结构包含五个卷积层和三个全连接层,分为上下两个相同的分支,分别在两个GPU上并行训练,并在第三卷积层和全连接层交互信息。它解决了图像分类问题,输入为1000类图像中的一个,输出为1000维向量,表示输入图像属于各分类的概率。AlexNet的成功奠定了CNN在图像识别领域的核心地位,推动了深度学习的发展。3.3.2AlexNet30

与之前的CNN结构相比,AlexNet的设计和训练具有以下特点:ReLU激活函数:使用ReLU代替传统的sigmoid或tanh,加快训练速度,减少梯度弥散和爆炸。数据扩充:通过随机裁剪、平移和翻转扩充数据量。从256×256图像中截取224×224区域及水平翻转镜像,增加数据量。Dropout:在训练中随机丢弃神经元,防止过拟合。主要应用于最后三个全连接层。多GPU训练:使用多块GPU并行计算,突破单GPU显存限制,加快训练速度。局部响应归一化(LRN):借鉴“侧抑制”思想,对ReLU输出进行局部归一化,增强泛化能力。313.3.2AlexNetVGG是由牛津大学VGG组提出的CNN网络,基于AlexNet加深了网络层次,采用多个3×3卷积核代替AlexNet中的大卷积核(11×11、5×5),在ImageNet上Top-5准确率达到92.3%,是2014年竞赛中定位任务的第一名和分类任务的第二名基础网络。VGG使用更小的卷积核和池化核,使网络更深更宽,计算量增加放缓。测试阶段,VGG将全连接层替换为卷积层,可接收任意尺寸输入。VGG的预训练模型广泛应用于特征提取、物体候选框生成、细粒度图像定位与检索及图像协同定位等任务。3.3.3VGGNet图

3-7VGG网络结构32GoogleNet和VGG是2014年ImageNet竞赛中的两个著名网络,都具有较深的层次。与VGG不同,GoogleNet大胆创新,未继承AlexNet框架。GoogleNet通过结构设计增加深度和宽度,同时避免了过拟合、梯度消失等问题,且模型大小远小于AlexNet和VGG。GoogleNet采用22层网络,通过在不同深度处增加两个辅助损失(loss)来避免梯度消失。其创新点在于Inception模块,这是一种“网中网”结构,既增加了网络宽度,又提升了对不同尺度的适应性。为了避免特征图(featuremap)过厚,Inception模块在3×3卷积、5×5卷积和最大池化层后分别加入1×1卷积核以降低特征图厚度。这使得GoogleNet在拥有22层的同时,参数量少于AlexNet和VGG。3.3.4GoogLeNet图

3-8Inception模块结构33在早期研究中,CNN网络从AlexNet的7层发展到VGG的16或19层,再到GoogleNet的22层,深度不断增加以提升表达能力。然而,后续研究发现,当网络深度达到一定程度后,继续增加层数不仅无法提升性能,反而会导致网络收敛变慢、准确率下降,例如VGG网络在19层以上时性能开始下降。在此背景下,华人学者何恺明等人提出了ResNet网络,引入残差学习的概念,解决了深层网络中的信息丢失和梯度问题,并在ILSVRC2015竞赛中夺冠,top5错误率仅为3.57%,且参数量少于VGG。ResNet的核心思想是增加直连通道,允许原始输入信息直接传递到后面的层中,简化了学习目标,提升了训练速度和准确率,且具有良好的推广性,可应用于InceptionNet等网络。3.3.5ResNet图

3-9ResNet模块结构341、R-CNN系列模型工作原理35候选区域提取:使用SelectiveSearch等传统图像分割方法生成可能包含目标的候选区域,这些区域数量多且形状、大小各异。特征提取:将每个候选区域调整为固定大小,通过预训练的CNN(如AlexNet、VGG)提取特征,这些网络在大规模图像分类任务上训练,能有效捕获图像特征。目标分类:将提取的特征输入SVM分类器,将候选区域分为不同目标类别(如汽车、行人、动物等),每个类别对应一个SVM。目标定位:使用回归器微调候选区域的边界框,以更准确地匹配目标的实际位置。非极大值抑制(NMS):排除重叠的候选区域,保留最佳检测结果,确保每个目标只被保留一次。训练过程:两阶段训练,先预训练CNN,再训练SVM分类器和回归器以适应目标检测任务。3.3.6R-CNN系列2、FastR-CNN网络的工作原理36候选区域提取:引入RegionProposalNetworks(RPNs)生成候选区域,与特征提取共享卷积计算,提高速度。特征提取:对整张图像进行卷积计算,得到特征图。使用RoIPooling层从特征图中提取每个候选区域的固定大小特征向量,确保特征表示维度一致。目标分类与边界框回归:将特征向量输入两个全连接层:一个用于目标分类,通过Softmax输出类别概率。一个用于边界框回归,预测目标的精确位置。3.3.6R-CNN系列2、FastR-CNN网络的工作原理37多任务损失函数:同时优化分类和边界框回归:分类损失使用交叉熵。边界框回归损失使用SmoothL1Loss。训练过程:端到端训练:微调预训练的卷积神经网络。在目标检测数据集上优化网络参数。测试过程:前向传播生成候选区域并提取特征。使用分类器进行目标分类,应用边界框回归优化目标位置。3.3.6R-CNN系列定义:“YOLO”代表“YouOnlyLookOnce”,是一系列用于实时目标检测的深度学习模型。特点:通过单次前向传递同时预测图像中的多个物体边界框和类别,兼顾速度和准确性。3.3.7Yolo系列38YOLO简介YOLOv1YOLOv10YOLOv3YOLOv2发布时间:2015年,由JosephRedmon等人提出。架构:将输入图像划分为S×S网格,每个网格预测B个边界框、置信度和类别概率。输出:网络输出为S×S×(B×5+C)的张量,其中C为类别数量。训练:使用均方误差和交叉熵损失函数,结合非极大值抑制(NMS)去除重复检测。发布时间:2016年。改进:引入Darknet-19和Darknet-53网络结构。

使用锚点框(anchorboxes)提高边界框预测准确性。

实现多尺度训练和预测,联合训练目标检测和分类任务。发布时间:2018年。改进:使用Darknet-53网络结构。引入多尺度预测和特征融合,使用三种不同尺度的边界框预测不同大小的目标。使用1×1卷积层进行类别预测,提升速度和准确性。发布时间:2024年,由清华大学发布。改进:取消非最大抑制(NMS),引入一致双重赋值策略。

优化模型架构,降低计算成本。

在各种模型规模上表现出色,如YOLOv10-S在COCO数据集上实现快速高效的目标检测。393.3.7Yolo系列MobileNet是一种轻量级CNN架构,专为移动设备和嵌入式系统设计,以实现高效的图像识别任务。它由谷歌研究人员于2017年提出,成为深度学习领域中受欢迎的轻量级模型之一。MobileNet的核心是深度可分离卷积,它将传统卷积分解为两个独立步骤:深度卷积和逐点卷积。深度卷积对每个输入通道单独进行卷积操作,而逐点卷积使用1×1卷积核将深度卷积的结果映射到最终输出通道数上,实现通道间的信息交互和混合。此外,MobileNet引入了宽度乘法参数(WidthMultiplier),用于控制网络宽度,减少通道数和模型计算量。该参数介于0和1之间,例如0.5表示将通道数减少为原来的一半。通过深度可分离卷积和宽度乘法参数的结合,MobileNet在资源受限的设备上实现了高效的图像识别任务,成为移动端和嵌入式设备上广泛使用的轻量级深度学习模型。3.3.8MobileNet图

3-12深度卷积(左)逐点卷积(右)Conformer是一种结合卷积神经网络(CNN)和Transformer架构的混合网络,融合了卷积操作和自注意力机制,以提升表示学习能力。它采用并行结构,同时保留局部特征和全局信息。实验表明,Conformer在ImageNet上的性能比视觉Transformer高出2.3%,在MSCOCO上的目标检测和实例分割任务中,分别比ResNet-101高出3.7%和3.6%的mAP,展现出作为通用骨干网络的强大潜力。3.3.9Conformer图

3-13

Conformer效果对比各种卷积442如图3-14所示,单通道图像的2D卷积通过滤波器与输入数据逐元素相乘并累加,得到卷积值。例如,使用一个3×3的滤波器(元素为[[0,1,2],[2,2,0],[0,1,2]]),在输入数据上滑动,每次计算对应位置的乘法和加法,最终输出一个3×3的矩阵。在多通道输入(如RGB图像)中,2D卷积广泛应用。例如,对于一个5×5×3的输入矩阵和一个3×3×3的滤波器,每个3×3的滤波器核分别对输入的三个通道进行卷积,得到三个3×3的输出通道。3.4.12D卷积图

3-14

2D卷积,单通道(上)多通道(下)43在多通道情况下,2D卷积实际上是一个3D卷积过程,因为滤波器的深度与输入层深度匹配,滤波器仅在图像的二维空间(高度和宽度)上滑动,输出单通道结果。而3D卷积中,滤波器深度小于输入层深度,需要在三个维度(长、宽、高)上滑动,输出结果为3D结构。3D卷积的优势在于能更好地描述3D空间中的对象关系,适用于3D对象分割和医学图像重构等场景。3.4.23D卷积图

3-15

3D卷积示意图441×1卷积不仅对特征图中的每个值进行缩放,还通过激活层实现非线性映射,并能灵活改变特征图的通道数。例如,对一个H×W×D的输入层应用D维的1×1卷积核,输出通道维度变为H×W×1。多次执行1×1卷积并将结果合并,最终可得到H×W×N的输出层。3.4.31×1卷积图

3-16

1×1卷积示意图45在可分离卷积中,卷积核操作可以分解为多个步骤。卷积过程用表达式y=conv(x,k)表示,其中y是输出图像,x是输入图像,k是卷积核。如果卷积核k可以表示为k=k1∙k2,那么卷积操作就可以分解为两个一维卷积,从而实现可分离卷积,得到与二维卷积相同的结果。例如,Sobel卷积核可以通过向量[1,0,−1]和[1,2,1]T的乘积来实现,参数数量从9个减少到6个。3.4.4空间可分离卷积图

3-17

空间可分离卷积运算示意图46使用32个3×3的卷积核遍历16个输入通道,产生512个特征映射(16×32),然后将每个输入通道的特征映射相加,形成32个输出通道。参数总量为4608(16×32×3×3)。传统卷积:深度卷积:对每个输入通道分别应用3×3卷积核,得到16个特征映射。逐通道卷积:对这16个特征映射分别应用32个1×1卷积核,最终合并结果。参数总量减少为656(16×3×3+16×32×1×1)。深度可分离卷积:473.4.5深度可分离卷积深度可分离卷积将标准卷积分解为空间卷积和逐通道卷积两步,显著减少参数数量。以一个3×3卷积层为例,输入通道为16,输出通道为32:假设输入层大小为7×7×3,使用3×3×3的卷积核进行2D卷积,输出层大小为5×5×1。若使用128个卷积核,则得到128个5×5×1的输出映射,堆叠后形成5×5×128的输出层。标准2D卷积回顾:深度卷积:使用3个3×3×1的卷积核分别对每个输入通道进行卷积,得到5×5×3的中间输出。逐通道卷积:对中间输出应用1×1卷积核,增加通道

温馨提示

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

评论

0/150

提交评论