CN113705811A - 模型训练方法、装置、计算机程序产品及设备 - Google Patents
模型训练方法、装置、计算机程序产品及设备 Download PDFInfo
- Publication number
- CN113705811A CN113705811A CN202111269817.5A CN202111269817A CN113705811A CN 113705811 A CN113705811 A CN 113705811A CN 202111269817 A CN202111269817 A CN 202111269817A CN 113705811 A CN113705811 A CN 113705811A
- Authority
- CN
- China
- Prior art keywords
- sample
- image
- subset
- triplet
- loss value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种模型训练方法、装置、计算机程序产品及设备,其中模型训练方法包括:获取针对目标模型进行模型训练的目标批次样本集,目标批次样本集包括M个样本子集,M为大于1的整数;调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征;分别根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值;根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数。本发明实施例可以提升目标模型的模型性能。
Description
技术领域
本申请涉及互联网技术领域,具体涉及计算机技术领域,尤其涉及一种模型训练方法、装置、计算机程序产品及设备。
背景技术
目前,当需要获取某一图像的图像特征时,通常是通过神经网络模型对图像进行特征提取,从而得到该图像的图像特征的;可见,图像特征的准确性和神经网络模型的模型性能息息相关,那么为了提升特征提取的准确性,需要提升神经网络模型的模型性能。基于此,如何更好地通过模型训练以提升神经网络模型的模型性能,成为了研究热点。
发明内容
本发明实施例提供了一种模型训练方法、装置、计算机程序产品及设备,可以提升目标模型的模型性能。
一方面,本发明实施例提供了一种模型训练方法,所述方法包括:
获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
另一方面,本发明实施例提供了一种模型训练装置,所述装置包括:
处理单元,用于获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
所述处理单元,还用于调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
所述处理单元,还用于分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
更新单元,用于根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
在一种实施方式中,目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;所述调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征之前,处理单元还可用于:
调用所述目标模型,对所述第一样本子集中的各个三元组图像样本进行特征提取,得到所述第一样本子集中的各个三元组图像样本的图像特征;
根据所述第一样本子集中的各个三元组图像样本的图像特征,以及所述第一样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述第一样本子集所产生的初始三元组损失值;
更新单元还可用于:
按照减小所述第一样本子集对应的初始三元组损失值的方向,更新所述目标模型的模型参数。
在另一种实施方式中,目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;其中,处理单元在用于所述目标模型通过所述第二样本子集所产生的目标三元组损失值的计算方式时,可具体用于:
遍历所述第二样本子集中的各个三元组图像样本,并将当前遍历的三元组图像样本作为当前三元组图像样本;
根据所述当前三元组图像样本的图像特征,以及所述第二样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述当前三元组图像样本对应的初始三元组损失值;
对所述当前三元组图像样本进行噪声检测,并根据检测结果对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值;
在所述第二样本子集中的各个三元组图像样本均被遍历后,对所述第二样本子集中的各个三元组图像样本对应的修正三元组损失值进行整合,得到所述目标模型通过所述第二样本子集所产生的目标三元组损失值。
在另一种实施方式中,目标模型被按序依次采用P个批次样本集进行训练,且从第p个批次样本集开始,批次样本集中的第二样本子集在模型训练过程中被进行噪声检测,P为正整数,p的取值大于0且小于或等于P;其中,所述目标批次样本集为所述第p个批次样本集,或位于所述第p个批次样本集后的一个批次样本集;处理单元在用于对所述当前三元组图像样本进行噪声检测时,可具体用于:
从记忆单元中获取历史三元组损失值,其中,在任一第二样本子集被进行噪声检测后,所述历史三元组损失值通过所述任一第二样本子集所对应的初始三元组损失值进行动量更新;所述任一第二样本子集对应的初始三元组损失值,是所述任一第二样本子集中的全部或部分三元组图像样本对应的初始三元组损失值之间的均值;
根据所述历史三元组损失值,生成多个三元组损失值范围,一个三元组损失值范围用于确定一个噪声程度;
从所述多个三元组损失值范围中,确定所述当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,并根据所述当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,确定所述当前三元组图像样本的噪声程度。
在另一种实施方式中,检测结果包括所述当前三元组图像样本的噪声程度;处理单元在用于根据检测结果对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值时,可具体用于:
确定与所述当前三元组图像样本的噪声程度相匹配的修正参数,修正参数的取值大小和噪声程度成负相关;
采用确定出的修正参数,对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值。
在另一种实施方式中,目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;更新单元在用于根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数时,可具体用于:
根据所述第一样本子集中的各个三元组图像样本的图像特征,计算所述目标模型通过所述第一样本子集所产生的相似损失值;
对所述相似损失值和所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值;
按照减小所述模型损失值的方向,更新所述目标模型的模型参数。
在另一种实施方式中,目标模型包括特征提取模块和二值特征哈希模块,所述目标模型对三元组图像样本进行特征提取的过程包括:通过所述特征提取模块用于对三元组图像样本进行特征提取以得到图像特征,通过所述二值特征哈希模块对三元组图像样本的图像特征进行量化编码以得到编码特征;
更新单元在用于对所述相似损失值和所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值时,可具体用于:
根据所述每个样本子集中的各个三元组图像样本的图像特征与对应的编码特征之间的差异,计算所述目标模型通过所述每个样本子集所产生的量化损失值;
对计算出的各个量化损失值、所述相似损失值以及所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值。
再一方面,本发明实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述模型训练方法,上述计算机指令被处理器执行时实现如下步骤:
获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
再一方面,本发明实施例提供了一种计算机设备,所述计算机设备包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时实现如下步骤:
获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
本发明实施例可通过目标批次样本集对目标模型进行模型训练,目标批次样本集包括不同样本准确度的多个样本子集,即采用不同样本准确度的样本子集对目标模型进行多方面的优化,从而通过样本准确度较高的样本子集提升目标模型的模型准确率,并通过样本准确度较低但包含大量三元组图像样本的样本子集提升目标模型的泛化能力;其次,可调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征;分别根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值,从而通过不同的图像差异条件约束相应的样本子集对应的目标三元组损失值,可有效避免样本准确度较低的样本子集中的各个三元组图像样本淹没样本准确度较高的样本子集中的各个三元组图像样本的学习效果,即确保了样本准确度较高的样本子集中的各个三元组图像样本的学习效果;根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数,从而提升目标模型的模型性能。可见,本发明实施例通过与不同样本准确度的样本子集相对应的图像差异条件,可针对性地计算不同样本准确度的样本子集对应的目标三元组损失值,以获取每个样本子集对应的较优的目标三元组损失值,从而提高目标模型的模型性能。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种模型训练方案的流程示意图;
图1b是本发明实施例提供的一种卷积块的示意图;
图2是本发明实施例提供的一种模型训练方法的流程示意图;
图3是本发明实施例提供的另一种模型训练方法的流程示意图;
图4是本发明实施例提供的一种通过多数据集训练目标模型的示意图;
图5是本发明实施例提供的一种模型训练装置的结构示意图;
图6是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
随着互联网技术的不断发展,人工智能(Artificial Intelligence,AI)技术也随之得到更好的发展。所谓的人工智能技术是指利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术;其主要通过了解智能的实质,生产出一种新的能以人类智能相似的方式做出反应的智能机器,使得智能机器具有感知、推理与决策等多种功能。相应的,AI技术是一门综合学科,其主要包括计算机视觉技术(Computer Vision,CV)、语音处理技术、自然语言处理技术以及机器学习(MachineLearning,ML)/深度学习等几大方向。
其中,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是AI的核心,是使计算机设备具有智能的根本途径;所谓的机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科;其专门研究计算机设备怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。而深度学习则是一种利用深层神经网络系统,进行机器学习的技术;机器学习/深度学习通常可包括人工神经网络、强化学习(Reinforcement Learning,RL)、有监督学习、无监督学习等多种技术;所谓的有监督学习是指采用类别已知(具有标注类别)的训练样本进行模型训练的处理方式,无监督学习是指采用类别未知(没有被标记)的训练样本进行模型训练的处理方式。
基于AI技术中的机器学习/深度学习技术,本发明实施例提出了一种基于多数据集联合学习的模型训练方案,以实现对目标模型进行优化,提升目标模型的模型准确率以及泛化能力。在具体实现中,该模型训练方案可由一个计算机设备执行,该计算机设备可以是终端或者服务器;其中,此处所提及的终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能电视、智能车载终端等;终端内可运行各式各样的客户端(application,APP),如视频播放客户端、社交客户端、浏览器客户端、信息流客户端、教育客户端,等等。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
需要说明的是,在其他实施例中,该模型训练方案也可由服务器和终端共同执行;服务器和终端通过网络(如有线网络、无线网络等)连接,对此不作限定。并且,本发明实施例所提及的计算机设备可以位于区块链网络外,也可以位于区块链网络内,对此不作限定;所谓的区块链网络是一种由点对点网络(P2P网络)和区块链所构成的网络,而区块链则是指一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(或称为区块)。
参见图1a所示,本发明实施例所提出的模型训练方案的大致原理如下:①计算机设备可预先构建一个基础模型,并采用初始训练集对基础模型进行模型训练,以优化基础模型的模型参数,从而得到目标模型。此处的基础模型本质上是一个可对任一图像进行特征提取的模型;那么可理解的是,由于目标模型和基础模型之间只是模型参数的差异,模型结构并未改变,因此目标模型本质上也是一个可对任一图像进行特征提取的模型。
②可进行多个数据集的收集,不同数据集的样本准确度不同,即不同数据集对应的噪声程度不同;可通过一个或多个数据收集渠道进行收集,此处的数据收集渠道包括但不限于:浏览器客户端、视频播放客户端、资讯浏览网页、社交平台,等等。每个数据集包含多个样本对,由于越干净的数据集的获取越困难,因此数据集包含的样本对的数量通常与样本准确度成负相关,即相对干净的数据集包含的样本对的数量较小,而噪声较大的数据集则可以包含数量较大的样本对。举例来说,计算机设备可将同一搜索词获取的前H个样本互为正样本,即将此处的前H个样本分别组成不同的样本对,H为大于1的整数;并采用不同的搜索词产生不同的样本对。需要说明的是,每个样本对可以包含两个样本,此处的两个样本为相似样本;或者,每个样本对也可以包含多个样本,此处的多个样本中任意两个样本相似。
③计算机设备在收集到多个数据集后,可获取针对目标模型进行模型训练的目标批次样本集,其中目标批次样本集包含的样本子集的数量可以等于收集到的数据集的数量,也可以与收集到的数据集的数量不等,本发明实施例对此不作限定。在获取目标批次样本集的过程中,计算机设备可先对每个数据集中的各个样本对进行三元组样本挖掘处理,得到每个数据集对应的三元组图像样本集,再从每个三元组图像样本集中选取一个或多个三元组图像样本作为一个样本子集;或者,计算机设备也可先从每个数据集中选取多个样本对作为一个标注样本集,再对每个标注样本集中的各个样本对进行三元组样本挖掘处理,从而得到每个标注样本集对应的样本子集。
需要说明的是,计算机设备可以使用收集到的多个数据集对目标模型进行epoch轮迭代,一个epoch表示一次全量迭代。在每轮全量迭代的过程中,计算机设备可以通过多个数据集获取一个或多个批次样本集,从而按序采用每个批次样本集对目标模型进行模型训练;此情况下,步骤③所提及的目标批次样本集是一次全量迭代中所涉及的一个批次样本集。其中,通过目标批次样本集进行模型训练的过程包括以下步骤④-⑥:
④计算机设备可调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征。
⑤根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值(triplet loss)。值得注意的是,每个样本子集中的单个三元组图像样本所需满足的图像差异条件与每个样本子集的样本准确度相关,也就是说,不同样本准确度的样本子集中单个三元组图像样本所需满足的图像差异条件可以不同。举例来说,假设获取到的目标批次样本集包含第一样本子集和第二样本子集,其中第一样本子集的样本准确度大于第二样本子集的样本准确度,计算机设备可调用目标模型对第一样本子集和第二样本子集中的各个三元组图像样本进行特征提取,得到第一样本子集中的各个三元组图像样本的图像特征,以及第二样本子集中的各个三元组图像样本的图像特征,从而根据不同的图像差异条件,得到第一样本子集对应的目标三元组损失值,以及第二样本子集对应的目标三元组损失值,并根据第一样本子集对应的目标三元组损失值和第二样本子集对应的目标三元组损失值,计算目标模型的模型损失值。
⑥根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数。
值得注意的是,上述只是示例性地阐述了模型训练方案的大致原理,并不对此进行限定。例如,在上述流程中,计算机设备在通过步骤③获取目标批次样本集中的各个样本子集后,可通过步骤④计算每个样本子集对应的目标三元组损失值;但在其他实施例中,目标批次样本集包括第一样本子集和第二样本子集,第一样本子集的样本准确度大于第二样本子集的样本准确度,计算机设备在通过步骤④计算每个样本子集对应的目标三元组损失值之前,还可以先计算目标模型通过第一样本子集所产生的初始三元组损失值,并按照减小第一样本子集对应的初始三元组损失值的方向,更新目标模型的模型参数后,再执行步骤④;又如,计算机设备可迭代执行步骤③~⑥,等等。
经实践表明,本发明实施例提出的模型训练方案可至少具有如下几点有益效果:
第一点:由于不同样本子集具有不同的样本准确度,可从多方面对目标模型进行优化,即可以通过样本准确度较高的样本子集提升目标模型的模型准确率,并通过样本准确度较低但包含大量三元组图像样本的样本子集提升目标模型的泛化能力。第二点:通过每个样本子集中的单个三元组图像样本所需满足的图像差异条件,可有效地对不同样本准确度的样本子集对应的目标三元组损失值进行约束,即可通过不同的图像差异条件约束相应的样本子集对应的目标三元组损失值,可有效避免样本准确度较低的样本子集中的各个三元组图像样本淹没样本准确度较高的样本子集中的各个三元组图像样本的学习效果,即确保了样本准确度较高的样本子集中的各个三元组图像样本的学习效果,从而提升目标模型的模型准确率。第三点:先采用样本准确度较大的样本子集对目标模型进行优化后,再使用目标批次样本集中的每个样本子集对目标模型进行优化的交替学习策略,可有效避免样本准确度较小的样本子集中的不准确样本产生极大的损失值,从而淹没准确样本对模型的贡献。第四点:通过跟踪三元组距离(即相似样本的距离与不相似样本的距离)变化估计三元组图像样本的噪声程度,并采用重加权的策略降低噪声对模型的影响,即对样本准确度较低的样本子集中的各个三元组图像样本对应的初始三元组损失值的修正,从而有效避免样本准确度较低的样本子集中的噪声带来的极大损失值对整体学习方向的影响。
进一步的,在采用上述模型训练方案对目标模型进行模型训练后,该目标模型可适用于各种应用场景,如图像检索场景、图像识别场景,等等。其中,所谓的图像检索包括基于文本的图像检索和基于内容的图像检索,可通过相似性计算,检索出图像的相似图像;所谓的图像识别是指利用计算机设备对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术,如对图像的类别进行识别并给出该图像所属的类别。具体的:
在图像检索场景中,当需要检索任一待检索图像的相似图像时,计算机设备可调用目标模型对该任一待检索图像进行特征提取,从而输出该任一待检索图像的目标特征,从而基于该任一待检索图像的目标特征执行图像检索操作,即计算该任一待检索图像的目标特征与检索数据库中的各个图像的目标特征之间的相似性,从而将相似性较大的图像作为该任一待检索图像的相似图像(即得到图像检索结果)。
在图像识别场景中,当需要获取任一待识别图像的类别时,计算机设备可以采用目标模型对该任一待识别图像进行特征提取,得到该任一待识别图像的目标特征,从而基于该任一待识别图像的目标特征确定该任一待识别图像所属的类别。
需要说明的是,在将目标模型运用在一个或多个应用场景后,计算机设备还可采用上述所提及的模型训练方案所涉及的相关步骤,对目标模型再次进行模型训练,以进一步优化目标模型的模型参数。
基于上述模型训练方案的相关描述,下面对该模型训练方案中所提及的基础模型,以及如何训练基础模型得到目标模型的具体训练过程作进一步的详细阐述:
1)网络结构:该目标模型可以是基于深度学习对图像进行特征提取的模型,其具体可包括特征提取模块,以及二值特征哈希模块。其中,特征提取模块的结构可参见下述表1所示:
表1
参见上述表1所示,目标模型中的特征提取模块可以采用ResNet-101(一种残差网络)这种基础特征网络,采用其输出的结果为图像特征;也就是说,特征提取模块可至少包括多层卷积层(conv)。表1中的“Layer name”表示网络层名称,“Output size”表示网络层的输出结果的大小(或称为尺寸),“stride”表示步长,“max pool”表示最大池化,一个block(或称为卷积块)包括3个卷积层。例如,针对“Conv2_x”网络层而言,其包括的一个block的具体结构可参见图1b所示;也就是说,“Conv2_x”网络层中的一个block包括:卷积核为1×1且通道数为64的第一个卷积层,卷积核为3×3且通道数为64的第二个卷积层,以及卷积核为1×1且通道数为256的第三个卷积层。
其中,二值特征哈希模块的结构可参见下述表2所示:
表2
参见上述表2所示,目标模型中的二值特征哈希模块可至少包括激活层(Fc)和池化层(Pool)。其中,表2中的Fc层的输出结果为1×128大小的二值特征,“fullconnection”表示全连接层;值得注意的是,本发明实施例对Fc层的输出结果的大小,即二值特征的维度不作限定,如Fc层的输出结果还可以是1×64或者1×256等。
2)特征提取:特征提取时可采用embedding作为图像特征,这里的embedding即为可用来做相似度计算的图像特征。
3)初始化模型参数:Conv1-Conv5采用预先训练好的网络参数(如通过基础模型在ImageNet(一种大型通用物体识别的开源数据集)上预训练的网络参数,通过基础模型在openimage(一种通用的开源数据集)上预训练的网络参数,等等),以减少后续模型训练时的计算量;在此情况下,对于已经训练好的网络参数(如表1中的各个卷积层的网络参数),可根据需求决定是否需要再次优化这些网络参数。而针对目标模型中的新添加的网络层(如Fc层等)而言,则可采用方差为0.01,均值为0的高斯分布进行初始化;且对于表2中的Fc层的网络参数,则需要进行迭代优化,即学习的目标是获得恰当的Fc。也就是说,目标模型中的待学习的模型参数可至少包括Fc层的网络参数;可选的,还可包括卷积层以及其他网络层的网络参数。可以理解的是,目标模型的初始化模型参数为:基础模型通过ImageNet等预训练数据,进行预训练后的模型参数。
需要说明的是,本发明实施例只是示例性地阐述了基础模型的模型结构,并不对基础模型的具体结构进行限定;例如,上述所提及的特征提取模块是采用ResNet-101进行特征提取的,但在其他实施例中,特征提取模块还可使用其他不同的结构网络以及不同的预训练模型权重进行特征提取,如深度残差网络、ResNet-18、ResNet-50,等等。进一步的,对于数据量较大的应用,如采用小网络ResNet-18,以及降低embedding维度,如采用64位等降低特征存储空间。
基于上述模型训练方案的相关描述,本发明实施例提出一种模型训练方法,该模型训练方法可以由上述所提及的计算机设备执行,该计算机设备可以是终端或者服务器;或者,该模型训练方法可由终端和服务器共同执行。为便于阐述,后续均以计算机设备执行该模型训练方法为例进行说明;请参见图2,该模型训练方法可包括以下步骤S201-S204:
S201,获取针对目标模型进行模型训练的目标批次样本集,目标批次样本集包括M个样本子集,M为大于1的整数。
目标批次样本集中的不同样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本。可以理解的是,一个三元组图像样本包含了三个样本,一个样本本质上是一个图像。为了便于描述,后续分别将三元组图像样本中的三个样本称作固定样本(Anchor),正样本(Positive)和负样本(Negative),其中固定样本和正样本为相似样本(即正样本对),且固定样本和负样本为不相似样本(即负样本对),且上述固定样本也可称作锚样本。
在一种具体的实现中,计算机设备可以获取M个标注样本集,每个标注样本集具有不同的样本准确度,且每个标注样本集中包括多个样本对,那么计算机设备可以对每个标注样本集中的各个样本对进行三元组样本挖掘处理,得到每个样本对所对应的三元组图像样本。可以理解的是,计算机设备在对每个标注样本集中的各个样本对进行三元组样本挖掘处理后,可以得到每个标注样本集对应的样本子集。需要说明的是,每个样本对可以包含两个样本,也可以包含多个样本(即包含的样本数量大于2),本发明实施例对此不作限定。
举例来说,当计算机设备在获取任一标注样本集对应的样本子集时,假设该任一标注样本集包含B个样本对,B为大于1的整数,那么计算机设备可以遍历上述任一标注样本集中的每个样本对,将当前遍历的样本对作为当前样本对,并对当前样本对进行三元组样本挖掘处理,得到当前样本对所对应的三元组图像样本。可以理解的是,在上述任一标注样本集中的各个样本对均被遍历之后,可以获取到上述任一标注样本集对应的样本子集。可选的,计算机设备对当前样本对进行三元组样本挖掘处理,得到当前样本对所对应的三元组图像样本的具体过程包括:在当前样本对中随机选取两个样本分别作为固定样本和正样本,计算该固定样本与其他样本中各个样本之间的距离,并按距离从小到大排序,取前Q个样本作为负样本,分别与选取出的两个样本组成三元组图像样本;或者,计算机设备可在当前样本对中随机选取一个样本作为固定样本,并根据上述方式获取Q个样本作为负样本,若当前样本对仅包含两个样本,则将Q个负样本分别与当前样本对中的两个样本组成三元组图像样本,若当前样本对包含多个样本,即当前样本对包含的样本的数量大于2,那么计算机设备可按序从当前样本对中随机选取一个样本作为正样本,从而与上述固定样本和上述Q个负样本中的一个负样本组成三元组图像样本,等等。本发明实施例对构建三元组图像样本的具体实施方式不作限定。其中,Q为正整数,B为大于1的整数。可选的,上述其他样本可以包含上述B个样本对中除当前样本对以外的所有样本对中的各个样本,也可以包含上述B个样本对中除当前样本对以外的每个样本对中的任一样本,本发明实施例对此不作限定。
根据上述对当前样本对进行三元组样本挖掘处理的描述,计算机设备可采用类似的方式对上述任一标注样本集中的每个样本对进行三元组样本挖掘处理,假设每个样本对均可被挖掘出Q个三元组图像样本,则上述任一标注样本集对应的样本子集可包含Q*B个三元组图像样本。值得注意的是,需设置相对较大的值作为B的取值,如256或300等。需要说明的是,计算机设备在对任一标注样本集中的各个样本对进行三元组样本挖掘处理的过程中,不同样本对被挖掘出的三元组图像样本的数量可以不同,也可以相同,本发明实施例对此不作限定。
计算机设备在获取M个标注样本集之前,可获取M个数据集,每个数据集包含多个样本对,不同数据集具有不同的样本准确度,那么计算机设备可以在每个数据集中选取多个样本对作为一个标注样本集。值得注意的是,每个标注样本集的数量与对应的数据集的样本准确度相关,这是由于样本准确度较低的数据集更容易被获取。举例来说,假设M的取值为2,M个数据集包含第一数据集和第二数据集,且第一数据集的样本准确度大于第二数据集的样本准确度,即第一数据集的噪声小于第二数据集的噪声,那么计算机设备可以将第一数据集分为N1个批次,将第二数据集分为N2个批次,每个批次包含k个样本对;计算机设备在每次获取M个标注样本集时,可以从第一数据集中选取一个批次,即k个样本对组成一个标注样本集,并从第二数据集中选取两个批次,即2k个样本对组成一个标注样本集,其中N1、N2为大于1的整数,k为正整数。可选的,N2可以为N1的几倍或几十倍,也就是说,第二数据集可以是容易获取到的噪声大但样本数量大的不准确数据集,第一数据集可以是较难获取到的样本数量小但噪声小的准确数据集。可选的,计算机设备也可在第一数据集中选取k个样本对作为一个标注样本集,并在第二数据集中选取3k个样本对作为一个标注样本集,本发明实施例对此不作限定。
再一种具体实现中,计算机设备可以对每个数据集中的各个样本对进行三元组样本挖掘处理,得到M个三元组图像样本集,并从每个三元组图像样本集中选取一个或多个三元组图像样本组成一个样本子集。举例来说,假设M的取值为2,M个三元组图像样本集包含第一三元组图像样本集和第二三元组图像样本集,那么计算机设备可以将第一三元组图像样本集划分为N3个批次,将第二三元组图像样本集划分为N4个批次,每个批次包含k个三元组图像样本,其中N3、N4为大于1的整数;计算机设备可以在第一三元组图像样本集中选取一个批次作为一个样本子集,并在第二三元组图像样本集中选取两个批次作为一个样本子集,即在第一三元组图像样本集中选取k个三元组图像样本组成一个样本子集,并在第二三元组图像样本集中选取2k个三元组图像样本组成一个样本子集。可选的,计算机设备也可以在第一三元组图像样本集中选取k个三元组图像样本组成一个样本子集,并在第二三元组图像样本集中选取3k个三元组图像样本组成一个样本子集,本发明实施例对此不作限定。
S202,调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征。
每个样本子集中的各个三元组图像样本均包含三个样本,计算机设备可以将各个三元组图像样本中的每个样本输入目标模型,并对每个样本进行特征提取,得到每个样本的图像特征,从而得到每个样本子集中的各个三元组图像样本的图像特征。可以理解的是,每个三元组图像样本的图像特征包含了三个样本的图像特征。
S203,分别根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值。
上述图像差异条件可以指的是:三元组图像样本中的不相似样本的距离与相似样本的距离之差大于距离阈值。需要说明的是,固定样本为相似样本中的任一样本,则正样本为相似样本中除固定样本以外的样本。进一步的,上述图像差异条件即为:固定样本a与负样本n的距离(Dan)和固定样本a与正样本p的距离(Dap)之差大于距离阈值;假设距离阈值为v,则满足Dan-Dap≥v的三个样本可以作为一个三元组图像样本。值得注意的是,每个样本子集中的单个三元组图像样本所需满足的图像差异条件可不同。可以理解的是,不同图像差异条件所对应的距离阈值不同。
具体的,计算机设备可以根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件对应的距离阈值,计算目标模型通过每个样本子集所产生的目标三元组损失值。需要说明的是,计算机设备可以计算目标模型通过每个样本子集中的各个三元组图像样本所产生的初始三元组损失值,并对每个样本子集中的各个三元组图像样本对应的初始三元组损失值进行融合,得到每个样本子集对应的目标三元组损失值。
在一种实施方式中,计算机设备可以采用下述公式1.1,根据三元组图像样本所需满足的图像差异条件,以及三元组图像样本的图像特征,计算第m个样本子集中的第d个三元组图像样本对应的初始三元组损失值L tm (d):
其中,||x a -x p ||表示两个embedding的距离所对应的2-范数,即L2范数;这里的embedding即为用来做相似度计算的图像特征;x a 为三元组图像样本中固定样本的图像特征,x p 为三元组图像样本中正样本的图像特征,x n 为三元组图像样本中负样本的图像特征,α为该三元组图像样本所需满足的图像差异条件对应的距离阈值v,d为正整数,且d小于或等于第m个样本子集包含的三元组图像样本的数量,m∈[1,M]。值得注意的是,当样本子集中的单个三元组图像样本所需满足的图像差异条件不同时,对应的距离阈值的取值不同,则式1.1中α的取值不同。可以理解的是,根据实际需求,计算机设备可以采用不同的α计算初始三元组损失值,也就是说,该参数可以根据实际需要而变化。
可选的,每个样本子集中的单个三元组图像样本所需满足的图像差异条件可与样本子集的样本准确度相关,即距离阈值的取值可与样本子集的样本准确度相关。进一步的,当目标批次样本集包含第一样本子集和第二样本子集,且第一样本子集的样本准确度大于第二样本子集的样本准确度时,第一样本子集中的单个三元组图像样本所需满足的图像差异条件对应的距离阈值,与第二样本子集中的单个三元组图像样本所需满足的图像差异条件对应的距离阈值之间的比值可以小于数据比例k:2k。举例来说,第一样本子集中的单个三元组图像样本所需满足的图像差异条件对应的距离阈值可以为26,第二样本子集中的单个三元组图像样本所需满足的图像差异条件对应的距离阈值可以为60,本发明实施例对此不作限定。
S204,根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数。
具体的,计算机设备可对每个样本子集对应的目标三元组损失值进行加权求和,得到第一融合损失值,从而按照减小第一融合损失值的方向,更新目标模型的模型参数。
可选的,计算机设备可以迭代执行步骤S201-步骤S204,也就是说,一次迭代过程可包括:通过步骤S201获取目标批次样本集,即获取M个样本子集,并通过步骤S202和步骤S203计算每个样本子集对应的目标三元组损失值,以及通过步骤S204对目标模型的模型参数进行更新。在通过迭代执行步骤S201-S204后,便可得到性能较为完善的目标模型;该性能较为完善的目标模型是指:通过最后一次迭代过程进行模型训练,得到的目标模型。
本发明实施例可通过目标批次样本集对目标模型进行模型训练,目标批次样本集包括不同样本准确度的多个样本子集,即采用不同样本准确度的样本子集对目标模型进行多方面的优化,从而通过样本准确度较高的样本子集提升目标模型的模型准确率,并通过样本准确度较低但包含大量三元组图像样本的样本子集提升目标模型的泛化能力;其次,可调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征;分别根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值,从而通过不同的图像差异条件约束相应的样本子集对应的目标三元组损失值,可有效避免样本准确度较低的样本子集中的各个三元组图像样本淹没样本准确度较高的样本子集中的各个三元组图像样本的学习效果,即确保了样本准确度较高的样本子集中的各个三元组图像样本的学习效果;根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数,从而提升目标模型的模型性能。可见,本发明实施例通过与不同样本准确度的样本子集相对应的图像差异条件,可针对性地计算不同样本准确度的样本子集对应的目标三元组损失值,以获取每个样本子集对应的较优的目标三元组损失值,从而提高目标模型的模型性能。
请参见图3,是本发明实施例提供的另一种模型训练方法的流程示意图。该模型训练方法可以由上述所提及的计算机设备执行,该计算机设备可以是终端或者服务器;或者,该模型训练方法可由终端和服务器共同执行。为便于阐述,后续均以计算机设备执行该模型训练方法为例进行说明;请参见图3,该模型训练方法可包括以下步骤S301-S307:
S301,获取针对目标模型进行模型训练的目标批次样本集,目标批次样本集包括M个样本子集,M为大于1的整数。
上述目标批次样本集包括第一样本子集和第二样本子集,第一样本子集的样本准确度大于第二样本子集的样本准确度。可选的,M的取值可以等于2,也可以大于2;当M的取值大于2时,目标批次样本集可以包括除第一样本子集和第二样本子集以外的样本子集,且目标批次样本集中的各个样本子集的样本准确度不同;例如,当M的取值为3时,目标批次样本集可以包含第一样本子集、第二样本子集和第三样本子集,且第一样本子集、第二样本子集和第三样本子集的样本准确度均不同。
S302,调用目标模型,对第一样本子集中的各个三元组图像样本进行特征提取,得到第一样本子集中的各个三元组图像样本的图像特征。
S303,根据第一样本子集中的各个三元组图像样本的图像特征,以及第一样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过第一样本子集所产生的初始三元组损失值。
S304,按照减小第一样本子集对应的初始三元组损失值的方向,更新目标模型的模型参数。
在一种实施方式中,计算机设备可以直接按照减小第一样本子集对应的初始三元组损失值的方向,更新目标模型的模型参数,以对目标模型进行优化。
在另一种实施方式中,计算机设备可以根据第一样本子集中的各个三元组图像样本的图像特征,计算目标模型通过第一样本子集所产生的初始相似损失值(similarityloss);对第一样本子集对应的初始相似损失值和第一样本子集对应的初始三元组损失值进行加权求和,得到第二融合损失值;按照减小第二融合损失值的方向,更新目标模型的模型参数。其中,此处的初始相似损失值可以使相似样本的距离约束在某一阈值范围内。
需要说明的是,计算机设备可以采用公式2.1,根据第一样本子集中的第j个三元组图像样本的图像特征,计算第j个三元组图像样本对应的初始相似损失值L s1(j):
其中,β为正样本约束值,即上述提及到的某一阈值范围,x a 、x p 分别为三元组图像样本中正样本对(即固定样本和正样本)的图像特征,则要求正样本对(即相似样本)之间的距离小于β。
例如,当β的取值为10时,希望固定样本和正样本之间的距离在10以内,且尽量小。又由于三元组图像样本需满足对应的图像差异条件,此处以上述距离阈值为60(即v=60)为例进行阐述,则有Dan-Dap≥60,故学习后,Dan要大于60才能同时满足相似损失值以及三元组损失值的要求。因此,对于相似样本的距离可以比10小的多,对于标成相似但实际相似程度较低的样本,其距离可以大一些,但也需要满足距离在10以内,而对于不相似样本,总能在60~70的距离上产生,从而保证相似样本、不相似样本的有序性前提下,相似样本足够靠近。
进一步的,目标模型包括特征提取模块和二值特征哈希模块,目标模型对三元组图像样本进行特征提取的过程包括:通过特征提取模块用于对三元组图像样本进行特征提取以得到图像特征,通过二值特征哈希模块对三元组图像样本的图像特征进行量化编码以得到编码特征。基于此,计算机设备可以根据第一样本子集中的各个三元组图像样本的图像特征与对应的编码特征之间的差异,计算第一样本子集中的各个三元组图像样本对应的初始量化损失值(quantization loss);上述对第一样本子集对应的初始相似损失值和第一样本子集对应的初始三元组损失值进行加权求和,得到第二融合损失值的具体实施过程包括:对第一样本子集对应的初始三元组损失值、第一样本子集对应的初始相似损失值和第一样本子集对应的初始量化损失值进行加权求和,得到第二融合损失值。
S305,调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征。
可以理解的是,步骤S305调用的目标模型指的是:执行步骤S304进行模型参数更新后的目标模型;也就是说,计算机设备先调用目标模型对第一样本子集中的各个三元组图像样本进行特征提取,从而使用第一样本子集中的各个三元组图像样本的图像特征,以及第一样本子集中的单个三元组图像样本所需满足的图像差异条件,优化目标模型,再调用优化后的目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到当前目标模型下每个样本子集中的各个三元组图像样本的图像特征。
具体的,计算机设备可以调用目标模型,对第一样本子集中的各个三元组图像样本进行特征提取,得到第一样本子集中的各个三元组图像样本的图像特征;并对第二样本子集中的各个三元组图像样本进行特征提取,得到第二样本子集中的各个三元组图像样本的图像特征。
S306,分别根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值。
具体的,计算机设备可以根据第一样本子集中的各个三元组图像样本的图像特征,以及第一样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过第一样本子集所产生的目标三元组损失值;并根据第二样本子集中的各个三元组图像样本的图像特征,以及第二样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过第二样本子集所产生的目标三元组损失值。
S307,根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数。
在一种实施方式中,计算机设备可直接根据每个样本子集对应的目标三元组损失值,对目标模型进行优化。
在另一种实施方式中,计算机设备可以根据第一样本子集中的各个三元组图像样本的图像特征,计算目标模型通过第一样本子集所产生的相似损失值;对相似损失值和每个样本子集对应的目标三元组损失值进行加权求和,得到目标模型的模型损失值;按照减小模型损失值的方向,更新目标模型的模型参数。其中,此处第一样本子集对应的相似损失值也可称作第一样本子集对应的目标相似损失值,第一样本子集对应的相似损失值可以将相似样本的距离约束在某一阈值范围内,从而使三元组图像样本满足图像差异条件。
需要说明的是,此处的第一样本子集对应的相似损失值的计算方式与上述第一样本子集对应的初始相似损失值的计算方式类似,那么计算机设备可采用公式2.1,计算第一样本子集中的各个三元组图像样本对应的相似损失值,并将第一样本子集中的各个三元组图像样本对应的相似损失值之间的均值作为第一样本子集对应的相似损失值L s1。
进一步的,目标模型包括特征提取模块和二值特征哈希模块,目标模型对三元组图像样本进行特征提取的过程包括:通过特征提取模块用于对三元组图像样本进行特征提取以得到图像特征,通过二值特征哈希模块对三元组图像样本的图像特征进行量化编码以得到编码特征。基于此,计算机设备对相似损失值和每个样本子集对应的目标三元组损失值进行加权求和,得到目标模型的模型损失值的具体过程包括:根据每个样本子集中的各个三元组图像样本的图像特征与对应的编码特征之间的差异,计算目标模型通过每个样本子集所产生的量化损失值;对计算出的各个量化损失值、相似损失值以及每个样本子集对应的目标三元组损失值进行加权求和,得到目标模型的模型损失值。也就是说,计算机设备可以采用计算出的各个量化损失值、相似损失值以及每个样本子集对应的目标三元组损失值,更新目标模型的模型参数。其中,每个样本子集对应的量化损失值也可称为每个样本子集对应的目标量化损失值。
需要说明的是,计算机设备可以对每个样本子集中的各个三元组图像样本进行符号量化处理,得到每个样本子集中的各个三元组图像样本对应的二值特征。可以理解的是,在应用过程中,计算机设备可以通过二值特征进行图像检索或者图像识别等。
可选的,计算机设备也可以直接对每个样本子集中的各个三元组图像样本对应的图像特征进行符号量化处理,得到每个样本子集中的各个三元组图像样本对应的二值特征。
值得注意的是,由于二值特征的目标为输出(-1,1)的量化值,由此可对网络输出采用符号量化(即将小于0的值设置为0,将大于或等于0的值设置为1),则计算量化损失值的目的是使量化编码coding的输出靠近-1或1。那么计算机设备可以采用符号函数(如sign函数)产生量化学习任务的目标编码,即采用符号函数对各个三元组图像样本的图像特征进行量化编码,得到每个样本子集中的各个三元组图像样本的编码特征,从而计算每个样本子集对应的量化损失值。具体的,计算机设备可以采用公式2.2和公式2.3,计算各个三元组图像样本中的每个样本对应的量化损失值:
其中,式2.2采用符号函数对图像特征u的每一个维度对应的u i 进行计算,得到图像特征u对应的编码特征b;然后采用回归损失(regression loss)减小图像特征u与编码特征b的距离,即采用式2.3计算量化损失值减小图像特征u与编码特征b的距离。可以理解的是,式2.3中的128指的是图像特征的维度,也就是说,当图像特征的维度为256时,此处的128将替换为256,本发明实施例对图像特征的维度不作限定。值得注意的是,在训练过程中进行量化编码的目的是使输出结果非常接近1或-1,而在应用过程中可进行符号量化处理,从而根据其符号取0或1作为二值特征。值得注意的是,本发明实施例可应用于二值特征学习,也可应用于一般的图像embedding学习任务,即不采用每个样本子集对应的量化损失值对目标模型进行优化,从而满足图像embedding学习任务。
基于上述描述,计算机设备可以确定每个损失值对应的权重,并按照确定的权重对计算出的各个量化损失值、相似损失值以及每个样本子集对应的目标三元组损失值进行加权求和,得到目标模型的模型损失值。换句话说,计算机设备可以对第一样本子集对应的目标三元组损失值、第一样本子集对应的相似损失值、第一样本子集对应的量化损失值、第二样本子集对应的目标三元组损失值以及第二样本子集对应的量化损失值进行加权求和,以得到目标模型的模型损失值。
在此种情况下,计算机设备可以采用公式2.4,计算目标模型的模型损失值,即总损失值L total :
其中,y表示对第一样本子集的损失加权,z表示对第二样本子集的损失加权,且y和z可以融合进w 1~w 3中,则得到公式2.5:
其中,由上述可知,L t1表示第一样本子集对应的目标三元组损失值,即第一样本子集中的各个三元组图像样本对应的初始三元组损失值之间的均值;L s1表示第一样本子集对应的相似损失值,即第一样本子集中的各个三元组图像样本对应的相似损失值之间的均值;L q1表示第一样本子集对应的量化损失值,即第一样本子集中的各个样本对应的量化损失值之间的均值;L rt2表示第二样本子集对应的目标三元组损失值;L q2表示第二样本子集对应的量化损失值,即第二样本子集中的各个样本对应的量化损失值之间的均值。为了便于阐述,本发明实施例在计算总损失值时,均以式2.5为例进行阐述。可选的,公式2.5中的第二样本子集对应的目标三元组损失值可以是:第二样本子集中的各个三元组图像样本对应的初始三元组损失值之间的均值;也可以是:第二样本子集中的各个三元组图像样本对应的修正三元组损失值之间的均值,本发明实施例对第二样本子集对应的目标三元组损失值的具体计算方式不作限定。其中,第二样本子集中的各个三元组图像样本对应的修正三元组损失值的具体描述如下所示,此处不再赘述。
需要说明的是,量化损失值并非出于主导的学习地位,计算目标模型的模型损失值时,需优先保证度量特性,即需优先保证目标三元组损失值和相似损失值,那么量化损失值对比目标三元组损失值的权重可以为其0.1及以下。举例来说,计算机设备可以将权重w 1的取值设为1、权重w 2的取值设为1、权重w 3的取值设为0.1、权重w 4的取值设为0.3以及权重w 5的取值设为0.03,其中,w 4表示目标三元组损失值L rt2为目标三元组损失值L t1的0.3倍作用,也就是说,第一样本子集对应的目标三元组损失值对模型损失值的影响较大。可选的,w 1~w 5的取值也可以是其他权重值,如均为1等,本发明实施例对上述各个权重的具体取值不作限定。可以理解的是,可根据需要对上述各个权重进行调整。
可以理解的是,计算机设备可以先通过第一样本子集对目标模型进行模型训练,再通过第一样本子集和第二样本子集共同对目标模型进行模型训练。换句话说,计算机设备在执行步骤S301后,可获取到目标批次样本集,目标批次样本集包含第一样本子集和第二样本子集,那么计算机设备可执行步骤S302-S304对目标模型进行更新,再执行步骤S305-S307对目标模型进行更新。
在一种具体的实现中,计算机设备可以迭代执行步骤S301-S307,也就是说,计算机设备可以在每次迭代过程中,先按照第一样本子集对应的初始三元组损失值减小的方向,更新目标模型的模型参数;再采用第一样本子集和第二样本子集共同计算目标模型的模型损失值,以按照模型损失值减小的方向更新目标模型的模型参数。
本发明实施例可通过样本准确度较高的样本子集(即第一样本子集)对目标模型进行模型训练,以提高目标模型的模型准确率,并通过样本准确度较低但样本数量较大的样本子集(即第二样本子集)对目标模型进行模型训练,以提高目标模型的泛化能力。通过第一样本子集和所有样本子集(即第一样本子集和第二样本子集)的交替学习,可以在保证目标模型的模型准确率的情况下,同时提升目标模型的泛化能力,从而在每次交替学习后,逐渐改善目标模型的模型性能,以得到更优性能的目标模型。另一方面,可通过总损失值更新目标模型的模型参数,使三元组图像样本中的相似样本满足某一距离范围的约束,从而使相似样本足够靠近,以提升目标模型的模型准确率,并通过量化损失值使输出结果逐渐接近1或-1,从而提高二值特征的准确度。
根据上述描述,计算机设备可以计算目标模型通过第一样本子集所产生的目标三元组损失值,也可以计算目标模型通过第二样本子集所产生的目标三元组损失值。需要说明的是,第一样本子集对应的目标三元组损失值的计算方式,与第二样本子集对应的目标三元组损失值的计算方式相似,本发明实施例以第二样本子集对应的目标三元组损失值的计算方式为例进行具体阐述,其中目标模型通过第二样本子集所产生的目标三元组损失值的计算方式包括步骤s11-s14:
s11,遍历第二样本子集中的各个三元组图像样本,并将当前遍历的三元组图像样本作为当前三元组图像样本。
s12,根据当前三元组图像样本的图像特征,以及第二样本子集中的单个三元组图像样本所需满足的图像差异条件,计算当前三元组图像样本对应的初始三元组损失值。
假设当前三元组图像样本为第二样本子集中的第r个三元组图像样本,那么根据式1.1,计算机设备可以计算当前三元组图像样本(即第二样本子集中的第r个三元组图像样本)对应的初始三元组损失值L t2(r);其中,r为正整数,且小于或等于第二样本子集包含的三元组图像样本的数量。
s13,对当前三元组图像样本进行噪声检测,并根据检测结果对当前三元组图像样本对应的初始三元组损失值进行修正,得到当前三元组图像样本对应的修正三元组损失值。
在一种实施方式中,目标模型被按序依次采用P个批次样本集进行训练,且从第p个批次样本集开始,批次样本集中的第二样本子集在模型训练过程中被进行噪声检测,P为正整数,p的取值大于0且小于或等于P;其中,目标批次样本集为第p个批次样本集,或位于第p个批次样本集后的一个批次样本集。那么计算机设备对当前三元组图像样本进行噪声检测的具体过程包括步骤s131-s133:
s131,从记忆单元中获取历史三元组损失值,其中,在任一第二样本子集被进行噪声检测后,历史三元组损失值通过任一第二样本子集所对应的初始三元组损失值进行动量更新;任一第二样本子集对应的初始三元组损失值,是任一第二样本子集中的全部或部分三元组图像样本对应的初始三元组损失值之间的均值。
需要说明的是,若目标批次样本集为位于第p个批次样本集前的一个批次样本集,记忆单元中的历史三元组损失值可以为初始历史信息,如0;若目标批次样本集为第p个批次样本集,计算机设备可以将此时的第二样本子集对应的初始三元组损失值作为历史三元组损失值,即将第p个批次样本集中的第二样本子集对应的初始三元组损失值作为历史三元组损失值。
在一种实施方式中,当目标批次样本集为第p个批次样本集时,计算机设备可采用下述公式3.1,根据目标批次样本集中的第二样本子集对应的初始三元组损失值L t2,计算此时的历史三元组损失值ML t :
其中,L t2表示目标批次样本集中第二样本子集对应的初始三元组损失值,L t2(r)表示第二样本子集中的第r个三元组图像样本对应的初始三元组损失值,R为目标批次样本集中第二样本子集包含的三元组图像样本的数量,R为正整数,r∈[1,R]。可以理解的是,当目标批次样本集为第p个批次样本集时,历史三元组损失值可以指的是此时的第二样本子集对应的初始三元组损失值。
进一步的,在任一第二样本子集被进行噪声检测后,计算机设备可以采用公式3.2,对历史三元组损失值通过上述任一第二样本子集所对应的初始三元组损失值进行动量更新,得到动量更新后的历史三元组损失值ML t :
其中,等式左边的ML t 表示动量更新后的历史三元组损失值,等式右边的ML t 表示动量更新前的历史三元组损失值。需要说明的是,在对历史三元组损失值进行动量更新时,此处的任一第二样本子集所对应的初始三元组损失值L t2可以指的是:该任一第二样本子集中的全部三元组图像样本对应的初始三元组损失值之间的均值;也可以指的是:该任一第二样本子集中的部分三元组图像样本对应的初始三元组损失值之间的均值。上述的部分三元组图像样本可以为:上述任一第二样本子集中除噪声程度较大的三元组图像样本以外的所有三元组图像样本,即上述任一第二样本子集中除全噪声以外的所有三元组图像样本。其中,此处的全噪声见后续噪声检测部分的具体描述。
举例来说,假设p的取值为100,那么在第100次迭代,即目标批次样本集为第100个批次样本集时,计算机设备可以将第100次迭代中的第二样本子集对应的初始三元组损失值作为历史三元组损失值;并在后续迭代过程中,不断对历史三元组损失值进行动量更新。
值得注意的是,在每轮全量迭代过程中,均需清空记忆单元,即对历史三元组损失值赋值为初始历史信息,然后在每轮全量迭代过程中,按序依次采用P个批次样本集对目标模型进行模型训练。可选的,本发明实施例对全量迭代的次数不作限定,如全量迭代次数可以为20或30等。
s132,根据历史三元组损失值,生成多个三元组损失值范围,一个三元组损失值范围用于确定一个噪声程度。
在一种具体的实现中,计算机设备可以将ML t 和2*ML t 作为划分点,生成三个三元组损失值范围,该三个三元组损失值范围包括:(0,ML t )、[ML t ,2*ML t )以及[2*ML t ,+∞)。需要说明的是,三元组损失值范围(0,ML t )所指示的噪声程度较小或为0,三元组损失值范围[ML t ,2*ML t )所指示的噪声程度相对较大,而三元组损失值范围[2*ML t ,+∞)所指示的噪声程度较大。
可选的,计算机设备也可以仅将ML t 作为划分点,生成两个三元组损失值范围;计算机设备还可以将3*ML t 作为划分点,生成两个三元组损失值范围,等等。本发明实施例对三元组损失值范围的具体生成方式不作限定,且对生成的三元组损失值范围的数量不作限定。
s133,从多个三元组损失值范围中,确定当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,并根据当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,确定当前三元组图像样本的噪声程度。
具体的,当前三元组图像样本的噪声程度可以为:当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围所指示的噪声程度。举例来说,假设三元组损失值范围包括(0,ML t )、[ML t ,2*ML t )以及[2*ML t ,+∞),若当前三元组图像样本对应的初始三元组损失值位于三元组损失值范围(0,ML t )中,那么计算机设备可以确定当前三元组图像样本的噪声程度较小或为0,并可以将当前三元组图像样本作为正常样本;若当前三元组图像样本对应的初始三元组损失值位于三元组损失值范围[ML t ,2*ML t )中,那么计算机设备可以确定当前三元组图像样本的噪声程度相对较大,并可以将当前三元组图像样本作为难样本或部分噪声,此处的部分噪声可以指的是正样本噪声或负样本噪声;若当前三元组图像样本对应的初始三元组损失值位于三元组损失值范围[2*ML t ,+∞)中,那么计算机设备可以确定当前三元组图像样本的噪声程度较大,并可以将当前三元组图像样本作为全噪声。其中,+∞指的是无穷大,即三元组损失值范围[2*ML t ,+∞)包含2*ML t 及以上的任意值。
需要说明的是,上述正样本噪声可以指的是:正样本与固定样本之间的距离未小于正样本约束值,如10或12等;上述负样本噪声可以指的是:负样本与固定样本的距离与正样本与固定样本的距离之间的差值未大于相应的距离阈值。
进一步的,上述检测结果包括当前三元组图像样本的噪声程度;计算机设备根据检测结果对当前三元组图像样本对应的初始三元组损失值进行修正,得到当前三元组图像样本对应的修正三元组损失值,在对当前三元组图像样本对应的初始三元组损失值进行修正的具体实施过程包括步骤s1331和步骤s1332:
s1331,确定与当前三元组图像样本的噪声程度相匹配的修正参数,修正参数的取值大小和噪声程度成负相关。
在一种实施方式中,若当前三元组图像样本的噪声程度较小或为0,即当前三元组图像样本为正常样本时,计算机设备可以将1作为与当前三元组图像样本的噪声程度相匹配的修正参数;若当前三元组图像样本的噪声程度相对较大,即当前三元组图像样本为难样本或部分噪声时,计算机设备可以将0.5作为与当前三元组图像样本的噪声程度相匹配的修正参数;若当前三元组图像样本的噪声程度较大,即当前三元组图像样本为全噪声时,计算机设备可以将0作为与当前三元组图像样本的噪声程度相匹配的修正参数。
可选的,根据当前三元组图像样本的噪声程度,计算机设备也可以分别将1,0.6以及0.1中的一个值作为与当前三元组图像样本的噪声程度相匹配的修正参数,本发明实施例对修正参数的具体设置内容不作限定。
s1332,采用确定出的修正参数,对当前三元组图像样本对应的初始三元组损失值进行修正,得到当前三元组图像样本对应的修正三元组损失值。
为了便于阐述,本发明实施例通过w表示修正参数,也就是说,w的取值可以分别为:0、0.5、1等。具体的,假设当前三元组图像样本为第二样本子集中的第r个三元组图像样本,计算机设备可以采用公式3.3,对当前三元组图像样本对应的初始三元组损失值进行修正,得到当前三元组图像样本对应的修正三元组损失值L rt2(r):
其中,L t2(r)为当前三元组图像样本(即第二样本子集中的第r个三元组图像样本)对应的初始三元组损失值。
可以理解的是,若当前三元组图像样本为全噪声,即当前三元组图像样本的正负样本都为噪声时,当前三元组图像样本对模型度量学习将产生副作用,故计算机设备可以丢弃当前三元组图像样本,即将当前三元组图像样本对应的初始三元组损失值与0相乘;而若当前三元组图像样本中仅正样本或负样本为噪声,即当前三元组图像样本为难样本或部分噪声时,本发明实施例仅降低了当前三元组图像样本对应的初始三元组损失值的权重,并不会直接丢弃当前三元组图像样本,这是因为即使存在一定噪声,但样本也可以为模型学习提供泛化能力。
s14,在第二样本子集中的各个三元组图像样本均被遍历后,对第二样本子集中的各个三元组图像样本对应的修正三元组损失值进行整合,得到目标模型通过第二样本子集所产生的目标三元组损失值。
具体的,计算机设备可以确定第二样本子集中的各个三元组图像样本对应的修正三元组损失值之间的均值,并将该均值作为第二样本子集对应的目标三元组损失值L rt2。需要说明的是,在计算第二样本子集对应的目标三元组损失值时,计算机设备可以先去除第二样本子集中的全噪声,该全噪声为正负样本均为噪声的三元组图像样本,再将第二样本子集中的各个剩余三元组图像样本对应的修正三元组损失值之间的均值作为第二样本子集对应的目标三元组损失值;或者,计算机设备可以直接将第二样本子集中的各个三元组图像样本对应的修正三元组损失值之间的均值作为第二样本子集对应的目标三元组损失值,等等。
本发明实施例可对第二样本子集(即样本准确度较低的样本子集)中的各个三元组图像样本进行噪声检测,并根据检测结果对第二样本子集中的各个三元组图像样本对应的初始三元组损失值进行修正,得到第二样本子集中的各个三元组图像样本对应的修正三元组损失值,从而降低噪声对模型损失值的影响,以提升目标模型的模型精度。
基于上述描述,下面结合图4,并采用一个完整流程对步骤S307中所提及的“采用计算出的各个量化损失值、相似损失值以及每个样本子集对应的目标三元组损失值,更新目标模型的模型参数”的实施原理作进一步详细阐述:
(1)把目标模型的所有参数都设置为需要学习状态,调用目标模型对第一样本子集中的各个图像和第二样本子集中的各个图像进行前向计算,从而提取到每个样本子集中的各个三元组图像样本的图像特征,该图像特征可以例如是目标模型中的ResNet-101的Max pool层所输出的特征。
(2)计算第一样本子集对应的目标三元组损失值、第一样本子集对应的相似损失值、第一样本子集对应的量化损失值、第二样本子集中的各个三元组图像样本对应的初始三元组损失值以及第二样本子集对应的量化损失值,其中第一样本子集为相对干净的样本子集,第一样本子集的样本准确度大于第二样本子集的样本准确度。
(3)对第二样本子集中的各个三元组图像样本对应的初始三元组损失值进行修正,得到第二样本子集中的各个三元组图像样本对应的修正三元组损失值,将第二样本子集中的各个三元组图像样本对应的修正三元组损失值之间的均值作为第二样本子集对应的目标三元组损失值。
(4)根据权重w 1~w 5的取值,计算目标模型的模型损失值。
(5)采用梯度下降算法,将模型损失值进行梯度后向计算得到全部模型参数的更新值,并更新目标模型。此处的梯度下降算法可包括但不限于:SGD(Stochastic GradientDescent,随机梯度下降)算法、GD(Gradient Dropping,梯度下降)算法、BGD(BatchGradient Descent,批量梯度下降)算法,等等。可选的,在模型参数优化过程中,特征提取模块和二值特征哈希模块可均采用0.0005的学习率,也可以采用0.001的学习率,且特征提取模块和二值特征哈希模块采用的学习率也可以不同,本发明实施例对此不作限定。
本发明实施例通过对每个样本子集对应的目标三元组损失值、每个样本子集对应的量化损失值以及第一样本子集对应的相似损失值的整合,可以全方面地计算目标模型的模型损失值,并通过权重对相应的损失值进行约束,以增大较为干净的样本子集对模型损失值的影响,从而在保证模型准确率的情况下,提升目标模型的泛化能力。
基于上述模型训练方法的相关实施例的描述,本申请实施例还提出了一种模型训练装置,该模型训练装置可以是运行于计算机设备中的一个计算机程序(包括程序代码)。该模型训练装置可以执行图2或图3所示的模型训练方法;请参见图5,所述模型训练装置可以运行如下单元:
处理单元501,用于获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
所述处理单元501,还用于调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
所述处理单元501,还用于分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
更新单元502,用于根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
在一种实施方式中,目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;所述调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征之前,处理单元501还可用于:
调用所述目标模型,对所述第一样本子集中的各个三元组图像样本进行特征提取,得到所述第一样本子集中的各个三元组图像样本的图像特征;
根据所述第一样本子集中的各个三元组图像样本的图像特征,以及所述第一样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述第一样本子集所产生的初始三元组损失值;
更新单元502还可用于:
按照减小所述第一样本子集对应的初始三元组损失值的方向,更新所述目标模型的模型参数。
在另一种实施方式中,目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;其中,处理单元501在用于所述目标模型通过所述第二样本子集所产生的目标三元组损失值的计算方式时,可具体用于:
遍历所述第二样本子集中的各个三元组图像样本,并将当前遍历的三元组图像样本作为当前三元组图像样本;
根据所述当前三元组图像样本的图像特征,以及所述第二样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述当前三元组图像样本对应的初始三元组损失值;
对所述当前三元组图像样本进行噪声检测,并根据检测结果对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值;
在所述第二样本子集中的各个三元组图像样本均被遍历后,对所述第二样本子集中的各个三元组图像样本对应的修正三元组损失值进行整合,得到所述目标模型通过所述第二样本子集所产生的目标三元组损失值。
在另一种实施方式中,目标模型被按序依次采用P个批次样本集进行训练,且从第p个批次样本集开始,批次样本集中的第二样本子集在模型训练过程中被进行噪声检测,P为正整数,p的取值大于0且小于或等于P;其中,所述目标批次样本集为所述第p个批次样本集,或位于所述第p个批次样本集后的一个批次样本集;处理单元501在用于对所述当前三元组图像样本进行噪声检测时,可具体用于:
从记忆单元中获取历史三元组损失值,其中,在任一第二样本子集被进行噪声检测后,所述历史三元组损失值通过所述任一第二样本子集所对应的初始三元组损失值进行动量更新;所述任一第二样本子集对应的初始三元组损失值,是所述任一第二样本子集中的全部或部分三元组图像样本对应的初始三元组损失值之间的均值;
根据所述历史三元组损失值,生成多个三元组损失值范围,一个三元组损失值范围用于确定一个噪声程度;
从所述多个三元组损失值范围中,确定所述当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,并根据所述当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,确定所述当前三元组图像样本的噪声程度。
在另一种实施方式中,检测结果包括所述当前三元组图像样本的噪声程度;处理单元501在用于根据检测结果对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值时,可具体用于:
确定与所述当前三元组图像样本的噪声程度相匹配的修正参数,修正参数的取值大小和噪声程度成负相关;
采用确定出的修正参数,对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值。
在另一种实施方式中,目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;更新单元502在用于根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数时,可具体用于:
根据所述第一样本子集中的各个三元组图像样本的图像特征,计算所述目标模型通过所述第一样本子集所产生的相似损失值;
对所述相似损失值和所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值;
按照减小所述模型损失值的方向,更新所述目标模型的模型参数。
在另一种实施方式中,目标模型包括特征提取模块和二值特征哈希模块,所述目标模型对三元组图像样本进行特征提取的过程包括:通过所述特征提取模块用于对三元组图像样本进行特征提取以得到图像特征,通过所述二值特征哈希模块对三元组图像样本的图像特征进行量化编码以得到编码特征;
更新单元502在用于对所述相似损失值和所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值时,可具体用于:
根据所述每个样本子集中的各个三元组图像样本的图像特征与对应的编码特征之间的差异,计算所述目标模型通过所述每个样本子集所产生的量化损失值;
对计算出的各个量化损失值、所述相似损失值以及所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值。
根据本发明的一个实施例,图2或图3所示的方法所涉及的各个步骤均可以是由图5所示的模型训练装置中的各个单元来执行的。例如,图2中所示的步骤S201-步骤S203均可由图5中所示的处理单元501执行,步骤S204可由图5中所示的更新单元502执行。又如,图3中所示的步骤S301-步骤S303,以及步骤305和步骤S306均可由图5中所示的处理单元501执行,步骤S304和步骤S307均可由图5中所示的更新单元502执行,等等。
根据本发明的另一个实施例,图5所示的模型训练装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,模型训练装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的模型训练装置,以及来实现本发明实施例的模型训练方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本发明实施例可通过目标批次样本集对目标模型进行模型训练,目标批次样本集包括不同样本准确度的多个样本子集,即采用不同样本准确度的样本子集对目标模型进行多方面的优化,从而通过样本准确度较高的样本子集提升目标模型的模型准确率,并通过样本准确度较低但包含大量三元组图像样本的样本子集提升目标模型的泛化能力;其次,可调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征;分别根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值,从而通过不同的图像差异条件约束相应的样本子集对应的目标三元组损失值,可有效避免样本准确度较低的样本子集中的各个三元组图像样本淹没样本准确度较高的样本子集中的各个三元组图像样本的学习效果,即确保了样本准确度较高的样本子集中的各个三元组图像样本的学习效果;根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数,从而提升目标模型的模型性能。可见,本发明实施例通过与不同样本准确度的样本子集相对应的图像差异条件,可针对性地计算不同样本准确度的样本子集对应的目标三元组损失值,以获取每个样本子集对应的较优的目标三元组损失值,从而提高目标模型的模型性能。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供了一种计算机设备。请参见图6,该计算机设备至少包括处理器601、输入接口602、输出接口603以及计算机存储介质604。其中,计算机设备内的处理器601、输入接口602、输出接口603以及计算机存储介质604可通过总线或其他方式连接。
计算机存储介质604可以存储在计算机设备的存储器中,所述计算机存储介质604用于存储计算机程序,所述计算机程序包括程序指令,所述处理器601用于执行所述计算机存储介质604存储的程序指令。处理器601(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器601可以用于进行一系列的模型训练处理,具体包括:获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数,等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机存储介质。在一个实施例中,可由处理器加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图2或图3所示的模型训练方法的实施例中的各个方法步骤。
本发明实施例可通过目标批次样本集对目标模型进行模型训练,目标批次样本集包括不同样本准确度的多个样本子集,即采用不同样本准确度的样本子集对目标模型进行多方面的优化,从而通过样本准确度较高的样本子集提升目标模型的模型准确率,并通过样本准确度较低但包含大量三元组图像样本的样本子集提升目标模型的泛化能力;其次,可调用目标模型,分别对每个样本子集中的各个三元组图像样本进行特征提取,得到每个样本子集中的各个三元组图像样本的图像特征;分别根据每个样本子集中的各个三元组图像样本的图像特征,以及每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算目标模型通过每个样本子集所产生的目标三元组损失值,从而通过不同的图像差异条件约束相应的样本子集对应的目标三元组损失值,可有效避免样本准确度较低的样本子集中的各个三元组图像样本淹没样本准确度较高的样本子集中的各个三元组图像样本的学习效果,即确保了样本准确度较高的样本子集中的各个三元组图像样本的学习效果;根据每个样本子集对应的目标三元组损失值,更新目标模型的模型参数,从而提升目标模型的模型性能。可见,本发明实施例通过与不同样本准确度的样本子集相对应的图像差异条件,可针对性地计算不同样本准确度的样本子集对应的目标三元组损失值,以获取每个样本子集对应的较优的目标三元组损失值,从而提高目标模型的模型性能。
需要说明的是,根据本发明的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图3所示的模型训练方法实施例方面的各种可选方式中提供的方法。
并且,应理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种模型训练方法,其特征在于,包括:
获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
2.根据权利要求1所述的方法,其特征在于,所述目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;所述调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征之前,所述方法还包括:
调用所述目标模型,对所述第一样本子集中的各个三元组图像样本进行特征提取,得到所述第一样本子集中的各个三元组图像样本的图像特征;
根据所述第一样本子集中的各个三元组图像样本的图像特征,以及所述第一样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述第一样本子集所产生的初始三元组损失值;
按照减小所述第一样本子集对应的初始三元组损失值的方向,更新所述目标模型的模型参数。
3.根据权利要求1所述的方法,其特征在于,所述目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;其中,所述目标模型通过所述第二样本子集所产生的目标三元组损失值的计算方式,包括:
遍历所述第二样本子集中的各个三元组图像样本,并将当前遍历的三元组图像样本作为当前三元组图像样本;
根据所述当前三元组图像样本的图像特征,以及所述第二样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述当前三元组图像样本对应的初始三元组损失值;
对所述当前三元组图像样本进行噪声检测,并根据检测结果对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值;
在所述第二样本子集中的各个三元组图像样本均被遍历后,对所述第二样本子集中的各个三元组图像样本对应的修正三元组损失值进行整合,得到所述目标模型通过所述第二样本子集所产生的目标三元组损失值。
4.根据权利要求3所述的方法,其特征在于,所述目标模型被按序依次采用P个批次样本集进行训练,且从第p个批次样本集开始,批次样本集中的第二样本子集在模型训练过程中被进行噪声检测,P为正整数,p的取值大于0且小于或等于P;其中,所述目标批次样本集为所述第p个批次样本集,或位于所述第p个批次样本集后的一个批次样本集;
所述对所述当前三元组图像样本进行噪声检测,包括:
从记忆单元中获取历史三元组损失值,其中,在任一第二样本子集被进行噪声检测后,所述历史三元组损失值通过所述任一第二样本子集所对应的初始三元组损失值进行动量更新;所述任一第二样本子集对应的初始三元组损失值,是所述任一第二样本子集中的全部或部分三元组图像样本对应的初始三元组损失值之间的均值;
根据所述历史三元组损失值,生成多个三元组损失值范围,一个三元组损失值范围用于确定一个噪声程度;
从所述多个三元组损失值范围中,确定所述当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,并根据所述当前三元组图像样本对应的初始三元组损失值所属的三元组损失值范围,确定所述当前三元组图像样本的噪声程度。
5.根据权利要求3所述的方法,其特征在于,所述检测结果包括所述当前三元组图像样本的噪声程度;所述根据检测结果对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值,包括:
确定与所述当前三元组图像样本的噪声程度相匹配的修正参数,修正参数的取值大小和噪声程度成负相关;
采用确定出的修正参数,对所述当前三元组图像样本对应的初始三元组损失值进行修正,得到所述当前三元组图像样本对应的修正三元组损失值。
6.根据权利要求1所述的方法,其特征在于,所述目标批次样本集包括第一样本子集和第二样本子集,所述第一样本子集的样本准确度大于所述第二样本子集的样本准确度;所述根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数,包括:
根据所述第一样本子集中的各个三元组图像样本的图像特征,计算所述目标模型通过所述第一样本子集所产生的相似损失值;
对所述相似损失值和所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值;
按照减小所述模型损失值的方向,更新所述目标模型的模型参数。
7.根据权利要求6所述的方法,其特征在于,所述目标模型包括特征提取模块和二值特征哈希模块,所述目标模型对三元组图像样本进行特征提取的过程包括:通过所述特征提取模块用于对三元组图像样本进行特征提取以得到图像特征,通过所述二值特征哈希模块对三元组图像样本的图像特征进行量化编码以得到编码特征;
所述对所述相似损失值和所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值,包括:
根据所述每个样本子集中的各个三元组图像样本的图像特征与对应的编码特征之间的差异,计算所述目标模型通过所述每个样本子集所产生的量化损失值;
对计算出的各个量化损失值、所述相似损失值以及所述每个样本子集对应的目标三元组损失值进行加权求和,得到所述目标模型的模型损失值。
8.一种模型训练装置,其特征在于,包括:
处理单元,用于获取针对目标模型进行模型训练的目标批次样本集,所述目标批次样本集包括M个样本子集,M为大于1的整数;不同的样本子集具有不同的样本准确度,每个样本子集中包括一个或多个三元组图像样本;
所述处理单元,还用于调用所述目标模型,分别对所述每个样本子集中的各个三元组图像样本进行特征提取,得到所述每个样本子集中的各个三元组图像样本的图像特征;
所述处理单元,还用于分别根据所述每个样本子集中的各个三元组图像样本的图像特征,以及所述每个样本子集中的单个三元组图像样本所需满足的图像差异条件,计算所述目标模型通过所述每个样本子集所产生的目标三元组损失值;
更新单元,用于根据所述每个样本子集对应的目标三元组损失值,更新所述目标模型的模型参数。
9.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
10.一种计算机设备,其特征在于,包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111269817.5A CN113705811B (zh) | 2021-10-29 | 2021-10-29 | 模型训练方法、装置、计算机程序产品及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111269817.5A CN113705811B (zh) | 2021-10-29 | 2021-10-29 | 模型训练方法、装置、计算机程序产品及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113705811A true CN113705811A (zh) | 2021-11-26 |
CN113705811B CN113705811B (zh) | 2022-02-08 |
Family
ID=78647662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111269817.5A Active CN113705811B (zh) | 2021-10-29 | 2021-10-29 | 模型训练方法、装置、计算机程序产品及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705811B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113837162A (zh) * | 2021-11-29 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 模型训练方法及相关装置 |
CN114077681A (zh) * | 2022-01-19 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置、计算机设备及存储介质 |
CN114398059A (zh) * | 2022-01-11 | 2022-04-26 | 平安普惠企业管理有限公司 | 参数的更新方法、装置、设备以及存储介质 |
CN114418021A (zh) * | 2022-01-25 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 模型优化方法、装置及计算机程序产品 |
CN116030077A (zh) * | 2023-03-28 | 2023-04-28 | 石家庄铁道大学 | 基于多数据集协作学习的视频显著性区域检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399428A (zh) * | 2018-02-09 | 2018-08-14 | 哈尔滨工业大学深圳研究生院 | 一种基于迹比准则的三元组损失函数设计方法 |
US20200074316A1 (en) * | 2018-09-05 | 2020-03-05 | Siemens Aktiengesellschaft | Quantum-machine training of knowledge graphs |
CN112948676A (zh) * | 2021-02-26 | 2021-06-11 | 网易传媒科技(北京)有限公司 | 文本特征提取模型的训练方法、文本推荐方法及装置 |
CN113298197A (zh) * | 2021-07-28 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 数据聚类方法、装置、设备及可读存储介质 |
-
2021
- 2021-10-29 CN CN202111269817.5A patent/CN113705811B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399428A (zh) * | 2018-02-09 | 2018-08-14 | 哈尔滨工业大学深圳研究生院 | 一种基于迹比准则的三元组损失函数设计方法 |
US20200074316A1 (en) * | 2018-09-05 | 2020-03-05 | Siemens Aktiengesellschaft | Quantum-machine training of knowledge graphs |
CN112948676A (zh) * | 2021-02-26 | 2021-06-11 | 网易传媒科技(北京)有限公司 | 文本特征提取模型的训练方法、文本推荐方法及装置 |
CN113298197A (zh) * | 2021-07-28 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 数据聚类方法、装置、设备及可读存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113837162A (zh) * | 2021-11-29 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 模型训练方法及相关装置 |
CN114398059A (zh) * | 2022-01-11 | 2022-04-26 | 平安普惠企业管理有限公司 | 参数的更新方法、装置、设备以及存储介质 |
CN114077681A (zh) * | 2022-01-19 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置、计算机设备及存储介质 |
CN114077681B (zh) * | 2022-01-19 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置、计算机设备及存储介质 |
CN114418021A (zh) * | 2022-01-25 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 模型优化方法、装置及计算机程序产品 |
CN114418021B (zh) * | 2022-01-25 | 2024-03-26 | 腾讯科技(深圳)有限公司 | 模型优化方法、装置及计算机程序产品 |
CN116030077A (zh) * | 2023-03-28 | 2023-04-28 | 石家庄铁道大学 | 基于多数据集协作学习的视频显著性区域检测方法 |
CN116030077B (zh) * | 2023-03-28 | 2023-06-06 | 石家庄铁道大学 | 基于多数据集协作学习的视频显著性区域检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113705811B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113705811B (zh) | 模型训练方法、装置、计算机程序产品及设备 | |
CN109783817B (zh) | 一种基于深度强化学习的文本语义相似计算模型 | |
CN112084331A (zh) | 文本处理、模型训练方法、装置、计算机设备和存储介质 | |
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN111709493B (zh) | 对象分类方法、训练方法、装置、设备及存储介质 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN113158554B (zh) | 模型优化方法、装置、计算机设备及存储介质 | |
CN112733043B (zh) | 评论推荐方法及装置 | |
WO2021042857A1 (zh) | 图像分割模型的处理方法和处理装置 | |
CN113435430B (zh) | 基于自适应时空纠缠的视频行为识别方法、系统、设备 | |
CN116310667B (zh) | 联合对比损失和重建损失的自监督视觉表征学习方法 | |
CN113628059A (zh) | 一种基于多层图注意力网络的关联用户识别方法及装置 | |
EP3786882A1 (en) | Movement state recognition model learning device, movement state recognition device, method, and program | |
CN111241850B (zh) | 提供业务模型的方法及装置 | |
CN114282059A (zh) | 视频检索的方法、装置、设备及存储介质 | |
CN112488316A (zh) | 事件意图推理方法、装置、设备及存储介质 | |
CN116992151A (zh) | 一种基于双塔图卷积神经网络的在线课程推荐方法 | |
CN112990387B (zh) | 模型优化方法、相关设备及存储介质 | |
CN115062709A (zh) | 模型优化方法、装置、设备、存储介质及程序产品 | |
CN112800253B (zh) | 数据聚类方法、相关设备及存储介质 | |
CN114358250A (zh) | 数据处理方法、装置、计算机设备、介质及程序产品 | |
CN111191059B (zh) | 图像处理方法、装置、计算机存储介质及电子设备 | |
CN113362852A (zh) | 一种用户属性识别方法和装置 | |
CN113010772B (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 | |
CN112307243A (zh) | 用于检索图像的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |