一种深度学习全局优化方法、识别方法、装置及介质

文档序号:31586251发布日期:2022-09-21 01:57阅读:62来源:国知局
一种深度学习全局优化方法、识别方法、装置及介质

1.本发明涉及人工智能领域,尤其涉及一种深度学习全局优化方法、识别方法、装置及介质。


背景技术:

2.深度学习模型已经成为多种应用场景中必不可少的组成部分。训练一个深度学习模型需要大量的训练样本。在许多应用了深度学习技术的任务中,模型训练是由样本驱动的。即模型通过学习样本与样本之间的相似与差异,从而掌握相关的特征,具备实现任务目标的能力。样本多样性的大小决定着模型最终性能的优劣。然而,由于硬件限制,目前的深度学习模型都是基于批次训练的,导致样本的多样性被严重限制了。具体地说,就是在同一时间内模型只能获得少量样本的信息,由这些样本的多样性远远低于整个训练集的多样性,这就极大地影响了模型的性能。
3.深度学习模型的训练除了需要训练样本,还需要与之相对应的标签。例如,在图像分类任务中,训练样本是图片,标签是该图片的类别。研究人员根据图片的标签与图片间的相似度设计损失函数,来为模型的训练提供方向。然而,无论是人工标注还是算法标注,都会不可避免地产生错误,给训练样本标注错误的标签。模型为了拟合这些带有错误标签的训练样本(简称错误样本),可能会出现如收敛速度降低,性能下降等现象。并且,在全局优化时,错误样本的负面影响会更大。


技术实现要素:

