《计算机视觉》课件-计算机视觉课件1210v1-5_第1页
《计算机视觉》课件-计算机视觉课件1210v1-5_第2页
《计算机视觉》课件-计算机视觉课件1210v1-5_第3页
《计算机视觉》课件-计算机视觉课件1210v1-5_第4页
《计算机视觉》课件-计算机视觉课件1210v1-5_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

计算机视觉ComputerVision第五章·物体分类与识别目录背景介绍Contents1章节概述2小节介绍3本章总结4背景介绍BACKGROUNDEveryimagetellsastory.Computervisiondevelopstheoriesandmethodstoallowcomputerstoextractrelevantinformationfromdigitalimagesorvideos.ONESWQT输入图像图像特征提取分类器输出类别概率分布图像分类基本流程人工设计的图像描述符,如HOG,SIFTSVM,决策树等图像特征的设计难度很大,准确率提升难度大传统机器学习方法图像特征分类器缺点图像分类方法深度卷积神经网络全连接神经网络(多层感知机)参数量大,学习能力强,但容易过拟合,需要大量计算资源,在大规模数据集和强大的GPU的支持下效率远高于传统机器学习方法深度学习方法图像特征分类器特点图像分类方法章节概述CHAPTEROVERVIEWEveryimagetellsastory.Computervisiondevelopstheoriesandmethodstoallowcomputerstoextractrelevantinformationfromdigitalimagesorvideos.TWO章节概述本章将介绍深度学习复兴以来的经典的深度卷积神经网络,包括DCNN的开山之作AlexNet、深度更深而结构优雅的VGG网络、性能优良的GoogLeNet,以及大大提高网络深度的ResNet,并针对这些网络的创新点、改进思路等逐一做分析。在最后对迁移学习做简要的介绍,从中了解使用迁移学习进行图像分类的两种常用策略。小节介绍SECTIONINTRODUCTIONEveryimagetellsastory.Computervisiondevelopstheoriesandmethodstoallowcomputerstoextractrelevantinformationfromdigitalimagesorvideos.THREE5.1从AlexNet到GoogLeNetAlexNet、VGGNet和GoogLeNet是早期深度卷积神经网络的典型代表,相较于更早之前的浅层网络,它们的网络深度有了相当大的提高,同时也针对网络加深带来的一系列问题,提出了一系列改进、优化的方法,奠定了深度学习的基础。010203深度学习里程碑AlexNet大大提高了网络深度VGGNet增加网络深度的同时降低了模型复杂度GoogLeNetAlexNet2006年深度学习复兴以来,卷积神经网络应用到了许多任务中,包括图像分类和识别、人脸检测和语义分割等,同时也在场景解析、无人驾驶和手势识别中有很不错的应用。尽管如此,早期深度学习仍然不是计算机视觉和机器学习的主流,直到2012年ILSVRC上,AlexKrizhevsky等人的全监督的深度卷积神经网络模型打破了分类任务的准确度记录,以高出第二名10%的性能取得了冠军,Alex将它起名为AlexNet。AlexNet是计算机视觉领域的革命性成果,从此深度卷积神经网络成为大多数视觉任务的主导的结构。AlexNet的创新点Relu激活函数局部响应归一化重叠池化(Overlappooling)Relu激活函数与使用传统的sigmoid或者tanh作为激活函数不同,AlexNet使用Relu作为激活函数,大大加快了训练速度。sigmoid或者tanh这两种函数最大的缺点就是其饱和性,当输入的x过大或过小时,函数的输出会非常接近+1与-1,在这里斜率会非常小,那么在训练时应用梯度下降时,其饱和性会使梯度非常小,严重降低了网络的训练速度。而ReLU的函数表达式为max(0,x),当x>0时输出为x,斜率恒为1,在实际使用时,神经网络的收敛速度要快过传统的激活函数数十倍。对于一个四层的神经网络,利用CIFAR-10数据集进行训练,使用ReLU函数达到25%错误率需要的迭代数是tanh函数所需迭代数的六分之一。而对于大型的数据集,使用更深的神经网络,ReLU对训练的加速更为明显。局部响应归一化受到局部对比归一化的启发,AlexNet使用了局部响应归一化(LocalResponseNormalization)。在使用饱和型的激活函数时,通常需要对输入进行归一化处理,以利用激活函数在0附近的线性特性与非线性特性,并避免饱和,但对于ReLU函数,不需要输入归一化。然而,Alex等人发现通过LRN这种归一化方式可以帮助提高网络的泛化性能。LRN的作用就是,对位置(x,y)处的像素计算其与几个相邻的kernelmaps的像素值的和,并除以这个和来归一化。kernelmaps的顺序可以是任意的,在训练开始前确定顺序即可。在AlexNet中,LRN层位于ReLU之后。在论文中,Alex指出应用LRN后top-1与top-5错误率分别提升了1.4%与1.2%。重叠池化(Overlappooling)通过overlappingpooling(池化的大小大于步进),Alexnet进一步降低了分类误差。作者提到,使用这种池化可以一定程度上减小过拟合现象。AlexNet的总体结构AlexNet包括由5个卷积层组成的特征特征提取网络和3个全连接层组成的分类器数据增强DropoutAlexNet整个网络一共有六千万个参数,很容易产生过拟合的现象。对抗过拟合数据增强1.随机裁剪和水平翻转对原始的256x256大小的图片随机裁剪为224x224大小,并进行随机翻转,这两种操作相当于把训练集扩大了32x32x2=2048倍。在测试时,AlexNet把输入图片与其水平翻转在四个角处与正中心共五个地方各裁剪下224x224大小的子图,即共裁剪出10个子图,均送入AlexNet中,并把10个softmax输出求平均。如果没有这些操作,AlexNet将出现严重的过拟合,使网络的深度不能达到这么深。2.主成分分析AlexNet对RGB通道使用了PCA(主成分分析),对每个训练图片的每个像素,提取出RGB三个通道的特征向量与特征值,对每个特征值乘以一个α,α是一个均值0.1方差服从高斯分布的随机变量。Dropout对每个神经元设置一个被保留的概率keep_prob,如果神经元没被保留,那么这个神经元的输出将被设置为0,在梯度反向传播时,传播到该神经元的值也为0,因此可以认为神经网络中不存在这个神经元;而在下次迭代中,所有神经元将会根据keep_prob被重新随机dropout。相当于每次迭代,神经网络的拓扑结构都会有所不同,这就会迫使神经网络不会过度依赖某几个神经元或者说某些特征,因此,神经元会被迫去学习更具有鲁棒性的特征。在AlexNet中,在训练时,每层的keep_prob被设置为0.5,而在测试时,所有的keep_prob都为1.0,也即关闭dropout,并把所有神经元的输出均乘以0.5,保证训练时和测试时输出的均值接近。AlexNet小结本节介绍了AlexNet的主要创新点,包括使用Relu激活函数替代sigmoid函数加快训练速度、使用LRN增强网络泛化能力、使用overlappooling的技巧等,展示了AlexNet的网络结构,以及讲述了AlexNet作者在对抗过拟合过程中所采用的数据增强和dropout。AlexNet之后,深度卷积神经网络主宰了几乎所有的图形分类的比赛。为了理解卷积神经网络强大而神秘的特征提取能力,也为了能更进一步地改进网络的性能,2014年Zeiler等人提出使用反卷积网络来可视化卷积神经网络隐藏层学习到的特征。利用可视化技术,改进卷积神经网络有了相对明朗的方向,因此在ILSVRC2013上,很多参赛的模型,无论是在准确度还是泛化能力上都超过了AlexNetVGGNet2014年,牛津大学计算机视觉组(VisualGeometryGroup)和GoogleDeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet,也是同年提出的)和定位项目的第一名。VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的泛化性也非常好。到目前为止,VGG仍然常常被用来提取图像特征。VGG的特点1.结构简洁VGG由5层卷积层、3层全连接层、softmax输出层构成,层与层之间使用max-pooling(最大化池)分开,所有隐层的激活单元都采用ReLU函数。

