【《基于深度学习的细粒度图像检索研究发展文献综述》7300字】_第1页
【《基于深度学习的细粒度图像检索研究发展文献综述》7300字】_第2页
【《基于深度学习的细粒度图像检索研究发展文献综述》7300字】_第3页
【《基于深度学习的细粒度图像检索研究发展文献综述》7300字】_第4页
【《基于深度学习的细粒度图像检索研究发展文献综述》7300字】_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

基于深度学习的细粒度图像检索研究发展文献综述目录TOC\o"1-3"\h\u12647基于深度学习的细粒度图像检索研究发展文献综述 1240861.1梯度下降(gradientdescent) 125171.2反向传播算法(BP算法) 3111721.3基于CNN的方法简介 626562参考文献 14近十年来深度学习在计算机视觉上获得了显著的突破,使得人们的目光也着重于深度学习能否在其他相关方面做出成果,紧接着便把目光落到了图像检索上面。这里就要提到与深度学习迫切相关的机器学习。机器学习最早起源于1936年的线性判别分析,这是一种有监督的数据降维算法,通过线性变换将向量投射到低维空间中,保证同一类下的样本数据尽量相似而不同种类样本数据各不相同。之后另外一个著名的成果就是logistic回归(logisticregression),即便是现在的机器学习研究中也离不开有关logistics回归的讨论,而logistics回归更像一种最典型也是最基本的机器学习算法。1.1梯度下降(gradientdescent)梯度下降在机器学习和深度学习中应用十分的广泛,不论是在多元线性还是Logistic回归中,它的主要目的是通过该点,寻找下降最快的方向,来寻找一个收敛路线直到收敛到全局最小值或者局部最小值。梯度下降的方法虽然并不算复杂,但其梯度下降的思路在后续其他机器学习和深度学习中也可以参考和应用。梯度下降的思路来自于类似于从山的某一高度的位置进行下山操作。在两个参数的梯度下降则类似于显示的等高线模拟下山操作,而单参数的梯度下降则是在直角坐标系中的函数优化操作。本文用两个参数的梯度下降来举例,类似于一个人在山上意图进行下山操作,但是由于无法得知方向来了解到下山最快的方向路径,所以需要在四面八方的各个方向进行测试,其中一条路线则是通向下山最快的途径。所以人需要对四周进行测试,来寻找那个最“陡峭”的路线。确定到最优下山方向后进行一小段位移,然后再次进行方向测试寻找最“陡峭”的方向,确认后再次进行小段位移。之后则是不断重复这个过程,直到达到最低点无法再下降为止。在这个通俗表达中是使用下山这一操作来模拟的梯度下降,在代数中则是把这个可微分的函数当作“山”,把人的位置作为当前函数的所在值,函数在该点的微分则是下山过程中的“陡峭”程度,而我们最终寻找的梯度则是下山过程中最优路线。我们利用这个不断寻找各个点梯度的思路并更新函数的新的已知最小值最终得到局部最小值的过程就是梯度下降在双参数的表达。梯度下降的数学表达是:Θ1=Θ0+α▽J(Θ)→evaluatedatΘ0(1.1)在公式1.1中,J是关于Θ的一个函数,我们当前所处的位置为Θ0点,要从这个点走到J的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向,梯度和微分本身则是一个向量▽J(Θ)=⟨δΘ0​δJ​,δΘ1​δJ​⟩(1.2)δΘ0​δJ​=m1​∑i=1m​(hΘ​(x(i))−y(i)) (1.3)δΘ1​δJ​=m1​∑i=1m​(hΘ​(x(i))−y(i))x1(I)(1.4)​其中的α则是学习率,决定了在梯度下降过程中该点更新的速度,也就是前文所提到的步长。因而我们可以根据α控制单次更新的更新速率,即数值的变化速度,若α的数值过大,则可能因为在更新过程中直接越过最低点导致结果无法收敛,而α数值过小则会导致更新速率过慢降低了梯度下降的效率。梯度下降在处理线性数据中是一个很好的思路,但也有其局限性,例如无法顾及到全局最小值。因为我们所执行的函数不一定只有唯一的极小值,即最小值,可能会存在多个极小值,而梯度下降法会在局部最小值停止无法继续执行梯度下降。例如我们在下山过程中会遇到一个山麓盆地,但是如果按照梯度下降的方案,会在这个盆地,也就是局部最小值停止算法和数值更新。但是这并非我们期望的最小值,是简单的梯度下降算法无法解决的弊端。在1980年之前,大概有关的ML相关算法都是零碎化的,难以形成统一的理论体系,或者再某一个体系上进一步获得突破进展。除了上述提到的logistics回归和相关的梯度下降,还有1958年提出的感知器模型,仅仅是简单的作为人工神经网络的初号机。另外则是1967年出现的KNN算法,这是一种给予模板的匹配算法,直到现在仍然作为广泛了解和学习作为机器学习的入门基础。从1980年开始,机器学习成为了一个独立的热点研究方向,各种机器学习的策略层出不穷,为后面的研究奠定了坚实的基础。决策树的3种典型实现:ID3[9],CART[10],C4.5[11]是1980年代到1990年代初期的重要成果,虽然简单,但可解释性强,这使得决策树至今在一些问题上仍被使用。1986年出现的反向传播算法策略(Backpropagationalgorithm)是一个真正意义上可以用于多层神经网络训练的底层算法,在现在机器学习中仍然被广泛使用,配合前馈运算一起成为了训练神经网络的标准手段。1.2反向传播算法(BP算法)反向传播算法出自于Rumelhart、Hinton和Williams提出的一般Delta法则,本质上是一个梯度下降算法的变种,但是在网络中加入了隐层的存在,对神经网络的运算和训练利用这种简单的计算偏导数的算法来对权重计算损失函数的梯度,最终实现更新权值最小化函数。神经网络模型的学习算法一般是SGD(随机梯度下降)。SGD需要用到损失函数C关于各个权重参数wjk反向传播算法主要分为正向传播和反向传播的两个过程,它的主要思想是:(1)将训练集得到的数据结果传入到人工神经网络的输入层,利用隐藏层进行处理,最后再传入到输出层并得到最终结果,这是人工神经网络的正向传播;(2)由于人工神经网络的最终输出结果与实际数据有误差,则通过计算估计值与实际值之间的误差,并将该误差从获得最终结果的输出层向隐藏层进行反向传播,直至传播到输入层。在传播过程中会不断对隐藏层的参数进行更新和修正,每一轮样本数据的输入可以对神经网络进行一次训练和参数的更新,最终通过不断进行更新和训练使得样本数据与神经网络的预测数据达到误差极小的收敛。如果用一个多层的神经网络进行举例,则是首先将得到的样本向量化X后传入到第一层神经网络,各层网络的基本计算公式为: Z[L]=W[L]AA[L]=gL(在公式1.5和1.6中,此时假定网络使用的gL为激活函数,此处使用的是ReLU单元,同理还可以使用logistics函数和sigmoid函数作为激活函数。L是所处的网络层数,默认输入样本的层数即输入层的层数为0,样本数据均已向量化。W[L]为各神经网络层对应的各神经元的权重的矩阵,b[L]为该层神经网络的偏置,A[L−1]为上一层神经网络处理后得到的数据,图2-3一个多层神经网络的结构经过正向反馈的多层神经网络的计算后,最终会得到一个神经网络对样本预测的输出y,根据这个得到的预测输出,可以与实际样本的结果进行损失函数计算L(y,dZ[L]=ddw[L]=dz[L]db[L]=dzda[L−1]=w[L对各个式子进行向量化后方便计算的则是:dZ[L]=ddw[L]=dzdb[L]=1mppda[L−1]=w[L]⊺dz[本质上的运算法则则是通过得到的损失函数L(y,y)作为反向运算的开始,因为在正向运算中会得到w[L]1989年,LeCun[12]设计出了第一个真正意义上的CNN,这也是深度学习和深度神经网络的雏形。这个CNN主要用于手写阿拉伯的数字分类识别,也算是真正地开创了深度学习的先河。在此后的十年里,深度学习和深层人工神经网络的理论和技术得到了巨大的丰富和发展,但仍然还是有许多客观因素嵌制了深度学习的相关发展速度。其问题在于与SVM等机器学习算法的较量中处于下风。原因主要有:算法本身的问题,如梯度消失问题,导致深层网络难以训练。训练样本数的限制。计算能力的限制。直到2006年,情况才慢慢改观。之后则出现了许多著名的深度学习网络模型,下图则是近现代深度学习网络模型发展的时间轴。图2-4近代深度学习网络发展时间轴1.3基于CNN的方法简介近些年来,卷积神经网络这种深度学习网络模型在计算机视觉方面的研究领域获得了突飞猛进的发展,它的实验实际成果要远远优于人工设计视觉特征。基于CNN的图像检索模型网络可以用来提取图像特征向量,并使用欧氏距离或最近邻(ApproximateNearestNeighbor,ANN)查找算法进行图像检索检索。只是在卷积神经网络下的图像检索任务一般直接使用预训练好的CNN模型或自行进行略微修改和补正后的模型,应用于特定的图像检索和分类任务,而并非自己手动从零开始进行卷积神经网络模型的搭建和调配。这些方法的大部分操作仍然是将图像输入到网络中进行一次前馈运算来获取描述符。另外有关基于图像分块的方法则是将图像在网络中进行多次输入,类似于SIFT的模型方法。CNN区别于其他神经网络模型,它是一种含有大量卷积运算的人工神经网络,卷积神经网络在特定的任务需求中有更加突出的表现效果,尤其是在计算机视觉方面,例如图像分类、图像检索、目标图像切割、目标识别、目标跟踪等于计算机视觉息息相关的领域。图2-5AlexNet网络结构例如图中的AlexNet网络结构[4]、Inception结构、ResNetBlock网络结构,都是近代以来著名的深度学习网络模型。其中AlexNet是2012年ImageNet项目大规模识别挑战的项目领跑者,在比赛中取得了辉煌的成绩。其首次使用了ReLU单元作为卷积神经网络的激活函数,并在识别项目中的最后测试结果成功论证了ReLU单元作为激活函数在深层的卷积神经网络效果远远超越之前使用的Sigmoid,也顺带成功解决了Sigmoid乃至深层卷积神经网络在历年以来一直被困惑的梯度消失问题。AlexNet网络结构也开创性地使用了Dropout(随机失活),通过忽略一部分神经元,虽然也造成了一定的其他问题,但也成功一定程度上解决了过拟合(overfiting)这个困惑所有机器学习和深度学习多年的问题。AlexNet网络模型也提出了LRN层,对神经元之间提出了竞争机制,类似于池化层的最大池化效果,把对结果影响较小的神经元进行忽略,使对结果影响大的神经元的权重更大,从而增强了神经网络模型的泛化效果。AlexNet网络模型的另一个优势则是对数据处理样本量进行了增强,通过随机地从原始256×256的图像中随机截取224×224大小的区域(以及各种反转镜像等处理过的图像),相当于增加了2000倍的数据集。这个在当时并没有突出的公用数据集的情况下,通过人工策略的方式简单放大数据集,本身足够大的数据集在避免过拟合当中就可以是一个非常优秀的策略,这个扩大数据及的方式使得过拟合程度再次降低,再次提高了模型的泛化能力。卷积神经网络的基本网络结构包括输入层、卷积层、池化层、激活函数层、全连接层。输入层主要是对模型进行预处理操作,包括去均值、归一化、PCA/SVD降维等预处理方式。下图是关于去均值化和归一化的直观表达。图2-6AlexNet网络结构卷积层主要由多个过滤器构成,而过滤器是由多个卷积核构成。卷积核本身则是一个略微较小的矩阵,里面含有的参数构成了卷积核。多个卷积核构成的过滤器则可以与输入的向量矩阵进行卷积操作。通常过滤器是含有多个层,而过滤器的层数与输入矩阵的层数息息相关,例如第一层的卷积层的过滤核则是三层,因为卷积神经网络对图像进行处理时图像通常有三层颜色通道,在进行向量化后的图像本质是由三层构成的大型矩阵,因而三层的过滤层可以与图像最原始的矩阵进行卷积操作。卷积核的参数不同提取到的特征不同,一个卷积层可以有多个卷积核,低层的卷积层提取到的是边框、颜色等简单特征;中层提取到低层特征的集合;高层提取到图像的全局特征。卷积操作则是通过过滤器对图像的矩阵进行一个矩阵乘法的操作,例如:1、在图像的某个位置上覆盖卷积核;2、将卷积核与对应图像的区域进行一个矩阵乘法,也就是对应数值相乘;3、将所得到的的乘积进行相加操作,求和结果就是目标值;4、之后对卷积核进行移动直到最整个图像完成卷积操作。下图则是单层对3×3输入图像卷积操作的实例。图2-7卷积操作实例过滤器的卷积是多次对矩阵进行矩阵乘法,而卷积后的输出矩阵则是与卷积核的大小和移动步长有关。因为卷积操作需要覆盖该图像的所有位置,因而需要对卷积核在图像矩阵上进行移动,而每次移动的长度就是步长。根据步长、卷积核大小、图像矩阵大小、我们可以根据公式得到卷积后矩阵的维度:nw[L在公式1.15中,nw[L]为l层卷积后得到的输出矩阵的维度,pl为l层padding的填充规格,fl为卷积核窗口的维度,Padding是卷积过程中对原图像矩阵/输入矩阵的填充。Padding对于卷积层和过滤器来说是必要的,因为卷积的核心是对输入矩阵的简化信息提取,所以在卷积过程中是一个图像维度不断降低的过程,在多次卷积后图像会显著变小,对于深层的卷积神经网络来说会导致后续卷积难度加大或者无法卷积。另外的问题是由于卷积是一个信息提取的过程,在卷积过程中由于过滤器根据步长移动,会导致输入矩阵在一定程度上边缘信息无法被卷积,从而导致了信息丢失。而矩阵的中间部分会被卷积核多次卷积操作,导致该信息被提取过多。为了平衡这一卷积的弊端,一般会才去padding(填充)来对输入矩阵进行填充后再进行卷积操作。Padding的规格因需要卷积的矩阵而异,填充的信息也通常是0。至此则出现了两种卷积方式,第一种是valid卷积,指对输入矩阵不padding的卷积操作,第二种则是same卷积,这种是采取padding操作,使最终的输出矩阵的维度与输入矩阵保持一致。此时这种padding的规格是有严格的规定,可以根据公式1.16得到padding的规格:(N+2P-F+1)=N (1.16)在卷积层完成卷积操作后,我们可以得到一个输出矩阵,将这个输出矩阵用池化层进行池化(Pooling)操作。池化层本身类似于一个过滤器,池化则是一种简单的固定参数的卷积。通常来讲池化分为两种,一种是最大池化,是指在特征图中提取该过滤器的最大值然后投放到池特征图。另外一种则是平均池化,是在特征图中利用池化过滤器的参数进行取平均操作,然后投放到特征图。通过池化我们可以保留特征图中的关键特征,无视无关特征,并将矩阵的规格再一次缩小,减小了特征图的维度,为后续计算减轻了压力。同时这个操作也成功减少了模型需要训练的参数数量,降低了模型的复杂度,使得本身较为复杂的卷积神经网络模型稍微简单化,起到了稀疏模型的作用,加强模型的泛化能力。最后也根据池化引入了几个不同的特性,例如平行不变性、旋转不变性、和尺度不变性。下图给出的则是关于池化和不变性的直观表达。图2-8最大池化的平移不变性图2-9最大池化的旋转不变性图2-10最大池化的尺度不变性在经过一次卷积和池化操作后,我们需要对得到的特征图进行激活函数层的过滤。激活函数层主要是使用一定的激活函数对特征图做一次非线性的映射。由于在没有使用激活函数之前特征图进行的影射都是f(x)=x的单纯线性映射,这样会使得每一层之间的关系完全是线性关系,这样情况下的每一层输出都是上一层的线性函数。在这种线性关系下无论有多少中间层,输入和输出线性关系,会导致中间层的处理效果相当不明显,因而需要一个激活层来改变特征图之间的关系。而我们常用的激活函数是1、sigmoid它的表达式是公式1.17:(1.17)2、tanh它的数学表达式是公式1.18: (1.18)根据他们的数学表达式,我们可以粗略画出他们的函数图像:图2-11Sigmoid函数和tanh函数的图像3、ReLu其中现在经常使用的是ReLU激活单元,它的函数体是如下的:relux=x,&x>00,&x≤0 而ReLU的函数图像则是:图2-12ReLU的函数图像ReLU函数的优点在于他会增加前一层甚至是整个神经网络的非线性特征,同时为了保留特征图的信息,在对正值没有做任何的修改直接映射过去,在输入较大的情况下不会出现梯度消失的问题,也同时解决了神层神经网络面临的收敛满训练耗费长的难题。ReLU激活单元主要还是用在卷积神经网络的的隐层的激活函数,对于拥有冗余数据的特征图完全可以通过一个0矩阵来实现过滤。卷积神经网络反复迭代训练的过程,实际上相当于在不断试探如何用一个稀疏矩阵表达图像特征,因为数据的稀疏特性的存在,所以这种方法可以在提高训练速度的同时又保证模型的效果。经过多个中间隐层卷积层的处理过后,最后的则是全连接层。全连接层则是将经过处理后得到的多维特征图投放映射到一个低维的隐层特征空间,是将卷积神经网络学习到的分布式结构特征映射到标本空间的作用。下图是卷积后经过全连接层的直观体现图2-13全连接层参考文献[1]MUENSTEREROJ,LACHERM,ZOELLERC,etal.GoogleGlassinpediatricsurgery:anexploratorystudy[J].Internationaljournalofsurgery,2014,12(4):281–289.[2]KatoT.Databasearchitectureforcontent-basedimageretrieval[J].ProceedingsofSPIE-TheInternationalSocietyforOpticalEngineering,1992,1(1662):112-123.[3]WAHC,BRANSONS,WELINDERP,etal.Thecaltech-ucsdbirds-200-2011dataset[J].2011[4]KRIZHEVSKYA,SUTSKEVERI,HINTONGE.Imagenetclassificationwithdeepconvolutionalneuralnetworks[C]//Advancesinneuralinformationprocessingsystems.[S.l.]:[s.n.],2012:1097–1105.[5]XieL,WangJ,ZhangB,etal.Fine-grainedimagesearch[J].IEEETransactionsonMultimedia,2015,17(5):636-647.[6]LoweDG.Distinctiveimagefeaturesfromscale-invariantkeypoints[J].InternationalJournalofComputerVision,2004,60(2):91-110.[7]SivicJ,ZissermanA.VideoGoogle:Atextretrievalapproachtoobjectmatchinginvideos[C].IEEEInternationalConferenceonComputerVision,Nice,France,2003:1470-1477.[8]KrizhevskyA,SutskeverI,HintonGE.ImageNetclassificationwithdeepconvolutionalneuralnetworks[C].InternationalConferenceonNeuralInformationProcessingSystems,LakeTahoe,Nevada,USA,2012:1097-1105.[9]Rosenblatt,F.(1958)."ThePerceptron:AProbalisticModelForInformationStorageAndOrganizationInTheBrain".PsychologicalReview.65(6):386–408.[10]Quinlan,J.R.1986.InductionofDecisionTrees.Mach.Learn.1,1(Mar.1986),81–106[11]Breiman,L.,Friedman,J.Olshen,R.andStoneC.ClassificationandRegressionTrees,Wadsworth,1984.[12]Y.LeCun,B.Boser,J.S.Denker,D.Henderson,R.E.Howard,W.Hubbard,L.D.Jackel,BackpropagationAppliedtoHandwrittenZipCodeRecognition.1989.[13]JianlongFu,HeliangZheng,TaoMei.LookClosertoSeeBetter:RecurrentAttentionConvolutionalNeuralNetworkforFine-grainedImageRecognition[C]//2017IEEEConferenceonComputerVisionandPatternRecognition(CVPR).IEEE,2017.[14]3DObjectRepresentationsforFine-GrainedCategorizationJonathanKrause,MichaelStark,JiaDeng,LiFei-Fei4thIEEEWorkshopon3DRepresentationandRecognition,atICCV2013(3dRR-13).Sydney,Australia.Dec.8,2013.[15]YairMovshovitz-Attias,AlexanderToshev,ThomasKLeung,Sergey

温馨提示

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

评论

0/150

提交评论