4.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种深度学习全局优化方法、识别方法、装置及介质。
5.本发明所采用的技术方案是:
6.一种深度学习全局优化方法,包括以下步骤:
7.s1、获取训练数据集其中,xi是训练图像,yi是对应的标签,i是这对数据的索引,n为训练集样本总数量;将训练数据集导入深度模型f(x),对于训练图像xi,模型输出特征向量为fi=(xi);预设记忆集用于储存训练集train中xi经深度模型f(x)输出的特征向量fi;
8.s2、获取用于深度学习的训练批次,每一个批次由b个训练集train中的样本组成,表示为batch=(xi,yi)|
i∈b
,b为训练集train中b个样本的索引的集合;对于每个批次模型batch,深度模型f(x)的输出为fi=f(xi)|
i∈b
;对于训练图像xi在记忆集中的特征向量根据该向量之前的特征向量与该批次输出的特征向量fi来更新;设更新特征的函数为up_f(),则更新过程表示为其中表示更新之前的
9.s3、根据更新后的记忆集特征向量未更新的记忆集标签来更新记忆
集标签设更新标签的函数为up_y(),则更新过程表示为其中表示更新之前的
10.s4、根据当前批次内的特征向量fi|
i∈b
与记忆集中的特征向量对于每个特征向量fi|
i∈b
,筛选出记忆集中对模型优化最重要的k个样本其中ki表示关于fi最重要的k个样本的索引;
11.s5、根据当前批次的特征向量fi|
i∈b
与对应的标签yi|
i∈b
、筛选出的记忆集中对模型优化最重要的样本与对应的标签对深度模型f(x)的参数进行优化学习。
12.进一步地,通过以下方式更新特征向量
13.直接赋值法:深度模型f(x)每输出一个批次的特征向量fi=f(xi)|
i∈b
,记忆集中对应的特征向量或者,
14.滑动平均更新法:获取滑动系数λ,深度模型f(x)每输出一个批次的特征向量fi=f(xi)|
i∈b
,则记忆集中对应的特征向量
15.进一步地,通过以下方式更新标签
16.最近邻法:对于记忆集中的样本xi的特征向量计算记忆集中其他特征向量与之间的距离,根据距离由近到远排序;选取距离最近的1个特征向量的标签,将出现次数最多的标签作为的新标签;或者,
17.类心法:对于记忆集中的样本xi的特征向量计算该特征向量与各个类别中心的距离,并选择距离最近的类别作为的新标签。
18.进一步地,通过以下方式选出记忆集中对模型优化最重要的k个样本
19.最近邻法:对于记忆集中的样本xi的特征向量计算记忆集中其他特征向量与之间的距离,根据距离由近到远排序,保留距离最近的k个特征向量;或者,
20.最难正负样本法:对于记忆集中的样本xi的特征向量计算记忆集中其他特征向量与之间的距离,根据距离由近到远排序,保留与标签相同的距离最远的k/2个特征向量以及标签不同的距离最近的k/2个特征向量。
21.进一步地,所述对深度模型f(x)的参数进行优化学习,包括:
22.采用经验风险最小化原则对深度模型f(x)的参数进行优化学习。
23.进一步地,经验风险的公式如下:
[0024][0025]
其中lm(
·
)代表涉及当前批次里样本与记忆集中重要样本的损失函数。
[0026]
本发明所采用的另一技术方案是:
[0027]
一种目标识别方法,包括以下步骤:
[0028]
构建目标识别模型;
[0029]
获取训练集,采用如上所述的一种深度学习全局优化方法训练并优化所述目标识别模型;
[0030]
获取待识别图像,将待识别图像输入训练后的所述目标识别模型,输出识别结果。
[0031]
本发明所采用的另一技术方案是:
[0032]
一种行人重识别方法,包括以下步骤:
[0033]
构建行人重识别模型;
[0034]
获取训练集,采用如上所述的一种深度学习全局优化方法训练并优化所述行人重识别模型;
[0035]
获取视频图像,将视频图像输入训练后的所述行人重识别模型,输出识别结果。
[0036]
本发明所采用的另一技术方案是:
[0037]
一种装置,包括:
[0038]
至少一个处理器;
[0039]
至少一个存储器,用于存储至少一个程序;
[0040]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
[0041]
本发明所采用的另一技术方案是:
[0042]
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
[0043]
本发明的有益效果是:本发明通过进行全局优化可以保证深度模型训练时得到最大限度的样本多样性,为模型的性能提升提供条件;另外,对样本特征进行筛选,大大地减少了训练所需的硬件资源和时间资源。
附图说明
[0044]
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
[0045]
图1是本发明实施例中一种深度学习全局优化方法的步骤流程图;
[0046]
图2是本发明实施例中一种深度学习全局优化方法的流程示意图。
具体实施方式
[0047]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0048]
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简
化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0049]
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0050]
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0051]
现有的全局优化方法通常可以归为两类。第一类方法保存类别信息,属于粗糙的全局信息。例如,图像分类问题中,模型的最后一层后还要添加一个全连接层,用于输出分类概率。在全连接层的输出端,与任一节点相连的权重组成的向量可以被视为该类别的中心。模型通过这种方式保存整个训练集的类别信息。但是,这种全局信息是粗糙的,因为类别信息无法详尽的表示整个数据集的信息。某个类别中心只能表达的大概信息,而无法描述类别中每个个体的特性。第二类方法直接保存整个训练集的样本的特征向量,属于详细的全局信息。例如,现有文献提出采用一个定长的队列保存过去批次中模型输出的特征向量。如果这个队列的长度足够长,则队列就可以保存整个训练集。然后,将这些向量用于优化模型。然而,这类方法往往忽视了如何有效利用这些向量。(1)直接用全部向量来优化模型会导致过多的计算负担,成倍地增加训练时间,并且,这些储存起来的向量大部分是冗余的。只有少量重要的向量能够增加样本对的多样性。(2)此外,队列中也会储存错误样本,而这些错误样本会一直影响模型训练的过程。
[0052]
对于第一点问题,本实施例提出一种新的全局优化技术,在保存详细全局信息的基础上,计算哪些向量是重要的,哪些向量是冗余的,从而只利用那些重要的向量去优化模型。这样在保证了样本对的多样性的同时,大大节约了计算资源。为了解决第二点问题,本实施例的全局优化方法中包含一个标签优化方法。这个标签优化方法会在训练过程中动态的优化训练集里所有样本的标签,检测离群样本,并根据该样本特征与其他样本特征的相似度,赋予其一个新的标签。并根据优化后的标签计算损失。
[0053]
如图1和图2所示,本实施例提供一种深度学习全局优化方法,包括以下步骤:
[0054]
s101、获取训练数据集。
[0055]
获取训练数据集其中,xi是训练图像,yi是对应的标签,i是这对数据的索引,n为训练集样本总数量。导入深度模型f(x),则对于训练图像xi,模型输出特征向量为fi=f(xi)。预设记忆集用于储存训练集train中xi经深度模型f(x)输出的特征向量fi。
[0056]
s102、获取用于深度学习的训练批次。
[0057]
深度学习基于批次训练的。每一个批次由b个训练集train中的样本组成,表示为batch=(xi,yi)|
i∈b
,其中b为训练集train中b个样本的索引的集合。对于每个批次模型batch,模型的输出为fi=f(xi)|
i∈b
。对于对于训练图像xi在记忆集中的特征向量根据该向量之前的特征向量与该批次输出的特征向量fi来更新。设更新特征的函数为up_f
(),则更新过程表示为其中粗体表示更新之前的
[0058]
在一些可选的实施方式中,更新特征过程包括但不限于以下方法:
[0059]
(1)直接赋值法:模型每输出一个批次的特征向量fi=f(xi)|
i∈b
,记忆集中对应的特征向量或者,
[0060]
(2)滑动平均更新法:选取滑动系数λ。模型每输出一个批次的特征向量fi=f(xi)|
i∈b
,则记忆集中对应的特征向量其中,滑动系数λ介于0到1之间,如:实际取值需要根据实验调整。
[0061]
需要说明的是,无论使用哪种方法,若第一次更新记忆集中对应的特征向量即当前尚未被赋值,则
[0062]
s103、更新记忆集标签。
[0063]
根据更新后的记忆集特征向量未更新的记忆集标签来更新记忆集标签设更新标签的函数为up_y(),则更新过程表示为其中粗体表示更新之前的
[0064]
在一些可选的实施方式中,更新标签过程包括但不限于以下方法:
[0065]
(1)最近邻法法:对于记忆集中的样本xi的特征向量计算记忆集中其他特征向量与之间的距离,并根据距离由近到远排序。选取距离最近的1个特征向量的标签,并将出现次数最多的标签作为的新标签。
[0066]
需要说明的是,参数1介于1到n之间,实际取值需要根据实验调整。在计算记忆集中其他特征向量与之间的距离后,可以使用重排序技术优化结果,以获得更准确、更符合真实标签的距离排序。
[0067]
(2)类心法:对于记忆集中的样本xi的特征向量计算该特征向量与各个类别中心的距离,并选择距离最近的类别作为的新标签。
[0068]
需要说明的是,有多种获得类别中心的方式:当使用分类损失训练模型时,模型最后的全连接层的参数即对应每个类别的类别中心;当记忆集储存了训练集中所有样本的特征向量时,可以用记忆集中每类样本的平均值来近似代表类别中心。
[0069]
s104、筛选记忆集中对模型优化最重要的k个样本。
[0070]
根据当前批次内的特征向量fi|
i∈b
与记忆集中的特征向量对于每个fi|
i∈b
,筛选出记忆集中对模型优化最重要的k个样本其中ki表示关于fi最重要的k个样本的索引。
[0071]
筛选出记忆集中对模型优化最重要的k个样本的方法包括但不限于:
[0072]
(1)最近邻法:对于记忆集中的样本xi的特征向量计算记忆集中其他特征向量与之间的距离,并根据距离由近到远排序。保留距离最近的k个特征向量。
[0073]
(2)最难正负样本法,包括以下步骤:对于记忆集中的样本xi的特征向量计算记忆集中其他特征向量与之间的距离,并根据距离由近到远排序。保留与标签相同的距离最远的k/2个特征向量以及标签不同的距离最近的k/2个特征向量。
[0074]
需要说明的是,关于参数k,能使模型效果达到最佳往往只需要很小的k;例如,对于样本数量为60000的数据集,最佳的k可能仅为100。这使得本发明提出的这种全局优化方法仅需要极少的计算资源,就可以近似实现直接利用整个数据集同时优化模型的效果。
[0075]
s105、对模型参数进行优化学习。
[0076]
根据当前批次的特征向量fi|
i∈b
与对应的标签yi|
i∈b
、筛选出的记忆集中对模型优化最重要的样本与对应的标签本发明采用经验风险最小化原则进行模型参数的优化学习。
[0077]
在深度模型的有监督学习过程中,给定当前批次batch=(xi,yi)|
i∈b
,模型输出的特征向量fi=f(xi)|
i∈b
,记忆集对于当前批次的特征向量fi|
i∈b
,重要样本的集合相应的标签为通常是采用经验风险最小化原则来进行模型的训练。经验风险的公式如下:
[0078][0079]
其中lm(
·
)代表涉及当前批次里样本与记忆集中重要样本的损失函数,常用的损失函数包括分类损失、对比损失、三元损失、ap损失等。
[0080]
需要说明的是,在模型训练的初期,模型输出的特征向量不够稳定。因此,在模型训练的初期,只是用当前批次的特征向量fi|
i∈b
与对应的标签yi|
i∈b
来计算值涉及当前批次里的样本的损失函数l(
·
)。当训练满足一定轮数时,才使用记忆集来计算损失lm(
·
)。
[0081]
需要说明的是,当不满足训练轮数时,步骤s103可以简化为直接赋值,步骤s104应当被省略。
[0082]
综上所述,本实施例方法相对于现有技术,具有如下优点及有益效果:
[0083]
(1)通过进行全局优化可以保证深度模型训练时得到最大限度的样本多样性,为模型的性能提升提供条件。
[0084]
(2)对样本特征进行筛选大大地减少了训练所需的硬件资源和时间资源。可以以极低的计算资源为代价,大幅度地提升模型性能。
[0085]
(3)对标签进行优化降低了错误标注的样本的影响,进一步提升了训练出的模型的性能。
[0086]
本实施例还提供一种目标识别方法,包括以下步骤:
[0087]
s201、构建目标识别模型;
[0088]
s202、获取训练集,采用如图1所示的一种深度学习全局优化方法训练并优化所述
目标识别模型;
[0089]
s203、获取待识别图像,将待识别图像输入训练后的所述目标识别模型,输出识别结果。
[0090]
本实施例还提供一种行人重识别方法,包括以下步骤:
[0091]
s301、构建行人重识别模型;
[0092]
s302、获取训练集,采用如图1所示的一种深度学习全局优化方法训练并优化所述行人重识别模型;
[0093]
s303、获取视频图像,将视频图像输入训练后的所述行人重识别模型,输出识别结果。
[0094]
具体地,以行人重识别任务,更新特征的函数up_f为赋值更新,更新标签的函数up_y为根据与与最相近的k个来确定与的关系,损失函数为检索损失(ap损失),描述具体步骤:
[0095]
首先,有训练集模型θ(
·
)。对于每个批次,有batch=(xi,yi)|
i∈b
,模型输出特征向量fi=θ(xi)|
i∈b
。更新特征。更新标签。训练轮数不足时,当训练轮数足够后,若以表示的第j位,则j∈[1,c]。其中,nj是最相近的数个中属于第j类的数量。计算ap损失。训练轮数不足时,计算不涉及与的ap损失l
ap
(fi|
i∈b
,yi|
i∈b
)。当训练轮数足够后,计算与每个fi相似度最高的k个特征,表示为k集。然后计算涉及与的ap损失
[0096]
本实施例还提供一种装置,包括:
[0097]
至少一个处理器;
[0098]
至少一个存储器,用于存储至少一个程序;
[0099]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
[0100]
本实施例的一种装置,可执行本发明方法实施例所提供的一种深度学习全局优化方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0101]
本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
[0102]
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种深度学习全局优化方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0103]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不
限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0104]
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0105]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0106]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0107]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0108]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0109]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结
构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0110]
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
[0111]
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1