VGG的特点2.小卷积核和多卷积子层VGG使用多个较小卷积核(3x3)的卷积层代替一个卷积核较大的卷积层,一方面可以减少参数,另一方面相当于进行了更多的非线性映射,可以增加网络的拟合/表达能力。小卷积核是VGG的一个重要特点,虽然VGG是在模仿AlexNet的网络结构,但没有采用AlexNet中比较大的卷积核尺寸(如7x7),而是通过降低卷积核的大小(3x3),增加卷积子层数来达到同样的性能。VGG的作者认为两个3x3的卷积堆叠获得的感受野大小,相当一个5x5的卷积;而3个3x3卷积的堆叠获取到的感受野相当于一个7x7的卷积。这样可以增加非线性映射,也能很好地减少参数(例如7x7的参数为49个,而3个3x3的参数为27个)。

VGG的特点3.小池化核相比AlexNet的3x3的池化核,VGG全部采用2x2的池化核。4.通道数多VGG网络第一层的通道数为64,后面每层都进行了翻倍,最多到512个通道,通道数的增加,使得更多的信息可以被提取出来。5.层数更深、特征图更宽由于卷积核专注于扩大通道数、池化专注于缩小宽和高,使得模型架构上更深更宽的同时,控制了计算量的增加规模。

VGG的特点6.全连接转卷积(测试阶段)这也是VGG的一个特点,在网络测试阶段将训练阶段的三个全连接替换为三个卷积,使得测试得到的全卷积网络因为没有全连接的限制,因而可以接收任意宽或高维的输入,这在测试阶段很重要。

VGG的网络结构VGG使用了A、A-LRN、B、C、D、E这6种网络结构进行测试。这6种网络结构相似,都是由5层卷积层、3层全连接层组成。其中区别在于每个卷积层的子层数量不同,从A至E依次增加(子层数量从1到4),总的网络深度从11层到19层(添加的层以粗体显示)。表格中的卷积层参数表示为“conv<感受野大小>-通道数⟩”,例如con3-128,表示使用3x3的卷积核,通道数为128。为了简洁起见,在表格中不显示ReLU激活功能。

VGG16预测过程1、输入224x224x3的图片,经64个3x3的卷积核作两次卷积+ReLU,卷积后的尺寸变为224x224x64;2、作maxpooling(最大化池化),池化单元尺寸为2x2(效果为图像尺寸减半),池化后的尺寸变为112x112x64;3、经128个3x3的卷积核作两次卷积+ReLU,尺寸变为112x112x128;4、作2x2的maxpooling池化,尺寸变为56x56x128;5、经256个3x3的卷积核作三次卷积+ReLU,尺寸变为56x56x256;6、作2x2的maxpooling池化,尺寸变为28x28x256;7、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为28x28x512;8、作2x2的maxpooling池化,尺寸变为14x14x512;9、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为14x14x512;10、作2x2的maxpooling池化,尺寸变为7x7x512;11、与两层1x1x4096,一层1x1x1000进行全连接+ReLU(共三层);12、通过softmax输出1000个预测结果。

VGG网络参数量A、A-LRN、B、C、D、E这6种网络结构的深度虽然从11层增加至19层,但参数量变化不大。这是由于基本上都是采用了小卷积核(3x3,只有9个参数),这6种结构的参数数量(百万级)并未发生太大变化,这是因为在网络中,参数主要集中在全连接层。VGG网络参数数量(单位:百万)VGG网络评估结果VGG作者对A、A-LRN、B、C、D、E这6种网络结构进行单尺度的评估,结果如表所示。VGG网络评估结果。S和Q表示输入图像的尺寸。VGG网络评估结果1、LRN层无性能增益(A-LRN)VGG作者通过网络A-LRN发现,AlexNet曾经用到的LRN层(localresponsenormalization,局部响应归一化)并没有带来性能的提升,因此在其它组的网络中均没再出现LRN层。2、随着深度增加,分类性能逐渐提高(A、B、C、D、E)从11层的A到19层的E,网络深度增加对top1和top5的错误率下降很明显。3、多个小卷积核比单个大卷积核性能好(B)VGG作者做了实验用B和自己一个不在实验组里的较浅网络比较,较浅网络用conv5x5来代替B的两个conv3x3,结果显示多个小卷积核比单个大卷积核效果要好。VGGNet小结本节讲解了VGG网络的特点,展示了VGG网络的总体结构,深入解析VGG16的图像处理过程并展示了VGG网络在验证集上的评估结果。关于VGG的几个关键点总结如下:1、通过增加深度能有效地提升性能;2、最佳模型:VGG16,从头到尾只有3x3卷积与2x2池化,简洁优美;3、卷积可代替全连接,可适应各种尺寸的图片。GoogLeNet2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名、VGG获得了第二名,这两类模型结构的共同特点是层次更深了。VGG继承了LeNet以及AlexNet的一些框架结构,而GoogLeNet则做了更加大胆的网络结构尝试,虽然深度只有22层,但大小却比AlexNet和VGG小很多,GoogleNet参数为500万个,AlexNet参数个数是GoogleNet的12倍,VGGNet参数又是AlexNet的3倍,因此在内存或计算资源有限时,GoogleNet是比较好的选择;从模型结果来看,GoogLeNet的性能却更加优越。Inception的提出一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,深度指网络层次数量、宽度指神经元数量。但这种方式存在以下问题:(1)参数太多,如果训练数据集有限,很容易产生过拟合;(2)网络越大、参数越多,计算复杂度越大,难以应用;(3)网络越深,容易出现梯度弥散问题(梯度越往后穿越容易消失),难以优化模型。所以,有人调侃“深度学习”其实是“深度调参”。解决这些问题的方法当然就是在增加网络深度和宽度的同时减少参数,为了减少参数,自然就想到将全连接变成稀疏连接。但是在实现上,全连接变成稀疏连接后实际计算量并不会有质的提升,因为大部分硬件是针对密集矩阵计算优化的,稀疏矩阵虽然数据量少,但是计算所消耗的时间却很难减少。那么,有没有一种方法既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。大量的文献表明可以将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能,就如人类的大脑是可以看做是神经元的重复堆积,因此,GoogLeNet团队提出了Inception网络结构,就是构造一种“基础神经元”结构,来搭建一个稀疏性、高计算性能的网络结构。Inception

v1通过设计一个稀疏网络结构,但是能够产生稠密的数据,既能增加神经网络表现,又能保证计算资源的使用效率。谷歌提出了最原始Inception的基本结构。Inception原始结构将CNN中常用的卷积(1x1,3x3,5x5)、池化操作(3x3-s1)堆叠在一起(卷积、池化后的尺寸相同,将通道拼接起来),一方面增加了网络的宽度,另一方面也增加了网络对尺度的适应性。Inception

v1Inception原始版本,所有的卷积核都在上一层的所有输出上来做,拼接以后特征图的厚度很大,同时那个5x5的卷积核所需的计算量太大了。为了避免这种情况,在3x3前、5x5前、maxpooling后分别加上了1x1的卷积核,以起到了降低特征图厚度(降维)的作用,这也就形成了Inceptionv1的网络结构。Inception

v11x1卷积的主要目的是为了减少维度。比如,上一层的输出为100x100x128,经过具有256个通道的5x5卷积层之后(stride=1,pad=2),输出数据为100x100x256,其中,卷积层的参数为128x5x5x256=819200。而假如上一层输出先经过具有32个通道的1x1卷积层,再经过具有256个输出的5x5卷积层,那么输出数据仍为为100x100x256,但卷积参数量已经减少为128x1x1x32+32x5x5x256=204800,大约减少了4倍。GoogLeNet详解GoogLeNet网络结构图。“depth”表示卷积层的深度,而不是卷积核的深度,如第一个卷积层深度为1,maxpool深度为0,Inception深度为2;“#3x3reduce”,“#5x5reduce”表示在3x3,5x5卷积操作之前使用的1x1卷积的卷积核数,“poolproj”表示Inception模块中maxpooling之后的1x1卷积的卷积核数。GoogLeNet实验结果Top5差错率表示预测的前5大可能性的类别都不正确的比例。“Usesexternaldata”表示是否使用其他的训练数据Inception

v2GoogLeNet凭借其优秀的表现,得到了很多研究人员的学习和使用,因此GoogLeNet团队又对其进行了进一步地发掘改进,产生了升级版本的GoogLeNet。GoogLeNet设计的初衷就是要又准又快,而如果只是单纯的堆叠网络虽然可以提高准确率,但是会导致计算效率有明显的下降,所以如何在不增加过多计算量的同时提高网络的表达能力就成为了一个问题。InceptionV2版本的解决方案就是修改Inception的内部计算逻辑,提出了比较特殊的“卷积”计算结构。Inception

v21、卷积分解(FactorizingConvolutions)大尺寸的卷积核可以带来更大的感受野,但也意味着会产生更多的参数,比如5x5卷积核的参数有25个,3x3卷积核的参数有9个,前者是后者的25/9=2.78倍。因此,GoogLeNet团队提出可以用2个连续的3x3卷积层组成的小网络来代替单个的5x5卷积层,即在保持感受野范围的同时又减少了参数量。大量实验表明,这种替代方案并不会造成表达缺失。可以看出,大卷积核完全可以由一系列的3x3卷积核来替代。Inception

v22、改进降低特征图大小的方式一般情况下,如果想让图像缩小,有两种方式。先池化再作Inception卷积,或者先作Inception卷积再作池化。前者会导致特征表示遇到瓶颈(特征缺失),后者是正常的缩小,但计算量很大。Inception

v22、降低特征图大小为了同时保持特征表示且降低计算量,使用两个并行化的模块(卷积、池化并行执行,再进行合并)。左图为Inceptionv2的结构图,并行地使用了步长为2的卷积、池化操作;右图为featuremap通过Inceptionv2的演化图。Inception

v23.BatchNormalizationInceptionv2的一大亮点是加入了BN层,减少了InternalCovariateShift(内部neuron的数据分布发生变化),使每一层的输出都规范化到一个N(0,1)的高斯,从而增加了模型的鲁棒性,可以以更大的学习速率训练,收敛更快,初始化操作更加随意,同时作为一种正则化技术,可以减少dropout层的使用。Inception

v2实验结果Inceptionv2相比于GoogLeNet有较大提升。Top-1Error指预测的置信度最高的类别不是正确的类别的比例,Top-5Error指预测的置信度最高的前5个类别中都不是正确的类别的比例。GoogLeNet小结本节介绍了GoogLeNet的Inception模块的提出,初衷是想通过稀疏的参数得到稠密的数据,因此使用了并行的卷积和池化操作;介绍了Inception的演进,使用1x1卷积降维降少参数的Inceptionv1,使用进行卷积分解、并行池化,并加入BN层的Inceptionv2小结从AlexNet到更深的VGG、GoogLeNet,深度卷积神经网络在图像分类领域大显身手,在准确率上已经完全压制传统机器学习方法,并且随着研究者对DCNNs的更加深入的理解,卷积神经网络在结构上得到了一步步的优化,其存在的问题也在一点点得到解决,因此卷积神经网络的图像分类的能力还在日益增强。5.2深度残差网络ResNetResNet是深度学习历史上具有里程碑意义的一个深度卷积神经网络模型,它突破了深度神经网络的深度限制,使神经网络的学习能力得到了大幅度的提高。本节将首先讨论普通深度神经网络结构在加大深度的情况下出现的问题,并深入分析这个问题出现的原因,之后再分析ResNet是如何解决这个问题的,最后展示ResNet的分类效果。平原网络的深度限制深度学习的非常显著的特点是“深”,通过很深层次的网络实现准确率非常高的图像识别、语音识别等能力。因此,直观上来看:深层网络一般会比浅层网络效果好,如果要进一步地提升模型的准确率,最直接的方法就是把网络设计得越深越好,这样模型的准确率也就会越来越准确。但事实上并不是这么简单的。平原网络的深度限制通过实验可以发现:随着网络层级的不断增加,模型精度不断得到提升,而当网络层级增加到一定的数目以后,训练精度和测试精度迅速下降,这说明当网络变得很深以后,深度网络就变得更加难以训练了。ResNet的提出如何又能加深网络层数、又能解决梯度消失问题、又能提升模型精度呢?深度残差网络就是为了解决这个问题而诞生的。在不断加神经网络的深度时,模型准确率会先上升然后达到饱和,再持续增加深度时则会导致准确率下降。那么作这样一个假设:现有一个比较浅的网络(ShallowNet)已达到了饱和的准确率,这时在它后面再加上几个恒等映射层(Identitymapping,也即y=x,输出等于输入),这样就增加了网络的深度,并且起码误差不会增加,也即更深的网络不应该带来训练集上误差的上升。而这里提到的使用恒等映射直接将前一层输出传到后面的思想,便是著名深度残差网络ResNet的灵感来源。ResNet的提出ResNet引入了残差网络结构(residualnetwork),通过这种残差网络结构,可以把网络层的深度提高很多(目前可以达到1000多层),并且最终的分类效果也非常好。残差网络的基本结构。加入恒等映射使输入直接传递到输出,在保留已有的输入的情况下,神经网络进行额外的残差学习。残差学习突破深度限制当深度神经网络接近饱和时,接下来的网络层的学习目标就转变为近似恒等映射的学习,也就是使输入x近似于输出H(x),以保持在后面的层次中不会出现精度下降。在残差网络结构中,通过“shortcutconnections(捷径连接)”的方式,直接把输入x传到输出作为初始结果,输出结果为H(x)=F(x)+x。当F(x)=0时,H(x)=x,也就是上面所提到的恒等映射。于是,ResNet相当于将学习目标改变了,不再是学习一个完整的输出,而是目标值H(X)和x的差值,也就是所谓的残差F(x):=H(x)-x,因此,后面的网络层是基于上一层初始结果进行微调,使得随着网络加深,准确率不下降。残差学习突破深度限制这种残差跳跃式的结构,打破了传统的神经网络n-1层的输出只能给n层作为输入的惯例,使某一层的输出可以直接跨过几层作为后面某一层的输入,其意义在于为叠加多层网络而使得整个学习模型的错误率不降反升的难题提供了新的方向。另一方面,通过恒等映射,浅层网络可以获得更大的梯度,这样可以有效地解决梯度消失的问题。这样,神经网络的层数可以超越之前的约束,达到几十层、上百层甚至千层,为高级语义特征提取和分类提供了可行性。不同结构的残差学习单元左图是两个3x3x256的卷积,参数数目:3x3x256x256x2=1179648,右图是第一个1x1的卷积把256维通道降到64维,然后在最后通过1x1卷积恢复,整体上用的参数数目:1x1x256x64+3x3x64x64+1x1x64x256=69632。右图的参数数量比左图减少了16.94倍,因此,右图的主要目的就是为了减少参数量,从而减少计算量。两种残差学习单元。左图为两层残差学习单元,用于ResNet34;右图为三层残差学习单元,使用1x1卷积减少参数,用于ResNet50/101/152。256256实验验证经检验,深度残差网络的确解决了退化问题。ResNet深层网络(34层)比浅层网络(18层)的误差率更低。残差网络不同深度的网络误差对比。小结本节讲述了平原网络在提高深度时出现的饱和、退化问题,介绍了ResNet的提出思路以及ResNet的主要结构,并展示实验结果证明ResNet成功解决了网络退化的问题。ResNet将网络深度一下子提高到了一百多层,在深度学习的历史上具有里程碑的意义。5.3迁移学习图像分类5.1和5.2节介绍了深度学习复兴以来出现的经典的深度卷积神经网络,包括AlexNet、VGG、GoogLeNet以及ResNet。使用这些深度神经网络模型可以进行图像分类和物品识别,但由于神经网络参数量巨大,从头训练这些模型需要大量的时间。本节将介绍迁移学习的概念,并介绍两种不同的迁移学习策略,以及如何选择合适的策略进行迁移学习。最后会从实验的角度展示不同的迁移学习策略对模型结果的影响,同时在这其中读者将了解到如何基于预训练的模型训练适用于新的数据集的模型。迁移学习图像分类策略总体而言,迁移学习有两种策略。一、微调(finetuning)使用基础数据集上预训练网络以及在目标数据集中以较小的学习率训练所有层;二、冻结与训练(freezeandtrain)冻结预训练网络前面几层并在目标数据集中训练其余层。迁移学习图像分类策略本节从实验角度分析两种常用的策略:微调所有层以及只训练最后一层。在ImageNet上使用了一个预训练的CNN,并将Simpsons数据集的子集HomerSimpson作为目标集,用该网络对其进行分类。这个子集包含20个类,每个类有300-1000个图像。右图展示了上述提到的两种迁移学习策略。使用冻结与训练,只训练最后一层(右图上方);或者微调所有层(右图下方)。迁移学习图像分类策略一般情况下很难知道在何种情况下应该只训练最后一层,在何种情况下应该微调网络。以下是在不同场景中对新数据集使用迁移学习的一些指导原则:小目标集,图像相似:当目标数据集与基础数据集相比较小,且图像相似时,建议采取冻结和训练,只训练最后一层。大目标集,图像相似:建议使用微调。小目标集,图像不同:建议采取冻结和训练

温馨提示

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

评论

0/150

提交评论