CN115186764A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115186764A CN115186764A CN202210927628.0A CN202210927628A CN115186764A CN 115186764 A CN115186764 A CN 115186764A CN 202210927628 A CN202210927628 A CN 202210927628A CN 115186764 A CN115186764 A CN 115186764A
- Authority
- CN
- China
- Prior art keywords
- label
- sample
- feature vector
- labels
- feature
- 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.)
- Pending
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/04—Architecture, e.g. interconnection topology
-
- 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
本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质,涉及人工智能、多媒体及云技术领域。该方法包括:获取待处理数据,通过训练好的特征提取模型提取待处理数据的特征向量,根据该特征向量确定待处理数据的类别,或从数据集中确定出与待处理数据相匹配的目标数据;该特征提取模型是基于多个具有至少一个标注标签的样本对神经网络模型进行训练得到的,标注标签为样本的真实类别标签,在训练过程中,每个样本的目标特征向量是通过融合该样本的初始特征向量和该样本的各标注标签的标签特征向量得到的,训练总损失是基于各样本的标注标签和目标特征向量确定的。基于该方法,能够有效提升数据的处理效果。
Description
技术领域
本申请涉及人工智能和多媒体技术领域,具体而言,本申请涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术研究和发展,人工智能技术已经在多个领域展开研究和应用,机器学习是人工智能的核心,是使计算机具有智能的根本途径,通过机器学习可以训练得到满足应用需求的神经网络模型。
分类模型是很多领域、很多应用场景中都常用到的神经网络模型,分类模型通过模型中的特征提取模块对数据(如图像、文本、视频、语音等等)进行特征提取,并基于提取到的数据特征实现数据的类别预测,而特征提取模块所提取的数据特征的表达能力,对模型预测结果的准确性起到至关重要的作用,尤其是在多标签分类场景中。
对于特征提取模型的训练,目前的相关技术中已经存在多种多样的训练方式,但现有大多方式训练好的特征提取模型所提取出的特征的区分度仍有待提升,尤其是对多标签分类的应用场景而言。
发明内容
本申请实施例的目的旨在提供一种数据处理方法、装置、电子设备及存储介质,基于该方法能够有效提升特征提取模型所提取的特征的表达能力,提高数据的处理效果。为了实现上述目的,本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种数据处理方法,该方法包括:
获取待处理数据,其中,所述待处理数据为包含多媒体信息中的至少一种模态的信息的数据;
通过训练好的特征提取模型提取所述待处理数据的特征向量;
根据所述待处理数据的特征向量,确定所述待处理数据的类别,或者从数据集中确定出与所述待处理数据相匹配的目标数据;
其中,所述特征提取模型是基于多个具有至少一个标注标签的样本,对神经网络模型重复执行训练操作得到的,所述标注标签为样本的真实类别标签,每个所述标注标签为多个候选类别标签中的一个,所述神经网络模型包括第一特征提取网络和第二特征提取网络,所述特征提取模型为满足训练结束条件的第一特征提取网络;
在训练过程中,通过所述第二特征提取网络获取每个所述候选类别标签的标签特征向量,通过所述第一特征提取网络获取每个所述样本的初始特征向量,并通过融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量,所述神经网络模型的训练总损失是基于各所述样本的标注标签和目标特征向量确定的。
另一方面,本申请实施例还提供了一种数据处理装置,该装置包括:
待处理数据获取模块,用于获取待处理数据,其中,所述待处理数据为包含多媒体信息中的至少一种模态的信息的数据;
数据处理模块,用于通过训练好的特征提取模型提取所述待处理数据的特征向量,根据所述特征向量,确定所述待处理数据的类别,或者从数据集中确定出与所述待处理数据相匹配的目标数据;
其中,所述特征提取模型是基于多个具有至少一个标注标签的样本,对神经网络模型重复执行训练操作得到的,所述标注标签为样本的真实类别标签,每个所述标注标签为多个候选类别标签中的一个,所述神经网络模型包括第一特征提取网络和第二特征提取网络,所述特征提取模型为满足训练结束条件的第一特征提取网络;在训练过程中,通过所述第二特征提取网络获取每个所述候选类别标签的标签特征向量,通过所述第一特征提取网络获取每个所述样本的初始特征向量,并通过融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量,所述神经网络模型的训练总损失是基于各所述样本的标注标签和目标特征向量确定的。
可选的,所述训练过程还包括:获取每个所述候选类别标签的初始语义向量;根据所述多个样本的标注标签,确定所述多个候选类别标签中两两标签之间的共现次数;对于每个所述候选类别标签,根据该标签与所述多个候选类别标签中每个标签之间的共现次数,确定该标签与所述多个候选类别标签中每个标签之间的相关性,两个标签之间的相关性表征了两个标签之间的共现概率;
每个所述候选类别标签的标签特征向量是通过以下方式得到的:
基于各所述候选类别标签的初始语义向量、以及每个所述候选类别标签与所述多个候选类别标签中每个标签之间相关性,通过所述第二特征提取网络提取得到每个所述候选类别标签的标签特征向量。
可选的,每个所述候选类别标签的标签特征向量是通过以下方式得到的:
对于每个所述候选类别标签,根据该标签与所述多个候选类别标签中每个标签之间的相关性,确定该标签与所述多个候选类别标签中每个标签之间的非相关性;
通过所述第二特征提取网络执行至少一次以下特征更新操作,并基于最后一次特征更新操作得到的每个候选类别标签的第二特征向量,得到每个所述候选类别标签的标签特征向量;
其中,所述特征更新操作包括以下步骤:
基于各所述候选类别标签的初始语义向量之间的语义相关性,通过对各所述候选类别标签的初始语义向量进行特征融合,得到每个所述候选类别标签对应的第一特征向量;
对于每个所述候选类别标签,将该标签与所述多个候选类别标签中每个标签之间的非相关性作为权重,对所述多个候选类别标签中各标签的第一特征向量进行加权融合,基于加权融合后的特征向量得到该标签的第二特征向量,并将该第二特征向量作为下一次特征更新操作时该标签的初始语义向量。
可选的,每个所述候选类别标签与所述多个候选类别标签中每个标签之间的相关性是通过以下方式确定的:
根据所述多个样本的标注标签,确定每个所述候选类别标签在所述多个样本中的出现次数;
对于每个所述候选类别标签,将该标签与所述多个候选类别标签中每个标签的共现次数与该标签的出现次数的比值,作为该标签与所述多个候选类别标签中每个标签之间的共现概率,根据所述共现概率得到该标签与所述多个候选类别标签中每个标签之间的相关性。
可选的,对于每个所述样本,该样本的目标特征向量是通过以下方式得到的:
若该样本的标注标签为一个,则将该标注标签的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量,得到该样本的目标特征向量;
若该样本的标注标签为多个,则将该样本的多个标注标签的标签特征向量进行融合,将融合后的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量得到该样本的目标特征向量。
可选的,对于每个样本,该样本的目标特征向量是通过以下方式得到的:
对于每个所述样本,通过所述第一特征提取网络对该样本执行以下操作得到该样本的目标特征向量:提取该样本的初始特征向量;融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,并对融合后的特征向量进行特征提取,得到该样本的目标特征向量。
可选的,对于每个所述样本,所述训练操作还包括:
对该样本的目标特征向量进行量化处理,得到该样本对应的量化后的特征向量;
所述神经网络模型的训练总损失是通过以下方式确定的:
根据各所述样本的标注标签和目标特征向量,确定第一训练损失;根据各所述样本的目标特征向量与量化后的特征向量之间的差异,确定第二训练损失;根据所述第一训练损失和所述第二训练损失,确定所述神经网络模型的训练总损失。
可选的,所述神经网络模型的训练总损失是通过以下方式确定的:
对于所述多个样本中的每个样本对,根据该样本对中的两个样本所具有的相同标注标签的数量,确定该样本对的第一相似度,每个所述样本对为所述多个样本中的两个样本;
根据各所述样本对的第一相似度,确定各所述样本对中的第一样本对和第二样本对,其中,所述第一样本对的第一相似度大于所述第二样本对的第一相似度;
对于每个所述第一样本对,根据该第一样本对中两个样本的目标特征向量之间的差异度,得到该第一样本对所对应的训练损失;
对于每个所述第二样本对,根据该第二样本对中两个样本的目标特征向量之间的第二相似度,确定该第二样本对所对应的训练损失;
根据各所述第一样本对对应的训练损失、以及各所述第二样本对对应的训练损失,得到所述神经网络模型的训练总损失。
可选的,对于每个所述第一样本对,所述根据该第一样本对中两个样本的目标特征向量之间的差异度,得到该第一样本对所对应的训练损失,包括:
确定该第一样本对中两个样本的目标特征向量之间的差异度;
根据该第一样本对对应的第一相似度,确定该第一样本对对应的损失权重,其中,所述损失权重不小于1,且各所述第一样本对对应的损失权重与第一样本对对应的第一相似度成正相关;
将该第一样本对对应的第一相似度作为权重,对该第一样本对对应的差异度进行加权,得到该样本对对应的训练损失。
另一方面,本申请实施例提供了一种特征提取模型的训练方法,该方法包括:
获取训练集,所述训练集包括多个样本,每个样本具有至少一个标注标签,所述标注标签为样本的真实类别标签,每个标注标签为多个候选类别标签中的一个,所述样本为包含多媒体信息中的至少一种模态的信息的数据;
基于所述训练集对待训练的神经网络模型重复执行训练操作,直至满足预设条件,所述神经网络模型包括第一特征提取网络和第二特征提取网络,将满足所述预设条件时的第一特征提取网络作为训练好的特征提取模型;其中,所述训练操作包括以下步骤:
通过所述第二特征提取网络获取每个所述候选类别标签的标签特征向量;
对于每个所述样本,通过所述第一特征提取网络获取该样本的初始特征向量,并通过融合该初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量;
基于各所述样本的标注标签和目标特征向量,确定所述神经网络模型的训练总损失;
若不满足所述预设条件,则基于所述训练总损失对所述神经网络模型的模型参数进行调整。
可选的,所述训练集中的至少部分样本具有多个标注标签。
可选的,所述方法还包括:获取每个所述候选类别标签的初始语义向量,所述通过所述第二特征提取网络获取每个所述候选类别标签的标签特征向量,包括:
基于各所述候选类别标签的初始语义向量,通过所述第二特征提取模型学习各候选类别标签之间的语义关联性,并基于各候选类别标签之间的语义关联性、以及各所述候选类别标签的初始语义向量,通过特征融合,得到每个候选类别标签的标签特征向量。
另一方面,本申请实施例提供了一种特征提取模型的训练装置,该装置包括:
训练数据获取模块,用于获取训练集,所述训练集包括多个样本,每个样本具有至少一个标注标签,所述标注标签为样本的真实类别标签,每个标注标签为多个候选类别标签中的一个,所述样本为包含多媒体信息中的至少一种模态的信息的数据;
模型训练模块,用于基于所述训练集对待训练的神经网络模型重复执行训练操作,直至满足预设条件,所述神经网络模型包括第一特征提取网络和第二特征提取网络,将满足所述预设条件时的第一特征提取网络作为训练好的特征提取模型;其中,所述训练操作包括以下步骤:
通过所述第二特征提取网络获取每个所述候选类别标签的标签特征向量;
对于每个所述样本,通过所述第一特征提取网络获取该样本的初始特征向量,并通过融合该初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量;
基于各所述样本的标注标签和目标特征向量,确定所述神经网络模型的训练总损失;
若不满足所述预设条件,则基于所述训练总损失对所述神经网络模型的模型参数进行调整。
再一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过执行所述计算机程序以实现本申请任一可选实施例提供的方法。
本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一可选实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,该计算机产品包括计算机程序,所述计算机程序被处理器执行时实现本申请任一可选实施例提供的方法。
本申请实施例提供的技术方案带来的有益效果如下:
本申请实施例提供的数据处理方法,在确定待处理数据的类别或者是从数据集中确定与待处理数据相匹配的目标数据时,可以调用训练好的特征提取模型提取待处理数据的特征向量,并基于该特征向量确定出数据类别或者目标数据。本申请实施例中所采用的特征提取模型,在基于训练集即上述多个样本对神经网络模型进行训练的过程中,样本的目标特征向量中除了包含通过第一特征提取网络提取得到的包含样本自身语义信息的初始特征向量之外,还融入了通过第二特征提取网络学习出的样本的每个标注标签的标签特征向量。由于每个样本的标注标签代表了该样本的真实类别,因此,通过本申请实施例提供的该训练方法所学习到的每个样本的目标特征向量中,包含了样本自身的信息以及样本的类别表征信息,基于各样本的标注标签和目标特征向量得到的训练总损失来约束模型的参数更新的训练方式,可以使得训练得到的特征提取模型能够更好的学习到输入到该模型中的数据自身的语义信息和数据的相关类别信息,使得模型提取得到的数据的特征向量具有更好的特征表达能力和区分度,因此,基于该特征提取模型所提取得到出的待处理数据的特征向量,可以更加准确的确定出待处理数据的类别,或更加准确定的查找到与数据相配的目标数据,本申请实施例提供的方案,能够更好的满足实际应用需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据处理方法的流程示意图;
图2为本申请实施例提供的一种特征提取模型的训练方法的流程示意图;
图3为本申请实施例提供的一种图像检索系统的结构示意图;
图4为本申请提供的一种图像检索系统中的图像处理原理示意图;
图5为本申请实施例中提供的一种神经网络模型的结构及数据处理原理示意图;
图6为本申请实施例提供的一种模型训练阶段和应用阶段的实施流程示意图;
图7和图8为本申请实施例中提供的一种第二特征提取网络的结构示意图;
图9为本申请实施例中提供的一种数据处理装置的结构示意图;
图10为本申请实施例所适用的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
本申请实施例提供的方案,涉及人工智能(Artificial Intelligence,AI)技术,具体涉及到神经网络模型的训练以及神经网络模型的应用。比如,可以基于本申请实施例提供的训练方法,采用机器学习(Machine Learning,ML)方式对神经网络模型进行训练,可以训练得到性能更好的特征提取模型。在训练得到满足应用需求的特征提取模型之后,还可以基于该模型进行待处理数据进行特征提取,基于提取得到的特征,得到数据的分类结果,或者可以基于提取得到的特征,从数据库中确定出与待处理数据匹配的目标数据。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。随着人工智能技术的研究和进步,人工智能技术已经在常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等多个领域展开研究和应用,相信随着技术的发展,该技术将在更多的领域得到应用,并发挥越来越重要的价值。
可选的,本申请实施例提供的方法中所涉及的数据处理可以基于云技术实现。例如,可以基于云技术实现本申请提供的训练方法,训练过程中所涉及的各种数据计算可以采用云计算(cloud computing)。可选的,训练过程中所使用的各个训练集的存储还可以采用云存储(cloud storage)的方式存储。
为了更好的理解和说明本申请实施例提供的方案,下面首先对本申请实施例中所涉及的相关技术用语进行说明。
图像识别:可以是类别级别的识别,不考虑对象的特定实例,仅考虑对象的类别(如狗、猫、鸟等)进行的识别并给出对象所属类别。一个典型的例子是大型通用物体识别开源数据集imagenet中的识别任务,识别出某个物体是1000个类别中的哪一个。
二值量化:对于D维特征向量embedding,向量归一化后取值范围一般为-1~1浮点数,把特征压缩到指定位数(如48位)取值为0、1的二进制码(称48bit压缩)为向量二值量化,二值量化结果可以成为二值编码或二值向量。
二值量化索引:把D维特征向量通过某个计算过程(模型)得到有限比特位的二值向量,检索时以二值向量作为索引召回图像。
Imagenet:大型通用物体识别开源数据集。
Imagenet预训练模型:基于imagenet训练一个深度学习网络模型,得到该模型的参数权重即为imagenet预训练模型。
汉明距离(Hamming Distance):用于衡量二进制特征间的距离,通过统计数值不同的特征位数量作为距离实现,如二值向量1000与二值向量0011的汉明距离为3。
图像语义检索:对query图像(查询图像/检索图像)从图像库中找到与之语义相关的图像的检索过程,语义相关可以是类别(如同属于狗类别)相同或者属性(属性可以有多种,如黄色、快乐的、自然环境的等)相同的一类图像。
标签相关性:一张图像可以拥有很多标签,如公园、湖、草地等标签可以同时出现在一张图上,常常认为具有较大共现概率的两个标签间是相关的,如公园和草地经常一起出现,则相关性强,公园和荒漠于由于很少同时出现在一张图中,相关性弱。
目前,基于深度学习的数据的表征(如图像的哈希特征)进行数据的检索或分类的技术在工业界开始逐渐应用起来,以图像的哈希特征为例,现有常规学习语义哈希特征的方法常常忽略语义标签间的相关性,容易使得哈希特征对共现标签的区分度不高,会造成以下问题:
1)两个共现却不相关标签由于共现造成表征混淆,如学习到某一标签的信息却误以为是共现的另一标签的信息,如对具有较大共现概率的草地公园学习后,对草地图像也打上公园标签;
2)两个共现的相关标签,如足球场和草地相伴而存在,具有较多共性,相互间常常漏召回;
3)对于差异化样本,如对于只有1个标签相同、其他标签不相似的样本对,哈希特征没法有效区分,即具有相同标签的样本都可能表征为相似,但没有相似程度高低的区别,而实际应用需求上我们希望具备2个相同标签要比具备1个相同标签的样本对之间的哈希特征相似度要更大。
由于目前相关技术中基于神经网络提取得到的特征表征对共现标签的区分度不高,从而造成检索或其他应用中产生较多误报。为了解决上述问题中的至少一项或一点,以更好的满足应用需求,本申请实施例提供了一种新颖的特征提取模型的训练方法。
本申请实施例提供的特征提取模型的训练方法或数据处理方法可以由任意的计算机设备执行,如可以由终端设备或服务器执行。例如,可以将训练好的特征提取模型部署到应用程序的服务器中,使用者可以通过用户终端将需要处理的数据发送给服务器,服务器可以通过调用该特征提取模型对待处理数据进行特征提取,并基于提取出的特征向量得到待处理数据的处理结果,比如,可以将该特征提取模型作为分类模型的特征提取模块,基于提取出的特征向量,可以确定出待处理数据的类别,或者,待处理数据可以是检索请求中的图像,可以根据该图像的特征向量,从数据集中查找到与该图像相匹配的目标图像,如数据库中与该图像相似度最高的图像,或者是数据库中与该图像的相似度超过设定阈值的图像。
其中,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。上述用户终端(也可以称为用户设备)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、AR/VR设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可选的,本申请实施例提供的数据处理方法可以实现为一独立的应用程序或者是一应用程序的功能模块/插件,该应用程序的服务器可以通过调用训练好的特征提取模型实现对待处理数据的处理。比如,该应用程序可以具有图像检索功能的应用程序,该应用程序的服务器可以根据图像检索请求从图像数据库中检索到相似的图像,或者可以根据数据库中各图像的特征向量,实现是对数据库中图像进行去重处理。
本申请实施例提供的数据处理方法,可以应用于任何需要提取待处理数据的特征向量的应用场景中,可以包括但不限于上述数据分类、数据查询或数据去重等场景。
下面通过对几个示例性的实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1示出了本申请实施例提供的一种数据处理方法的流程示意图,如图1中所示,该方法可以包括:
步骤S110:获取待处理数据,其中,待处理数据为包含多媒体信息中的至少一种模态的信息的数据;
步骤S120:通过训练好的特征提取模型提取待处理数据的特征向量;
步骤S130:根据得到的特征向量,确定待处理数据的类别,或者从数据集中确定出与待处理数据相匹配的目标数据。
其中,上述特征提取模型是基于多个具有至少一个标注标签的样本,对神经网络模型重复执行训练操作得到的,样本的标注标签为样本的真实类别标签,每个标注标签为多个候选类别标签中的一个,神经网络模型包括第一特征提取网络和第二特征提取网络,特征提取模型为满足训练结束条件的第一特征提取网络;在训练过程中,通过第二特征提取网络获取每个候选类别标签的标签特征向量,通过第一特征提取网络获取每个所述样本的初始特征向量,并通过融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量,神经网络模型的训练总损失是基于各所述样本的标注标签和目标特征向量确定的。
其中,对于待处理数据的数据形式,本申请实施例不做限定,待处理数据可以是包含多媒体信息中的至少一种模态的信息的数据,模态指的是信息的来源或形式,可以是信息的媒介,待处理数据可以包括图像、文本或音频等模态的信息中的一种或多种。同样的,训练集(即上述多个样本)中的样本的数据形式是与待处理数据的数据形式对应的,对于不同的应用场景,训练集中样本的模态可以不同,样本可以是图像、音频、文本、视频或其他模态的数据。
本申请实施例,每个样本都具有一个或多个标注标签,可选的,训练集中至少有部分样本具有至少两个标注标签,一个样本的标注标签表征了该样本的真实类别,即真实类别标签,可选的,标注标签可以是类别名称。多个候选类别标签可以理解为标签集,训练集中所有样本的标注标签都是该标签集中的标签,即标签集中的候选类别标签包括训练集中所有样本的所有标注标签。
同样的,对于待处理数据,待处理数据的类别可以是至少一个,可选的,基于提取得到的特征向量,可以预测出待处理数据属于各个候选类别(也就是候选类别标签)的概率,这些概率中大于设定阈值的概率对应的候选类别为待处理数据的类别。
对于上述数据查询应用,数据集(或数据库)可以是检索数据库,目标数据可以是检索结果,数据集也可以是需要进行去重处理的数据集,目标数据为查询到的待处理数据的潜在重复数据或者是相似数据,可选的,可以通过特征提取模型提取得到数据集中每个数据的特征向量,通过计算待处理数据和数据集中各数据的特征向量之间的相似度,确定出目标数据,如将数据集中与待处理数据的相似度大于设定阈值的数据确定为目标数据,或者是按照相似度由大到小的顺序将数据集中的数据进行排序,将排序靠前设定数量的数据确定为目标数据。
基于本申请实施例提供的方法,所获取到的数据的特征向量可以具有更好的特征表达能力和区分度,因此,可以有效提升数据的处理效果,即可以更加准确的确定出待处理数据的类别,或更加准确定的查找到与数据相配的目标数据,能够更好的满足实际应用需求。
下面结合多种可选的实施例,对本申请所提供的特征提取模型的训练方法进行说明。
图2示出了本申请实施例提供的一种上述特征提取模型的训练方法的流程示意图,该方法可以由任一电子设备执行,可选的,可以由服务器(例如,云服务器)执行,下面以训练服务器作为执行主体为例进行说明,如图1所示,该方法包括以下步骤S210至步骤S240。
步骤S210:获取训练集,该训练集中包括多个样本,每个样本具有至少一个标注标签,标注标签为样本的真实类别标签,每个标注标签为多个候选类别标签中的一个。
对于训练集的获取方式,以及训练集中样本的类别的具体划分方式本申请实施例也不做限定,如可以是根据具体应用场景配置的训练集,比如,可以是在符合相关规定的前提下通过网络收集得到,样本的标注标签可以根据是根据预设的标注规则由人工标注,或者训练集可以是开源的训练数据集,如可以是现有的多标签分类模型的训练数据集。
作为一个示例,训练集可以是图像数据集,样本是训练图像(即样本图像),训练图像的一个或多个标注标签可以由人工标注,或者利用其他现有的图像多标签分类模型来预测训练图像的至少一个标签,将该预测的标签作为训练图像的标注标签。
步骤S220:基于训练集对待训练的神经网络模型重复执行训练操作,直至满足预设条件即训练结束条件,该神经网络模型包括第一特征提取网络和第二特征提取网络,将满足预设条件时的第一特征提取网络作为训练好的特征提取模型。
其中,上述训练操作可以包括如图2中所示的步骤S221至步骤S224:
步骤S221:通过第二特征提取网络获取每个候选类别标签的标签特征向量;
步骤S222:对于每个样本,通过第一特征提取网络获取该样本的初始特征向量,并通过融合该初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量;
步骤S223:基于各样本的标注标签和目标特征向量,确定神经网络模型的训练总损失;
步骤S224:若不满足预设条件,则基于训练总损失对神经网络模型的模型参数进行调整。
其中,神经网络模型的训练结束条件可以根据需求配置,可选的,预设条件可以包括模型的训练次数(即训练轮次epoch,一个完成的训练集通过神经网络一次并且返回了一次,这个过程称为一次epoch)达到设定次数,或者是模型的训练总损失满足一定条件,也就是通常所说的模型的损失函数收敛,比如,第一训练损失小于设定值或者连续设定次数的训练操作对应的训练损失均小于设定值。
本申请实施例中,第一特征提取网络是最终要训练得到的特征提取模型的初始模型结构,第二特征提取网络为第一特征提取网络的辅助训练网络,用于提升训练好的第一特征提取网络的模型性能。在基于训练集对神经网络模型进行训练时,可以同时对第一特征提取网络和第二特征提取网络进行迭代训练(即模型参数的学习),直至得到满足上述预设条件的第一特征提取网络。
由上述训练操作的过程可以看出,第一特征提取网络用于提取样本的特征向量,第二特征提取网络用于获取候选类别标签的标签特征向量。其中,对于第一特征提取网络和第二特征提取网络的具体模型结构,本申请实施例不做唯一限定。可选的,第一特征提取网络可以包括但不限于基于卷积神经网络(CNN,Convolutional Neural Network)的深度特征提取模型,该网络可以包括至少一层特征提取层(可选的,特征提取层可以包含有卷积(convolution)计算、非线性激活函数(Relu)计算、池化(Pooling)计算等操作)以及至少一层特征映射层。例如,特征提取层可以包括卷积层,特征映射层可以是全连接层,在全连接层为多个时,相邻层级的全连接层之间还可以连接有激活函数层。对于每个样本,可以经由第一特征提取网络的特征提取层进行特征提取,特征提取层提取的特征经由全连接层产生样本的初始特征向量,之后可以通过融合该初始特征向量和通过第二特征提取网络所提取得到的该样本的各标注标签的标签特征向量,得到该样本的目标特征向量。
可选的,对于每个样本,可以将该样本的初始特征和该样本的各标注标签的标签特征向量融合得到特征向量,作为该样本的目标特征向量,也可以通过第一特征提取网络对该样本执行以下操作得到该样本的目标特征向量:
提取该样本的初始特征向量;
融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,并对融合后的特征向量进行特征提取,得到该样本的目标特征向量。
其中,对于将每个样本的初始特征向量和样本的各标注标签的标签特征向量进行融合的具体方式,本申请实施例不做唯一限定,可选的,可以是将初始特征向量和各标注标签的标签特征向量进行向量相加,即将向量对应位置的元素值相加,将相加后的向量作为目标特征向量,或者由第一特征提取网络对相加后的向量进行特征再提取,得到目标特征向量。可选的,对于每个样本,可以将该样本的初始特征向量和该样本的标注标签的标签特征向量进行向量相乘,得到加权后的特征向量,将加权后的向量作为目标特征向量,或者由第一特征提取网络对加权后的向量进行特征再提取,得到目标特征向量。其中,在采用相乘方式获取目标特征向量时,样本的标注标签的特征向量可以看作初始特征向量的权重,可选的,标签特征向量中的各元素值可以是取值范围在0到1之间的数。
可选的,对于每个样本,上述通过融合该初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量,包括:
若该样本的标注标签为一个,则将该标注标签的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量,得到该样本的目标特征向量;
若该样本的标注标签为多个,则将该样本的多个标注标签的标签特征向量进行融合,将融合后的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量得到该样本的目标特征向量。
也就是说,如果样本的标注标签有多个,可以先对多个标签的标签特征向量进行融合(如求均值),再采用融合后的特征向量对初始特征向量进行加权乘法的计算,将加权后的特征向量作为样本的目标特征向量,或者是对加权后的特征向量再次进行特征提取,得到样本的目标特征向量。
可以理解的是,在得到训练好的第一特征提取网络之后,在采用该网络来获取待处理数据的特征向量时,是不存在上述特征融合的步骤,因为训练好的特征你提取模型在使用时是不包含第二特征提取网络这部分的结构的。
对于第二特征提取网络,该网络同样是可以包括至少一个层级的特征提取层以及至少一个层级的特征映射层,该网络用于提取得到各个候选类别标签的特征向量,其中,每个候选类别标签可以是对应类别的类别名称,如类别的中文名称,可以基于各个候选类别标签对应的中文名称,通过第二特征提取网络得到该名称对应的特征向量(即标签特征向量)。其中,各个标签的名称可以直接输入到第二特征提取网络中,由第二特征提取网络通过进行特征嵌入、特征提取及特征映射得到对应的特征向量,也可以是先通过预先训练好的其他特征提取模型来生成各候选标注标签的初始特征向量,再基于各个候选类别标签的该初始特征向量,通过第二特征提取网络得到各个候选类别标签的标签特征向量。
可以理解的是,在实际实施时,可以将训练集划分为多个批次(batch)的训练数据,每个batch中都可以包括多个样本,每次训练操作可以采用一个batch中的样本进行。对于一个batch中的各个样本,在通过神经网络模型得到各个样本的目标特征向量之后,如果不满足预设条件,可以基于各样本的标注标签和目标特征向量,计算得到模型的训练总损失,并基于训练总损失对神经网络模型的模型参数进行调整,如可以梯度下降算法对第一特征提取网络和第二特征提取网络的模型参数进行调整,并基于训练集对参数调整后的神经网络模型继续执行上述训练操作。
若模型的训练总损失满足一定条件或者模型的训练次数达到设定次数,可以认为模型满足训练结束条件,可以将此时的第一特征提取网络作为训练好的特征提取网络,当然,在得到满足条件的第一特征提取网络之后,还可以对该网络进行性能测试,如基于测试集中的样本对该网络的性能进行测试,如果测试通过,可以将此时的该网络作为训练好的特征提取模型,如果测试未通过,可以继续对上述神经网络模型进行训练操作。
对于模型的训练总损失的具体形式本申请实施例不做限定,可选的,对于每个训练操作,在得到各样本的目标特征向量之后,可以基于各样本的目标特征向量和标注标签之间的差异计算模型的训练总损失,比如,上述神经网络模型还可以包括分类模型,该分类模型用于基于各样本的目标特征向量,预测各样本的类别,可以基于各样本的预测类别和真实类别标签,计算训练总损失,该损失表征了各样本的预测类别和真实类别之间的差异。
作为另一可选方案,上述基于各样本的标注标签和目标特征向量,确定神经网络模型的训练总损失,可以包括:
对于上述多个样本中的每个样本对,根据该样本对中的两个样本所具有的相同标注标签的数量,确定该样本对的第一相似度;
根据各样本对的第一相似度,确定各样本对中的第一样本对和第二样本对,其中,第一样本对的第一相似度大于第二样本对的第一相似度;
对于每个第一样本对,根据该第一样本对中两个样本的目标特征向量之间的差异度,得到该第一样本对所对应的训练损失;
对于每个第二样本对,根据该第二样本对中两个样本的目标特征向量之间的第二相似度,确定该第二样本对所对应的训练损失;
根据各第一样本对对应的训练损失、以及各第二样本对对应的训练损失,得到神经网络模型的训练总损失。
可以理解的是,上述每个样本对是指训练集中的任意两个样本,假设一次训练操作所使用的一个batch的样本的数量为bs,那么这bs个样本产生bs*(bs-1)/2个样本对。由于训练集中的每个样本都带有标注标签,对于每个样本对,可以根据该样本对中两个样本的标注标签,确定该样本对中两个样本之间的第一相似度,其中,两个样本之间的共同标注标签越多,第一相似度越高。在确定出各个样本对之间的第一相似度,可以基于该相似度判别出各样本对中哪些样本对是相似样本对(即第一样本对,也可以成为正样本对)、哪些是不相似样本对(即第二样本对,也可以成为负样本对)。
可选的,对于每个样本对,若该样本对对应的第一相似度大于设定阈值,则确定该样本对为第一样本对,若该样本对对应的第一相似度小于或等于设定阈值,则将该样本对确定为第二样本对。其中,上述设定阈值可以根据实际需求配置,设定阈值可以是不小于0的正数,第一相似度大于该设定阈值的样本对作为相似样本对,小于或等于该设置阈值的样本对作为不相似样本对。
由于训练神经网络模型的目的,是为了让第一特征提取网络能够学习到能够更好的表征样本的目标特征向量,而相对于不相似样本对,相似样本对中的两个样本应该具有更为相似的特征向量,因此,在确定出各第一样本对和第二样本对之后,可以基于各第一样本对中两个样本的目标特征向量之间的差异度(如1减去相似度)、以及各第二样本对中两个样本的目标特征向量之间的相似度,计算得到模型的训练总损失,从而基于训练总损来约束模型的训练,使得模型学习到的相似样本对的目标特征向量之间的差异越来越小,不相似样本对的目标特征向量之间的差异越来越大。
可选的,在通过神经网络模型得到各个样本的目标特征向量之后,对于每个样本对,可以计算该样本对中两个样本的目标特征向量之间的第二相似度,对于第一样本对,采用1减去该样本对对应的第二相似度,得到该样本对对应的差异度,将该差异度作为该样本对对应的训练损失,对于第二样本对,可以之间将该样本对之间的第二相似度作为该样本对对应的训练损失,在得到各个样本对对应的训练损失之后,可以对这些样本对对应的训练损失进行求和或者求均值等操作,基于操作结果得到神经网络模型的训练总损失。
本申请实施例提供的训练方法,在获取样本的目标特征向量时,除了通过第一特征提取网络来学习包含样本语义信息的初始特征向量之外,为了更好的学习到不同样本之间的差异信息和关联信息,还通过第二特征网络来学习每个候选类别标签的标签特征向量,对于每个样本,通过融合该样本的初始特征向量和该样本的各个标注标签的标签特征向量,得到该样本的目标特征向量。由于每个样本的标注标签代表了该样本的真实类别,因此,通过本申请实施例提供的方法所学习到的每个样本的目标特征向量,融入了该样本自身的语义信息以及该样本所属的一个或多个真实类别的语义信息,基于各样本的标注标签和上述目标特征向量所训练得到的特征提取模型,能够更好的学习到输入到该模型中的数据自身的语义信息和数据的类别信息,得到更加有区分度的特征向量,通过该方式训练得到的特征提取模型能够更好的满足实际应用需求,尤其是在多标签分类的应用场景中,对于待处理数据,通过该模型可以得到具有更好的特征表达能力的特征向量,能够有效特征该数据的处理效果。
在一些实际应用场景中,为了提升处理效率,会对数据的特征向量进行量化处理,将图像的特征向量转化为向量维度为指定维度、且向量中元素的取值为特定取值的特征向量。比如在图像检索场景,在获取到图像的特征向量之后,可以通过对图像的特征向量进行二值量化处理,将图像的特征向量转化为取值为0、1的二进制编码,得到二值化后的特征向量,采用图像的二值向量进行图像检索,可以大大提高检索效率。
为了更好的满足实际应用需求,本申请的可选实施例中,上述训练操作还可以包括:
对于每个样本,对该样本的目标特征向量进行量化处理,得到该样本对应的量化后的特征向量;
上述基于各样本的标注标签和目标特征向量,确定神经网络模型的训练总损失,包括:
根据各样本的标注标签和目标特征向量,确定第一训练损失;
根据各样本的目标特征向量与量化后的特征向量之间的差异,确定第二训练损失;
根据第一训练损失和第二训练损失,确定神经网络模型的训练总损失。
可选的,在该可选方案中,模型的训练总损失包括两部分,一部分是相似度损失即第一训练损失,一部分是量化损失即第二训练损失,可以将两部分损失相加得到模型的训练总损失,或者为两部分损失预配置各自对应的权重,对两部分损失进行加权求和得到训练总损失。
在实际应用中,如果需要应用量化后的特征向量,在通过训练好的特征提取模型得到待处理数据的特征向量之后,由于需要将该特征向量映射到特定取值,如果量化前后的特征向量之间的差异过大,即使模型能够学习出具有很好的特征表达能力的特征向量,基于量化后的特征向量得到的数据处理效果也无法保证。为了避免该问题,本申请的该可选方案中,对于需要进行特征量化处理的应用场景中,在模型的训练过程中,除了基于各样本的标注标签和目标特征向量,计算相似度损失之外,还进一步考虑上述量化损失,以使得量化前后的特征向量都具有足够好的特征表达能力。
其中,对于样本的目标特征向量进行量化处理的具体方式,可以根据实际应用需求配置,本申请实施例不做限定。可选的,可以通过预先选择好的量化函数(比如sign函数即符号函数)对目标特征向量进行量化处理,通过计算各样本量化前后的特征向量之间的差异,得到第二训练损失。模型的训练损失可以通过将第一训练损失和第二训练损失进行求和得到,可选的,可以获取第一训练损失和第二训练损失各自对应的权重,采用该权重对两部分损失进行加权求和,得到模型的训练总损失。
可选的,本申请实施例中,样本的目标特征向量可以是样本的哈希特征,通过神经网络模型得到样本的哈希特征之后,可以对哈希特征进行量化处理(比如二值量化)得到量化后的特征向量。在实际应用中,如数据检索场景中,基于量化的特征向量进行数据检索,可以有效减少数据计算量。
为了进一步提升模型所学习到的样本的目标特征向量的区分度,本申请的可选实施例中,对于每个第一样本对,根据该第一样本对中两个样本的目标特征向量之间的差异度,得到该第一样本对所对应的训练损失,包括:
确定该第一样本对中两个样本的目标特征向量之间的差异度;
根据该第一样本对对应的第一相似度,确定该第一样本对对应的损失权重,其中,损失权重不小于1,且各第一样本对对应的损失权重与第一样本对对应的第一相似度成正相关;
将该第一样本对对应的第一相似度作为权重,对该第一样本对对应的差异度进行加权,得到该样本对对应的训练损失。
对于任一样本对,样本对之间的第一相似度是由样本对中两个样本的标注标签来确定的,两个样本相同的标注标签越多,两个样本的第一相似度越大。由于不同的相似度样本对所对应的第一相似度有可能是不同的,为了使得神经网络模型所学习到的第一相似度相对更高的相似样本对中的两个样本的目标特征向量之间的相似度,大于第一相似度相对较低的相似样本对之间的相似度,本申请实施例提供的该方案中,在计算各个第一样本对所对应的训练损失时,进一步考虑第一样本对之间的第一相似度,具体的,基于样本对对应的第一相似度,确定第一样本对对应损失权重(差异度的权重),且该权重不小于1,并采用该权重对第一样本对之间的差异度进行加权得到第一样本对所对应的损失权重,即对第一相似度相对更大的相似样本对对应的损失(差异度)赋予更大的权重,从而为了使得模型的训练总损失满足趋于0或者越小越好的学习策略,在模型的训练过程中,对于第一相似度相对更大的相似样本对中的两个样本,模型需要学习到的两个样本的目标特征向量的差异度相对更小,也就是第一相似度更高的两个样本之间的目标特征向量之间的相似度更高。
其中,对于每个第一样本对所对应的损失权重的具体确认方式,本申请实施例不做限定,理论上只要满足具有相同的标注标签越多的样本对所对应的损失权重越大即可。可选的,两个样本之间的第一相似度可以等于这两个样本所具有的相同的标注标签的数量,上述用于确定样本对是第一样本对还是第二样本对的设定阈值的取值可以为0,也就是说,只要两个样本具有至少一个相同的标注标签,则认为这两个样本是第一样本对,且样本对之间的第一相似度为该样本对中两个样本具有的相同标注标签的数量,可以采用第一样本对所对应的第一相似度作为该样本对对应的损失权重,比如,两个样本具有1个相同的标注标签,这两个样本之间的第一相似度以及对应的损失权重均为1。
在模型的训练过程中,对于每个候选类别标签的标签特征向量的学习,可以是基于类别标签的标签名称,通过第二特征提取网络直接学习得到,可以是先获取各个候选类别标签的初始语义向量,再基于各候选类别标签的初始语义向量,通过第二特征提取网络学习得到能够更好的区分不同标签的标签特征向量。
本申请实施例中,训练集中的至少部分样本可以包括至少两个标注标签,即一个样本可以同时拥有多个标注标签,例如,对于包含多个不同的对象的图像,该图像的标注标签可以同时包括对应多个不同对象的标签,如图像中包括公园、湖和草地,该图像可以包括分别对应于公园、湖和草地的三个类别标签,不同的两个样本之间的标注标签可能完全不同,也可能部分相同,也可能的完全相同。
在实际应用中,有些类别标签经常会同时出现,即具有较大的共现概率,而具有较大共现概率的标签之间通常是相关的,如公园和草地经常一起出现,公园和草地这两个标签的相关性较强,而公园和荒漠很少同时出现,公园和荒漠这两个标签的相关性较弱。考虑到不同的候选类别标签之间的语义相关性的差异,本申请实施例提供的训练方法,在将样本的各标注标签的标签特征向量融入到样本的目标特征向量时,还将不同类别标签之间的相关性融入到了模型的训练中,以进一步提升训练得到的特征提取模型所提取得到的数据的特征向量(即特征表示)的表征能力。具体的,本申请实施例提供的训练方法还可以包括:
获取每个候选类别标签的初始语义向量;
根据多个样本的标注标签,确定多个候选类别标签中两两标签之间的共现次数;
对于每个候选类别标签,根据该标签与多个候选类别标签中每个标签之间的共现次数,确定该标签与多个候选类别标签中每个标签之间的相关性,两个标签之间的相关性表征了两个标签之间的共现概率;
上述通过第二特征提取网络获取每个候选类别标签的标签特征向量,可以包括:
基于各候选类别标签的初始语义向量、以及每个候选类别标签与多个候选类别标签中每个标签之间相关性,通过第二特征提取网络提取得到每个候选类别标签的标签特征向量。
基于该可选方案,在通过第二特征提取网络获取每个候选类别标签的标签特征向量时,可以将候选类别标签之间的相关性作为指导信息,使得第二特征提取网络可以基于各个候选类别标签的初始语义向量以及候选类别标签之间的相关性,学习到更加有区分性的不同标签的标签特征向量,从而在通过将样本的初始特征向量和样本的标注标签(候选类别标签中的一个或多个)进行融合,得到样本的目标特征向量时,提升不同样本的目标特征向量的区分能力,提升模型的性能。
其中,对于每个候选类别标签的初始语义向量的获取方式本申请实施例不做限定。可选的,可以通过预先训练好的特征提取模型来获取各个候选类别标签的初始语义向量。比如,可以将各个候选类别标签的标签名称输入到基于Fasttext模型架构的特征提取网络中,通过Fasttext模型实现对各个候选类别标签的标签名称的特征嵌入,得到每个候选类别标签的初始语义向量。
本申请实施例提供的该方法中,对于每个候选类别标签,通过进行稠密特征的提取,可以得到包含了类别标签的语义信息的初始语义向量,与采用独热(one-hot)编码方式得到样本的标签向量的方式相比,基于各类别标签的初始语义向量,第二特征提取网络可以更好的学习到各个类别标签的语义表征,且各候选类别标签之间的相关性的加入,可以让第二特征提取网络能够根据类别标签之间的相关性的强弱进行更好的学习。
作为一可选方案,对于每个候选类别标签,该标签与多个候选类别标签中任一标签之间的相关性,可以与该标签和该任一标签之间的共现次数成正相关,比如,可以对所有标签之间的共现次数进行归一化处理,得到标签之间的相关性。为了更加准确地得到不同标签之间的相关性,本申请实施例还提供了另一种可选方案,具体的,对于每个候选类别标签,根据该标签与多个候选类别标签中每个标签之间的共现次数,确定该标签与多个候选类别标签中每个标签之间的相关性,可以包括:
根据多个样本的标注标签,确定每个候选类别标签在多个样本中的出现次数;
对于每个候选类别标签,将该标签与多个候选类别标签中每个标签的共现次数与该标签的出现次数的比值,作为该标签与所述多个候选类别标签中每个标签之间的共现概率,根据该标签与所述多个候选类别标签中每个标签之间的共现概率,得到该标签与多个候选类别标签中每个标签之间的相关性。
该可选方案中,一个候选类别标签A与另一个标签B之间的相关性,是由该标签A与标签B之间的共现次数、以及标签A在训练集中的各个样本中出现的次数决定的,其中,对于任意两个标签,这两个标签的共现次数是指样本的标注标签中同时包含这两个标签的样本的数量,也就是这两个标签出现作为标注标签同时出现在的样本的数量,比如,训练集中样本的数量为N1个,这N1个样本中有N2个样本的标注标签包括标签A,那么标签A的出现次数为N2,如果这N2个样本中有N3个样本的标注标签包括标签B,那么标签A和标签B的共现次数为N3,可以将N3和N2的比值作为标签A和标签B的共现概率,共现概率越大,说明标签A和标签B之间的标签相关性越高。可以理解的是,该可选方案中,标签A与标签B的共现概率不一定等于标签B与标签A的共现概率。
该可选方案中,进一步考虑各个候选类别标签各自的出现次数,通过将该标签与多个候选类别标签中每个标签的共现次数与该标签的出现次数的比值,作为该标签与各个标签之间的共现概率,基于共现概率得到标签之间的相关度,该方案不仅可以采用各标签在样本中的出现次数,实现共现概率的归一化处理,还可以使得确定出的标签之间的相关度更加客观、准确。这是因为,假设两个候选类别标签A和标签B在所有样本中的共现次数为t,但是标签A的出现次数为50,标签B的出现次数为100,那么对于标签A而言,标签A与标签B的共现概率作为t/50,对于标签B而言,标签B与标签A的共现概率为t/100,相比于只采用共现次数来计算两个标签之间的概率,该方式可以更加客观的得到相对于每个标签而言的,该标签与每个标签的共现概率,而不是对于具有相同共现次数的两个标签而言,无论是A相对于B,还是B相对于A,共现概率都一样。。
可选的,在确定出标签之间的共现概率之后,可以直接将该共现概率作为标签之间的相关性,也可以对该共现概率进行一定的预处理得到标签之间的相关性,比如,可以预先设置概率阈值,如果标签之间的共现概率小于概率阈值,可以将标签之间的相关性设置为0,如果标签之间的共现概率大于或等于概率阈值,可以直接将标签之间的共现概率作为标签之间的相关性。可以理解的是,假设候选类别标签的数量一共是Nc个,对于每个标签而言,可以计算得到该标签对应的Nc个相关性,其中,一个标签与自身的相关性为1,通过计算各标签与Nc个标签之间的相关性,可以得到一个相关性矩阵,该矩阵的行数和列数都是Nc,矩阵中的每一行或者每一列的元素值为一个标签与Nc个标签的相关性。
作为一可选方案,每个候选类别标签的标签特征向量可以是通过以下方式得到的:
对于每个候选类别标签,根据该标签与多个候选类别标签中每个标签之间的相关性,确定该标签与多个候选类别标签中每个标签之间的非相关性;
通过第二特征提取网络执行至少一次以下特征更新操作,将最后一次特征更新操作得到的每个候选类别标签的第二特征向量,作为每个候选类别标签的标签特征向量;其中,上述特征更新操作包括以下步骤:
基于各候选类别标签的初始语义向量之间的语义相关性,通过对各候选类别标签的初始语义向量进行特征融合,得到每个候选类别标签对应的第一特征向量;
对于每个候选类别标签,将该标签与多个候选类别标签中每个标签之间的非相关性作为权重,对多个候选类别标签中各标签的第一特征向量进行加权融合,基于加权融合后的特征向量得到该标签的第二特征向量,并将该第二特征向量作为下一次特征更新操作时该标签的初始语义向量。
可选的,对于每个候选类别标签,可以基于该标签的语义向量与多个候选类别标签中每个标签的语义向量之间的关联性,对多个候选类别标签中每个标签的语义向量进行融合,得到该标签的第一特征向量。具体的,关联性的计算可以是基于标签的初始语义向量进行,也可以是对标签的初始语义向量进行进一步的特征提取后,基于再提取后的标签的特征向量进行。
对于该可选方案,在实际实施时,第二特征提取网络可以是基于注意力机制的特征提取网络,例如,第一特征提取网络可以包括一个或多个级联的注意力层(每个注意力层对应一次特征更新操作),采用注意力机制,第二特征提取网络可以通过学习各候选类别标签的初始语义向量之间的语义相关性,实现对各候选类别标签的语义向量的融合,得到每个候选类别标签的上述第一特征向量。可选的,可以将各个候选类别标签的初始语义向量作为一个输入向量序列,可以采用基于自注意力机制的第二特征提取网络提取得到每个候选类别标签的第一特征向量,具体的,可以将上述输入向量序列作为第二特征提取模型的输入,第二特征提取网络分别对该序列中的每个候选类别标签的初始语义向量进行特征提取,得到每个候选类别标签各自对应的查询向量q(即查询向量query)、键向量k(即向量key)和值向量v(即向量value),对于每个候选类别标签,可以根据该标签的q和多个候选类别标签中每个标签的k计算该标签与每个标签的关联性,也就是注意力分数,将每个标签对应的关联性作为权重,对多个候选类别标签中每个标签的v进行加权求和,得到该标签对应的第一特征向量。
本申请的该可选方案中,由于每个第一特征向量融合了多个候选类别标签的语义信息,且融合是根据标签之间的关联性进行的,也就是说,每个候选类别标签的第一特征向量中包含了与该标签具有关联性的各个标签的语义信息,且关联性越大,包含的相应的类别标签的语义信息越多。因此,通过该方案学习到的标签的第一特征向量可以实现对标签的相关性学习,可以很好的学习到具有关联性的标签的共性信息,从而在将标注标签的标签特征向量融入样本的目标特征向量中时,可以使得标签关联性较高的样本的目标特征中包含标签之间的共性信息,提升了目标特征向量的表征能力。
进一步的,由于通过上述处理得到的每个候选类别标签的第一特征向量中已经学习到了标签之间的相关性,对于标签相关性较高但又不同的标签,如果过多的关注标签之间的共性信息,而忽略了每个标签自身的特性信息即不同标签之间的差异,很有可能造成相关性较高的标签的特征向量的区分度不高,导致不同标签的标签特征向量无法有效区分。为了解决该问题,本申请的该方案中,在得到每个候选类别标签的第一特征向量之后,可以采用基于候选类别标签之间的共现次数确定出的标签之间的相关性对第一特征向量进行处理,具体的,对于每个候选类别标签,可以采用该标签与多个候选类别标签中每个标签之间的非相关性,对多个候选类别标签中对应的各个标签的第一特征向量进行加权,并对加权后的各个标签的特征向量进行融合(如求和),得到该候选类别标签的第二特征向量,通过该方式得到的第二特征向量,可以实现对各候选类别标签之间的相关性的去除,学习得到每个候选类别标签各自更具有区分性的第二特征向量,基于该方式得到的类别标签的标签特征向量,可以进一步提高具有共现标签的样本之间的区分度。
本申请实施例提供的数据处理方法,可以适用于任何需要基于数据的特征向量进行数据处理任务中,可以包括电脑不限于上述数据分类或数据检索(确定目标数据),可以理解的是,上述数据检索可以包括数据搜索、数据去重等场景,如待处理数据可以是数据检索请求中的检索数据,数据集是被检索数据库,再比如,待处理数据可以是去重请求中的查询数据,数据集是需要进行去重处理的数据库。
为了更好的说明和理解本申请实施例提供的方案以及其实用价值,下面先结合具体的应用场景的实施例对本申请实施例提供的方案进行说明。
本申请实施例提供的方案可以应用于图像排重检索中,相应的,在该场景中,训练集中的样本是样本图像,标注标签是样本图像的类别标签,待处理数据是待处理图像。图3中示出了本场景实施例所适用的一种图像检索系统的结构示意图,如图3中所示,该系统可以包括训练服务器10、检索服务器20和用户终端30,其中,训练服务器10可以用于执行本申请实施例提供的训练方法,得到训练好的特征提取模型,训练好的特征提取模型可以部署到检索服务器20中,检索服务器20可以提供检索服务的应用程序的服务器,该应用程序的使用者可以其用户终端,通过应用程序的客户端发起数据检索请求,该请求中包括检索图像(也就是使用者指定的图像),检索服务器20在接收到检索请求之后,可以通过调用特征提取模型提取检索图像的图像表示向量即特征向量,并基于该特征向量从图像数据库中查找到与该检索图像相匹配的若干个图像,并将这若干个图像作为检索结果展示给用户终端。
图4示出了本申请实施例提供的一种神经网络模型的结构及数据处理原理示意图,图5示出了一种基于训练好的特征提取模型实现图像检索的原理示意图。图6示出了图像检索应用场景中的一种可选的图像数据处理的流程示意图。本申请实施例的总体实施流程可以分为模型训练阶段和模型应用两个阶段,其中,模型训练阶段可以由训练服务器10执行,模型的部署应用阶段由检索服务器20执行。下面结合图3至图6对本申请实施例提供的方案进行描述。
第一阶段:模型训练阶段
该阶段可以由训练服务器10执行,训练服务器10可以基于训练集中的样本对待训练的神经网络模型进行迭代训练,直至满足预设条件,得到训练好的特征提取模型。在图像检索应用场景中,训练集为样本图像集,样本图像集中包括大量的带有标注标签的样本图像,每个样本图像至少具有一个标注标签,样本图像集中至少部分样本图像具有至少两个标注标签,也就是说,样本图像可以是多标签图像。
模型的整体训练过程主要可以包括:1)数据准备:样本图像集、用于度量学习的相似样本对;2)多标签的Fasttext向量准备(每个候选类别标签的初始语义向量的获取);3)候选类别标签之间的相关度矩阵;4)模型前向传播及模型学习。
下面结合图6中所示的步骤S11至步骤S15对本应用场景中的模型训练方法的实施流程进行说明,其中,步骤S12至步骤S14的执行顺序可以调换或者可以同时执行的。
步骤S11:获取样本图像集。
对于样本图像的获取方式本申请实施例不做限定,比如,可以收集大量的图像,由人工或者采用已经训练好的图像多标签模型对图像进行打标签,得到大量带有标注标签的样本图像。例如,可以是基于开源的图像数据集预先训练得到多标签模型,将该模型作为打标签模型,通过该模型可以预测图像属于各个类别标签的概率,将概率大于阈值(阈值可以根据实际情况调整,如可以设置为0.5)的各个类别标签作为图像的标注标签。当然,也可以采用其他现有的可直接获取的多标签模型作为获取样本图像的标注标签的途径,例如,一种快捷的方式时可以采用业务应用中多标签模型。
在获取到样本图像集之后,在实际进行模型训练时,由于训练集的数据量通常都比较大,一般不会一次处理完所有样本图像,可以将样本图像集分为多个batch(批次),每次训练使用一个batch中的图像,假设样本图像集中的样本图像共N张,每个batch中包括bs张样本图像。
步骤S12:基于样本图像的标注标签,确定每个batch中的相似样本对和不相似样本对。
其中,相似样本对和不相似样本对用于计算模型的相似度损失(即第一训练损失),实现模型的度量学习。对于每个批次中的样本图像,需要获取到该批次下的相似样本对,即bs张样本图像中,每张图像与剩下的bs-1张图像组成的相似样本对和不相似样本对,每个批次共产生bs*(bs-1)/2个样本对。可选的,可以采用以下方式产生样本对:
首先,对每张样本图像可以采用one-hot的方式记录该图的多标签,作为一个示例,假设候选类别标签一共有4个,有4张样本图像,其中第一张样本图像具备两个标注标签,这2个标注标签为4候选类别标签中的第1个和第2个标签,第二张样本图像具备第2个和第3个标签,第三张样本图像具备第4个标签,第四张样本图像具备第1个、第2个和第3个标签,那么这4张样本图像的标注标签分别可以记录如下:
[1100],[0110],[0001],[1110]
然后,计算标签相似矩阵sim-matrix=Labels*Labels.T,其中,Labels表示标签矩阵,该矩阵中包括各个样本图像的标签记录,Labels.T表示矩阵的转置,*表示矩阵乘法,计算得到sim-matrix之后,将sim-matrix中每个样本与自身的标签相似度(第一相似度)置为0得到sim-matrix2(去除了自身相关的相似矩阵),sim-matrix2记录了每个样本与该样本之外的其他各个样本之间的标签相似度,也就是包含该样本的各个样本对的第一相似度。
仍以上述4张样本图像为例,该示例中的Labels可以表示如下:
Labels=[[1100],
[0110],
[0001],
[1110]]
Labels.T如下:
Labels.T=[[1001],
[1101],
[0101],
[0010]]
Labels和Labels.T相乘后得到Sim-matrix=[[2102],
[1202],
[0010],
[2203]]
Sim-matrix中的第一行[2102]表示第一个样本图像与第1~4个样本图像的标签相似度分别为2、1、0、2,去除样本与自身的相似性,得到[0102]。即样本图像间相似矩阵Sim-matrix2=[[0102],
[1002],
[0000],
[2200]]
由上述sim-matrix2可以得到相似样本对:如根据第一个样本图像的[0102]可以得到相似样本对:(样本图像1、样本图像2、相似权重1),(样本图像1、样本图像4、相似权重2),可以记录为(i,j,Wpair[i,j]),其中,i和j表示两个样本图像,Wpair[i,j]表示这两个图像之间的标签相似度,Wpair[i,j]=0表示两个样本图像不相似(即第二样本对)或不具备相同标签,Wpair[i,j]>0表示两个样本图像相似(即第一样本对),具备相同标签,且Wpair[i,j]值越大具备相同标签越大。
采用上述方式,可以根据每个batch中各个样本图像的标注标签,得到各个样本对中的相似样本对、不相似样本对以及每个样本对之间的标签相似度。
步骤S13:基于训练集中所有样本图像的标注标签,确定标签的相关性矩阵。
该步骤用于计算每个候选类别标签与多个候选类别标签中每一个标签的相关性,相关性矩阵是记录该相关性的矩阵,也可以称为相关注意力值adj矩阵,假设候选类别标签的总数量为Nc=100个,adj矩阵为一个100×100的矩阵,可选的,可以通过以下方式得到该矩阵:
a)对于100个标签中的每个标签,在训练集中统计该标签与100个标签中每个标签的共现次数,得到100x100的计数矩阵adj_count,其中,该矩阵中第i行的100个元素值表示第i个标签与100个标签中每个标签的共现次数;
b)对每个标签,计算其在训练集总出现的样本数label_count,label_count可以记录为一个100x1的向量,其中,该向量中的第i个值为第i个标签在所有样本图像中的出现次数。
c)对adj_count矩阵的第i行除以label_count第i位的值得到归一化的共现矩阵adj_norm(矩阵的值为0~1之间),又可称为标签的共现概率。
d)对adj_norm中小于设定值(如0.1)的值置为0(即共现概率小于某特定值,可以认为该共现无效)得到最终的共现adj矩阵,称为标签的相关矩阵。
步骤S14:获取每个候选类别标签的初始语义向量。
该步骤用于生成每个候选类别标签的词汇embedding(词汇的向量表示)即初始语义向量,其中,可以通过文本特征模型对每个候选类别标签的标签名称进行特征向量的提取,得到对应的词汇embedding。作为一可选方案,可以采用Fasttext模型来获取每个标签的词汇embedding,具体的,可以将每个候选类别标签的中文名称输入到Fasttext中,将输入的标签的名称转化为一个设定维度的特征向量,如1×300的向量,即初始语义向量包含300个特征值。
本申请实施例提供的该方案,将每个标签表示为了1×300的embedding,且该embedding是包含了标签的语义信息的,相比于把标签表示成1xNc的one-hot类型的向量(Nc表示标签的总数量,one-hot类型的标签表示仅有0或1的值,1表示图像含某个标签,0表示不含),本申请实施例提供的上述embedding方式得到的特征表示更稠密、且可以把各标签间的相似性压缩有利于后续训练过程中的相关性学习,此外,该方式得到的标签的表征维度不会随标签的数量而增加,避免了one-hot方式上可能出现Nc过大造成one-hot向量过长占用极大的训练资源造成训练速度不佳的问题。
本应用场景中,假设需要学习的类别标签有100个,则把100个标签依次输入到fasttext中,最终产生100x300的标签词汇embedding向量,为了区分于后续需要通过第二特征提取网络学习的标签embedding(标签特征向量),把fasttext的输出称为词汇embedding即初始语义向量。
步骤S15:基于样本图像集、上述相关性矩阵和各候选类别标签的词汇embedding,对神经网络模型进行迭代训练,得到训练好的特征提取模型。
图5中示出了本申请实施例提供的一种神经网络模型的结构示意图,如图5中所示,该模型中的第一特征提取网络包括图5中所示的卷积网络、全连接层Fc1和哈希层,第二特征提取网络包括图5中所示的相关学习模块和全连接层Fc2。最终所应用的特征提取模型为训练好的第一特征提取网络。
该神经网络模型的模型学习过程主要包括:模型的一个分支是经过CNN模块提取图像embedding,另一分支是基于所有的标签进行FastText嵌入后得到的各候选类别标签的词汇embedding以及各标签间的相关矩阵adj,然后经过相关自注意力层组成的相关学习模块提取本任务的标签embedding,图像embedding和标签embedding分别经过映射层(Fc1、Fc2)后映射到相同的特征维度,其中,图像embedding经过Fc1后得到特征向量为样本图像的初始特征向量,候选类别标签的标签embedding经过Fc2后得到的特征向量为标签的标签特征向量,然后通过将样本图像的初始特征向量和样本图像的标注标签的标签特征向量经过融合模块,得到标签相关权重控制下的图像embedding特征,然后经过哈希层得到浮点的哈希特征(本场景中样本图像的目标特征向量)。
训练过程中可以基于样本图像的哈希特征计算图像标签相似度损失(第一训练损失)和量化损失(第二训练损失),在基于训练好的特征提取模型对待处理图像进行处理时,可以通过上述CNN模块得到待处理图像的图像embedding,图像embedding依次经由经过Fc1和哈希层之后得到待处理图像的哈希特征,进一步,可以把浮点的哈希特征经过sign函数映射成二值哈希即量化后的特征向量,可以基于该向量进行检索。
本应用场景中:设Fc1和Fc2输出的向量维度均为256,候选类别标签总共100个,那么在训练过程中,经Fc2可得到100×256的向量即100个标签的标签特征向量,然后根据输入的样本图像的多标注标签选择所有100个标签中该图像带有的各标注标签,从100×256的向量中取该图像的各标注标签的标签特征向量并计算均值,假设样本图像有5个标注标签,则从100×256中找出这5个标签的标签特征向量,为5×256的向量,通过对5个256维的向量计算平均值得到一个1×256的向量,将该向量和Fc1输出的图像的1x256向量加权相乘(即图像的初始特征向量和图像的标注标签的标签特征向量融合)得到1×256的融合向量,该融合向量输入到哈希层得到哈希表征即目标特征向量,进一步,可以对哈希表征进行量化处理,得到样本图像对应的量化后的特征向量。训练时基于相似样本对和不相似样本对的哈希特征计算相似度损失和量化损失。
下面首先结合图5对神经网络模型的各部分进行说明,如图5所示,模型结构可以分为8部分:基础图像特征CNN模块、图像embedding映射模块(全连接层Fc1)、标签词汇embedding的相关矩阵adj(即标签相关性矩阵,图5中的相关值adj)、相关学习模块、标签embedding映射模块(全连接层Fc2)、两个embedding融合、哈希层、loss损失计算模块。可以理解的是,图5中所示出的对图像1和图像2进行特征提取的两个分支的CNN模块、Fc1、特征融合以及哈希层,模型中实质上只有其中一个分支,图5中只是了为了便于理解模型训练过程,示意性的画出了两个分支。图中的多标签1表示图像1的各标注标签,多标签2表示图像2的各标注标签。
对于模型中CNN模块、Fc1、Fc2以及哈希层等部分的具体网络架构,本申请实施例不做限定,只要能够实现相应功能的网络架构理论上都可以。下面给出了一种可选的各部分的结构:
1)可选的,基础图像特征模型即CNN可以采用Resnet101(一种残差网络)的基础特征提取层,该特征提取层可以包括多个卷积层和一个池化层。CNN模块也可以采用其他结构,如采用Resnet18。图像输入到该基础图像特征模型中,可以得到图像的深度特征。
2)由基础图像特征模型提取得到的深度特征进入图像embedding映射模块产生图像embedding映射,此处图像embedding映射模块为一层的全连接层Fc结构,可选的,该映射模块也可以采用一个或多个Fc+Relu激活结构的网络结构堆叠。本场景实施例中,embedding映射模块以Fc1为例,该模块的输出是1×256的特征向量,可以认为是图像的初始特征向量。
3)标签词汇的embedding的相关矩阵adj,该参数表示各个候选类别标签之间的相关信息,矩阵adj不需要学习,可以采用前文中提供的方法计算得到,本场景实施例中,该矩阵为100*100的矩阵。
4)相关学习模块(图5中所示的相关学习):可选的,该模块可以包括一个或多个级联的自注意力模块。下面以该模块包括两个自注意力模块为例,即两层自注意力层,每层输入输出维度可以不同。可选的,两层自注意力层的相关参数可以如下表所示,第一层的输出尺寸为Nc×1024,即Nc个标签中每个标签的特征维度为1024,第二层的输出尺寸为Nc×256,通过该模块可以得到每个标签256维的特征向量。
层名称 | 输出尺寸 | 层结构 |
自注意力1 | Nc×1024 | 注意力层 |
自注意力2 | Nc×256 | 注意力层 |
5)标签embedding映射模块,该模块用于产生标签embedding映射,可选的,标签embedding映射模块可以为一层的Fc结构,作为替代也可以是多个Fc+Relu激活结构的堆叠。该模块用于将相关学习模块输出的标签的特征向量进行特征映射,得到维度与图像embedding映射模块的输出维度相同的每个标签的标签特征向量。
6)embedding融合操作:融合操作是对图像embedding映射模块输出的1×256的图像向量和标签embedding映射模块输出的1×256的标签的特征向量进行融合,可选的,可以采用加权乘法融合,对于一个样本图像,以标签embedding映射模块输出该图像的标注标签的1×256的标签特征向量(如果有多个标注标签,对多个标签的标签特征向量求平均)作为权重,对该图像的1×256的图像向量进行加权(两个向量相同位置的特征值相乘),产生该图像的新的embedding,称为联合embedding。
7)哈希层,可选的,该层可以采用一个或多个全连接层Fc结构,对于融合后的联合embedding进行一次交叉学习后,输出浮点的哈希特征(目标特征向量)。哈希特征后续经过sign函数(量化处理)产生二值哈希,训练时直接用哈希特征计算训练损失(由于模型直接输出为浮点的哈希特征,需要把该浮点输出的每个值经过sign函数二值化得到的向量,才是最终实际应用中的二值哈希)。
下面结合图5中所示的神经网络模型的结构对该模型的训练过程进行详细说明。
1)参数初始化:
可以根据样本图像集中各个样本图像的标注标签,通过统计每个候选类别标签在样本图像集中的出现次数和标签在样本图像集中的共现次数,计算得到上述相关性矩阵adj。
对于基础图像特征模型,该模型的模型参数可以先进行预训练,采用预训练后的参数作为该部分的初始化参数。
对其他层,如上述映射层、相关学习层等,可以采用方差为0.01,均值为0的高斯分布进行模型参数的初始化。
2)设置需要学习的参数:基础图像特征模型的参数、图像embedding映射模块的参数、相关学习模块的参数、标签embedding映射模块的参数以及哈希层的参数。
3)学习率:可选的,可以采用lr=0.0005学习率,每经过10轮迭代后可以将lr变为原来的0.1倍。
4)学习过程:对全量数据(样本图像集中的所有样本图像)进行epoch轮迭代;每轮迭代处理一次全量样本(每次训练过程使用一个batch的数据,所有batch都完成一次训练为一轮迭代),直到某epoch下平均loss不再下降(模型的损失函数收敛)或者是达到一定的设定训练轮数。
5)对每个epoch的每轮迭代中的具体操作如下:把全量N个样本,每bs个样本为一个batch,分成Nb=N/bs个批次,对于每个batch,通过上述数据准备方法确定该batch中的相似样本对和不相似样本对,然后执行以下操作:
①模型前向:把模型的所有参数都设为需要学习状态,训练时神经网络模型对输入的一张样本图像进行前向计算得到哈希结果,用Q表示,Q为1x256向量,表示样本图像的哈希特征。
②训练总损失loss计算:对于每个样本对,计算样本对中两个样本图像的哈希特征之间的相似度损失similar-loss;对于每个样本图像,计算样本图像的量化损失codingloss(或称为quantization loss)。以上两种损失的平均值加权和作为总损失loss。两种损失的具体计算方式在后面再具体介绍。
③模型参数更新:采用随机梯度下降法SGD,把②的loss进行梯度后向计算得到全部模型参数的更新值,并更新网络即对模型的参数需要学习的参数进行调整。
对于每次训练过程,神经网络模型对样本图像的具体处理流程如下:
将每个样本图像(如图5中的图像1、图像2)输出到CNN中,得到图像的深度特征,该特征经由Fc1映射后得到图像的初始特征向量,100个类别标签(所有标签)通过Fasttext得到的100个标签的特征维度为300的词汇embedding即初始语义语义向量,100×300的词汇embedding和标签的相关性矩阵输入到相关学习模块中,通过该模块100个标签的处理后的特征向量(前文中最后一次特征更新操作得到的第二特征向量),这100个处理后的特征向量经由Fc2映射后得到100的标签的标签embedding,对于每个样本图像,通过融合模块将经由Fc1映射后得到的该图像的初始特征向量与100个标签中该图像的标注标签的标签embedding进行融合,并将融合后的特征输入到哈希层,得到该图像的哈希特征,哈希特征可以采用sign函数进行量化处理,得到量化后的特征向量。
图7和图8示出了本实施例中的相关学习模块的模型结构的示意图,图7为第一层自注意力层的结构,图8为第二层注意力层的结构,两个注意力层堆叠,图7和图8中的w和b为每个注意力层的模型参数,即权重矩阵w(weight)和偏置b(bias),第一个注意力层的权重矩阵为input-dim×h-dim大小的矩阵,偏置b为1×h-dim的矩阵,其中,input-dim为输入特征维度,也就是100个候选类别标签的词汇embedding的维度即300,h-dim为映射维度,也就是该注意力层输出的每个标签的隐层特征的维度。第二个注意力层的权重矩阵为h-dim×out-dim大小的矩阵,偏置b为1×h-dim的矩阵。
第一个注意力层的输入为Fasttext输出的100×300的词汇embedding以及100×100的相关矩阵adj,该注意力层的输出尺寸为100×h_dim,即100个标签的维度为h_dim的隐藏特征向量(第二特征向量),第二个注意力层的输入为第一个注意力层输出的100×h_dim和相关矩阵adj,该注意力层的输出尺寸为100×out_dim,即输入到Fc2中的100个标签的特征向量,本实施例中out_dim为256。每层自注意力层的操作过程如下:
如图7和图8所示,每个注意力层的输入1简称input,输入2简称为adj,首先将input与权重矩阵w进行矩阵乘法,从而把input的100个embedding维度映射成100个h_dim(hidden dimension,隐层特征维度)维度的隐层特征,矩阵乘法中隐层维度上每一个值均由输入的embedding所有300个维度加权融合得到,故得到的M1是第一次特征交叉得到的隐层特征结果,然后采用输入2即相关矩阵adj对M1隐层特征进行自相关去除(1-adj)后的矩阵相乘,得到M2,最后加上偏置得到注意力层的输出结果M3,计算原理可以表示如下:
M1=input×w
M2=(1-adj)×M1
M3=M2×b
第一个注意力层和第二个注意力层输入的不同是输入1的不同,第一个注意力层的输入1是100个标签对应的Fasttext的输出向量,第二个注意力层的输入1是第一个注意力层输出的100×h_dim的隐层特征向量。通过上述操作得到第二个注意力层输出的100×out_dim的输出(图5中所示的Lableembedding)之后,经由Fc2可以得到100×256的输出,即100个标签的标签特征向量。
在得到100个标签的256维的标签特征向量之后,则可以前文中描述的方式每个样本图像的Fc1的输出进行融合,并经由哈希层映射后得到样本图像的哈希特征。在得到各个样本图像的哈希特征之后,则可以计算模型的训练总损失,可以采用如下表达式计算训练总损失Ltotal:
其中,w1和w2表示第一训练损失(相似度损失)和第二训练损失(量化损失)的权重,Ns1表示一个batch中相似样本对S1的数量,Ns2表示一个batch中不相似样本对S2的数量,Lsim[x]表示Ns1个相似样本对中样本对x中两个样本的哈希特征的相似度(1-Lsim[x]为差异度),Wpair[i,j]表示标签相似度权重,越相似权重越大,也就是样本对x中两个样本i和j的标签相似度(即第一相似度,也就是两个样本具有的相同的标注标签的个数),Lsim[y]表示Ns2个不相似样本对中样本对y中两个样本的哈希特征的相似度,Lcoding[p]表示样本图像p的量化损失。
可选的,上述相似度Lsim[x]、Lsim[y]可以通过计算两个样本的哈希特征的向量内积得到,计算公式如下,相似度的取值范围是0~1,Hi和Hj表示两个样本图像的哈希特征,||Hi||2表示Hi的2范数。
本申请实施例中,对于任一相似样本对,Wpair[i,j]>0,希望Hi和Hj分布相同,即哈希特征之间的相似度接近1,在损失计算(Ltotal式)上则是希望1-Lsim接近0或越小越好,在Ltotal中乘以Wpair[i,j],是考虑到当i和j具有相同的标签数量越多,Wpair[i,j]越大,此时为了满足Ltotal趋向于0或者越小越好的学习策略,需要比Wpair[i,j]=1时更小的1-Lsim[i,j]效果,即比Wpair[i,j]=1时更大的Lsim[i,j],从而可以达到根据两个样本多标签的标签差异(相同标签数量、不同标签数量)来调节损失,使得哈希表征在共现标签会越多下相似度越大的效果。对于不相似样本,Wpair[i,j]=0,希望Lsim接近0或越小越好,故Ltotal中可以直接采用Lsim作为不相似样本对的损失。
对于每个样本图像的量化损失Lcoding[p],可选的,本场景实施例中可以采用sign函数将每个样本图像的哈希特征中的特征值量化为取值为1或-1的特征值,量化损失用于评估样本图像的量化结果是否足够接近1或-1,由于量化输出后最终应用需要映射到-1或1这两个值,在需要使用量化后的特征向量的应用场景中,若样本图像的哈希特征Q的每一位都足够接近1或-1,则上述triplet度量损失(相似度损失)则足够可以描述量化特征的应用情况,否则triplet度量效果即使再好也不代表应用中量化的表征足够好(这是因为在使用量化后的特征向量的实际应用场景中,待处理图像的哈希层输出会做一次sign量化才应用,从模型输出的哈希特征是浮点数,而应用是量化后的二值特征,会存在量化误差,对于这种场景,训练时如果不加入量化损失,如果量化误差非常大,会影响表征效果,导致图像检索效果不理想),故希望Q的每一位都足够接近1或-1。
可选的,每个样本图像的量化损失可以采用以下表达式计算得到:
其中,Qi为样本图像的哈希特征Q中第i位的特征值,本场景实施例中哈希层的输出维度为256,Bi为Qi量化后的特征值即量化目标,Bi由Qi经过sign函数(在实际应用中,也可以根据应用需求选择其他量化函数)产生,即采用符号函数产生量化学习任务的目标编码,对哈希特征Q的每一位Qi分别通过符号函数计算其目标编码Bi,最终Q的目标编码为B,之后可以采用回归损失regressionloss(上述量化损失Lcoding的计算公式)计算哈希特征Q与目标编码B之间的L2距离,得到样本图像的量化损失。通过不断的训练,可以使得样本图像的哈希特征Q与目标编码B越来越接近,即L2距离越来越小。
对于每次训练,在计算出训练总损失Ltotal之后,可以基于总损失采用梯度下降算法对模型中需要学习的参数进行更新,并对参数更新后的模型继续执行训练,直至得到满足条件的模型,将满足条件时的模型中的第一特征提取网络作为训练好的特征提取模型,也就是图5中所示的CNN模块、Fc1层和哈希层,可以将该特征提取模型部署到检索服务器20,检索服务器20可以通过调用该模型实现图像的准确检索。
第二阶段:模型应用阶段
如图6所示,模型应用阶段可以包括步骤S21至步骤S23,即接收终端发送的检索请求,通过特征提取模型对检索请求中的检索图像进行特征提取,得到检索图像的特征向量,可以基于该特征向量从图像数据库中查找相匹配的图像,得到检索结果,并将检索结果返回用户终端。其中,在通过训练好的特征提取模型得到检索图像的特征向量即哈希特征之后,对哈希特征进行量化处理,基于量化后的特征向量进行图像检索,以提高检索效率。
可选的,可以先采用训练好的特征提取模型对所有库存图像(图像数据库中的所有被检索图像)进行特征提取,得到每个被检索图像的哈希特征Q,Q经过sign函数转换得到每个被检索图像的二值向量并入库存储。对query图像(即检索图像)经过特征提取模型提取该图像的Q并经过二值化得到二值向量,将query图像的二值向量和存储的各个库存图像的二值向量一一对比,可以通过计算query图像和各个库存图像的二值向量之间的汉明距离,得到query图像和每个库存图像的相似度,针对二值向量的汉明距离计算可以加速计算效率,在计算出每个库存图像对应的汉明距离之后,可以根据距离从小到大的排序取排序靠前的k个(即topk)距离对应的库存图像,或者是距离小于设定距离的库存图像作为匹配图像(即检索结果)返回,从而可以检索到跟query图像具备语义相似的库存图像。
图4中示出了本申请实施例所适用的另一种图像检索方式的原理图,为了提高检索效率,检索服务器20可以先使用训练好的特征提取模型对图像数据库中的图像构建检索索引(索引系统构建),之后,将检索图像的量化后的特征向量和构建的索引系统实现检索,其中,基于模型输出的哈希特征进行图像检索的步骤可以如下:
1)通过模型获取到库存图像的哈希特征,该步骤用于通过模型提取得到图像数据库中每个被检索图像的哈希特征。
2)获取哈希特征的量化中心。
在得到图像数据库中每个被检索图像的哈希特征后,可以通过量化函数得到每个检索图像的量化特征,通过对图像数据库中所有被检索图像的量化特征进行聚类,可以得到若各个类(即簇),对于每个类,可以根据属于该类的各个被检索图像的量化特征,计算出该类的聚类中心(也就是代表一个类中所有哈希特征的中心向量,可以视为量化中心),比如,可以将所有被检索图像的量化特征进行kmeans聚类(一种常用的聚类方式)到Nt个聚类中心。
3)把Nt个量化中心作为检索时的索引(图4中所示的检索系统1,用于分桶检索),建立索引与图像数据库(量化中心与图像数据中各个被检索图像的量化特征)的关联关系。
4)在检索中根据query图像(即检索请求中检索图像)即的量化特征找到最近(即相似度最高)的设定数量的索引,将这些索引关联的被检索图像作为候选召回图像,即图4中的召回输出。
5)根据候选召回图像的量化特征与query图像的量化特征,计算query图像和各个候选召回图像的欧式距离,并按照距离从小到大的顺序对候选召回图像排序,并将排序后的前K个候选召回图像作为检索结果即最终的召回结果。
可以理解的是,在实际应用中,如果不考虑检索效率,可以直接基于哈希特征进行图像检索,如基于哈希特征进行聚类,得到若干个聚类中心,将该每种聚类中心作为索引,可以根据检索图像的哈希特征计算每个检索图像与各个聚类中心的相似度,找到相似度高的一个或多个聚类中心,再通过计算属于这些聚类中心的每个被检索图像的哈希特征与检索图像的哈希特征的相似度,得到检索结果,相应的,在训练过程中,则可以无需执行与量化损失相关的操作。可选的,特征提取模型也可以没有哈希层,可以将Fc1映射后的向量作为图像的特征向量,相应的,在训练过程中,可以直接将融合后的特征作为样本图像的目标特征向量。
本申请实施例提供的模型训练方法,在模型的训练过程中,图像的哈希特征可以充分学习到由标签相关性带来的图像embedding上的表征调整(将图像的标注标签的特征向量融合到了图像的哈希特征中)。通过相关学习模型,可以学习到去除了标签之间相关性的每个标签在特征空间上的非相关表达,因此,通过不断训练可以使得相关标签的冗余信息被抑制、差异信息得到表达,可以提升每个标签的标签特征向量的区分度,从而将每个样本图像的标注标签的标签特征向量和图像的特征向量融合,可以使得模型学习到更加有区分度的图像最终的特征表达,提高了最终训练得到的特征提取模型的性能,能够更好的满足应用需求。
对于本领域技术人员来说清楚的是,本申请实施例中所提供及采用的神经网络结构的具体结构可以包括但不限于前文中所提供的结构,如第一特征提取网络中的基础图像特征模型除了可以采用Resnet网络结构之外,也可以采用其他骨干(Backbone)网络,再比如,在采用预先训练的多标签获取模型来获取样本的标注标签时,多标注获取模型可以采用基于Resnet101的模型结构,也可以采用如swin-transformer(一种包含滑窗操作,具有层级设计的transformer模型)等模型结构,可以采用开源的imagenet或open image等训练数据集预训练得到多标签获取模型,还可以采用业务上应用的多标签模型等。其中,模型训练时网络的模型参数的初始化方式可以采用现有模型训练时任意的模型参数初始化方式,模型的损失函数中的预设参数以及模型参数的调整方式都可以根据实际需求调整。
以图像的处理场景为例,本申请提供的可选实施方案可以具有以下优势:
1)可以学习到多标签图像的相似度差异化的特征表示(如哈希特征):借助样本丰富的多标签语义相关关系即标签相似程度,提供图像表征时具备共同标签的图像的共性及异性区分信息,使得具备差异化相同标签下(既有相同标签又有不同标签)的两张图的相似度具备可区分的差异,避免部分标签共现的图像间区分度不高的问题。
2)利用标签相关性信息,避免共现标签间的特征冗余,同时提升差异标签的信息表达效果:可选的,可以借助相关矩阵在相关学习网络中的学习及修正产生多标签间的相关关系,基于该相关关系对标签的词汇embedding即初始语义向量进行调整,并产生标签embedding输出,从而使得标签相关性更容易被学习,最终借助标签embedding与图像embedding进行融合,输出更有表达能力的图像的最终表征。
3)将基于本申请实施例提供的训练方法训练得到的特征提取模型,应用到数据检索场景中,可以有效提升检索的准确率与召回率:借助多标签语义空间辅助补充度量学习的哈希空间,有效提升了模型对于共现标签和差异化标签的特征表达效果,从而实现更准确的召回。
4)借助标签的同性和共性信息融入模型学习中,可以实现具备越多相同标签的样本图像的哈希特征的相似度越大的效果,从而达到共现标签相似度的可区分性。
5)可以去除多标签相关关系带来的特征冗余:借助自注意力相关性学习及抑制表征中过多的重复相关性信息,可以去除语义接近的两个标签的冗余信息,从而允许提升不相关标签的不相关信息表征效果,最终实现图像表征的更有效学习。
对应于本申请实施例提供的数据处理方法,本申请实施例还提供了一种数据处理装置,如图9所示,该数据处理装置100可以包括待处理数据获取模块110和数据处理模块120。
待处理数据获取模块110,用于获取待处理数据,其中,待处理数据为包含多媒体信息中的至少一种模态的信息的数据;
数据处理模块120,用于通过训练好的特征提取模型提取待处理数据的特征向量,根据所述特征向量,确定待处理数据的类别,或者从数据集中确定出与待处理数据相匹配的目标数据;
其中,特征提取模型是基于多个具有至少一个标注标签的样本,对神经网络模型重复执行训练操作得到的,标注标签为样本的真实类别标签,每个标注标签为多个候选类别标签中的一个,神经网络模型包括第一特征提取网络和第二特征提取网络,特征提取模型为满足训练结束条件的第一特征提取网络;
在训练过程中,通过第二特征提取网络获取每个候选类别标签的标签特征向量,通过第一特征提取网络获取每个样本的初始特征向量,并通过融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量,神经网络模型的训练总损失是基于各样本的标注标签和目标特征向量确定的。
可选的,上述特征提取模型可以是由模型训练装置对神经网络模型执行训练操作得到的,其中,模型训练装置可以用于:
基于训练集(即上述多个样本)对待训练的神经网络模型重复执行训练操作,直至满足预设条件,神经网络模型包括第一特征提取网络和第二特征提取网络,将满足预设条件时的第一特征提取网络作为训练好的特征提取模型;其中,训练操作包括以下步骤:
通过第二特征提取网络获取每个候选类别标签的标签特征向量;
对于每个样本,通过第一特征提取网络获取该样本的初始特征向量,并通过融合该初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量;
基于各样本的标注标签和目标特征向量,确定神经网络模型的训练总损失;
若不满足预设条件,则基于训练总损失对神经网络模型的模型参数进行调整。
可选的,上述训练过程还包括:获取每个候选类别标签的初始语义向量;根据多个样本的标注标签,确定多个候选类别标签中两两标签之间的共现次数;对于每个候选类别标签,根据该标签与多个候选类别标签中每个标签之间的共现次数,确定该标签与多个候选类别标签中每个标签之间的相关性,两个标签之间的相关性表征了两个标签之间的共现概率;
每个候选类别标签的标签特征向量是通过以下方式得到的:
基于各候选类别标签的初始语义向量、以及每个候选类别标签与多个候选类别标签中每个标签之间相关性,通过第二特征提取网络提取得到每个候选类别标签的标签特征向量。
可选的,每个候选类别标签的标签特征向量是通过以下方式得到的:
对于每个候选类别标签,根据该标签与多个候选类别标签中每个标签之间的相关性,确定该标签与多个候选类别标签中每个标签之间的非相关性;
通过第二特征提取网络执行至少一次以下特征更新操作,基于最后一次特征更新操作得到的每个候选类别标签的第二特征向量,得到每个候选类别标签的标签特征向量;其中,特征更新操作包括以下步骤:
基于各候选类别标签的初始语义向量之间的语义相关性,通过对各候选类别标签的初始语义向量进行特征融合,得到每个候选类别标签对应的第一特征向量;
对于每个候选类别标签,将该标签与多个候选类别标签中每个标签之间的非相关性作为权重,对多个候选类别标签中各标签的第一特征向量进行加权融合,基于加权融合后的特征向量得到该标签的第二特征向量,并将该第二特征向量作为下一次特征更新操作时该标签的初始语义向量。
可选的,每个候选类别标签与多个候选类别标签中每个标签之间的相关性是通过以下方式得到的:
根据多个样本的标注标签,确定每个候选类别标签在多个样本中的出现次数;
对于每个候选类别标签,将该标签与多个候选类别标签中每个标签的共现次数与该标签的出现次数的比值,作为该标签与多个候选类别标签中每个标签之间的共现概率,根据共现概率得到该标签与多个候选类别标签中每个标签之间的相关性。
可选的,对于每个样本,该样本的目标特征向量是通过以下方式得到的:
若该样本的标注标签为一个,则将该标注标签的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量,得到该样本的目标特征向量;
若该样本的标注标签为多个,则将该样本的多个标注标签的标签特征向量进行融合,将融合后的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量得到该样本的目标特征向量。
可选的,每个样本的目标特征向量是通过以下方式得到的:
对于每个样本,通过第一特征提取网络对该样本执行以下操作得到该样本的目标特征向量:
提取该样本的初始特征向量;
融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,并对融合后的特征向量进行特征提取,得到该样本的目标特征向量。
可选的,上述训练操作还包括:对该样本的目标特征向量进行量化处理,得到该样本对应的量化后的特征向量;
神经网络模型的训练总损失是通过以下方式得到的:
根据各样本的标注标签和目标特征向量,确定第一训练损失;根据各样本的目标特征向量与量化后的特征向量之间的差异,确定第二训练损失;根据第一训练损失和第二训练损失,确定神经网络模型的训练总损失。
可选的,神经网络模型的训练总损失是通过以下方式确定的:
对于多个样本中的每个样本对,根据该样本对中的两个样本所具有的相同标注标签的数量,确定该样本对的第一相似度;
根据各样本对的第一相似度,确定各样本对中的第一样本对和第二样本对,其中,第一样本对的第一相似度大于第二样本对的第一相似度;
对于每个第一样本对,根据该第一样本对中两个样本的目标特征向量之间的差异度,得到该第一样本对所对应的训练损失;
对于每个第二样本对,根据该第二样本对中两个样本的目标特征向量之间的第二相似度,确定该第二样本对所对应的训练损失;
根据各第一样本对对应的训练损失、以及各第二样本对对应的训练损失,得到神经网络模型的训练总损失。
可选的,对于每个第一样本对,该第一样本对所对应的训练损失是通过以下方式得到的:
确定该第一样本对中两个样本的目标特征向量之间的差异度;
根据该第一样本对对应的第一相似度,确定该第一样本对对应的损失权重,其中,损失权重不小于1,且各第一样本对对应的损失权重与第一样本对对应的第一相似度成正相关;
将该第一样本对对应的第一相似度作为权重,对该第一样本对对应的差异度进行加权,得到该样本对对应的训练损失。
可以理解的是,本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行存储器中存储的计算机程序时可实现本申请任一可选实施例中的方法。
图10示出了本发明实施例所适用的一种电子设备的结构示意图,如图10所示,该电子设备可以为服务器或者用户终端,该电子设备可以用于实施本发明任一实施例中提供的方法。
如图10中所示,该电子设备2000主要可以包括至少一个处理器2001(图10中示出了一个)、存储器2002、通信模块2003和输入/输出接口2004等组件,可选的,各组件之间可以通过总线2005实现连接通信。需要说明的是,图10中示出的该电子设备2000的结构只是示意性的,并不构成对本申请实施例提供的方法所适用的电子设备的限定。
其中,存储器2002可以用于存储操作系统和应用程序等,应用程序可以包括在被处理器2001调用时实现本发明实施例所示方法的计算机程序,还可以包括用于实现其他功能或服务的程序。存储器2002可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和计算机程序的其他类型的动态存储设备,也可以是EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(CompactDisc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器2001通过总线2005与存储器2002连接,通过调用存储器2002中所存储的应用程序实现相应的功能。其中,处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
电子设备2000可以通过通信模块2003(可以包括但不限于网络接口等组件)连接到网络,以通过网络与其它设备(如用户终端或服务器等)的通信,实现数据的交互,如向其他设备发送数据或从其他设备接收数据。其中,通信模块2003可以包括有线网络接口和/或无线网络接口等,即通信模块可以包括有线通信模块或无线通信模块中的至少一项。
电子设备2000可以通过输入/输出接口2004可以连接所需要的输入/输出设备,如键盘、显示设备等,电子设备200自身可以具有显示设备,还可以通过接口2004外接其他显示设备。可选的,通过该接口2004还可以连接存储装置,如硬盘等,以可以将电子设备2000中的数据存储到存储装置中,或者读取存储装置中的数据,还可以将存储装置中的数据存储到存储器2002中。可以理解的,输入/输出接口2004可以是有线接口,也可以是无线接口。根据实际应用场景的不同,与输入/输出接口2004连接的设备,可以是电子设备2000的组成部分,也可以是在需要时与电子设备2000连接的外接设备。
用于连接各组件的总线2005可以包括一通路,在上述组件之间传送信息。总线2005可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。根据功能的不同,总线2005可以分为地址总线、数据总线、控制总线等。
可选的,对于本发明实施例所提供的方案而言,存储器2002可以用于存储执行本发明方案的计算机程序,并由处理器2001来运行,处理器2001运行该计算机程序时实现本发明实施例提供的方法或装置的动作。
基于与本申请实施例提供的方法相同的原理,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的相应内容。
本申请实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时可实现前述方法实施例的相应内容。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
获取待处理数据,其中,所述待处理数据为包含多媒体信息中的至少一种模态的信息的数据;
通过训练好的特征提取模型提取所述待处理数据的特征向量;
根据所述待处理数据的特征向量,确定所述待处理数据的类别,或者从数据集中确定出与所述待处理数据相匹配的目标数据;
其中,所述特征提取模型是基于多个具有至少一个标注标签的样本,对神经网络模型重复执行训练操作得到的,所述标注标签为样本的真实类别标签,每个所述标注标签为多个候选类别标签中的一个,所述神经网络模型包括第一特征提取网络和第二特征提取网络,所述特征提取模型为满足训练结束条件的第一特征提取网络;
在训练过程中,通过所述第二特征提取网络获取每个所述候选类别标签的标签特征向量,通过所述第一特征提取网络获取每个所述样本的初始特征向量,并通过融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量,所述神经网络模型的训练总损失是基于各所述样本的标注标签和目标特征向量确定的。
2.根据权利要求1所述的方法,其特征在于,所述训练过程还包括:
获取每个所述候选类别标签的初始语义向量;
根据所述多个样本的标注标签,确定所述多个候选类别标签中两两标签之间的共现次数;
对于每个所述候选类别标签,根据该标签与所述多个候选类别标签中每个标签之间的共现次数,确定该标签与所述多个候选类别标签中每个标签之间的相关性,两个标签之间的相关性表征了两个标签之间的共现概率;
每个所述候选类别标签的标签特征向量是通过以下方式得到的:
基于各所述候选类别标签的初始语义向量、以及每个所述候选类别标签与所述多个候选类别标签中每个标签之间相关性,通过所述第二特征提取网络提取得到每个所述候选类别标签的标签特征向量。
3.根据权利要求2所述的方法,其特征在于,每个所述候选类别标签的标签特征向量是通过以下方式得到的:
对于每个所述候选类别标签,根据该标签与所述多个候选类别标签中每个标签之间的相关性,确定该标签与所述多个候选类别标签中每个标签之间的非相关性;
通过所述第二特征提取网络执行至少一次以下特征更新操作,并基于最后一次特征更新操作得到的每个候选类别标签的第二特征向量,得到每个所述候选类别标签的标签特征向量;
其中,所述特征更新操作包括以下步骤:
基于各所述候选类别标签的初始语义向量之间的语义相关性,通过对各所述候选类别标签的初始语义向量进行特征融合,得到每个所述候选类别标签对应的第一特征向量;
对于每个所述候选类别标签,将该标签与所述多个候选类别标签中每个标签之间的非相关性作为权重,对所述多个候选类别标签中各标签的第一特征向量进行加权融合,基于加权融合后的特征向量得到该标签的第二特征向量,并将该第二特征向量作为下一次特征更新操作时该标签的初始语义向量。
4.根据权利要求2所述的方法,其特征在于,所述对于每个所述候选类别标签,根据该标签与所述多个候选类别标签中每个标签之间的共现次数,确定该标签与所述多个候选类别标签中每个标签之间的相关性,包括:
根据所述多个样本的标注标签,确定每个所述候选类别标签在所述多个样本中的出现次数;
对于每个所述候选类别标签,将该标签与所述多个候选类别标签中每个标签的共现次数与该标签的出现次数的比值,作为该标签与所述多个候选类别标签中每个标签之间的共现概率,根据所述共现概率得到该标签与所述多个候选类别标签中每个标签之间的相关性。
5.根据权利要求1所述的方法,其特征在于,对于每个所述样本,该样本的目标特征向量是通过以下方式得到的:
若该样本的标注标签为一个,则将该标注标签的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量,得到该样本的目标特征向量;
若该样本的标注标签为多个,则将该样本的多个标注标签的标签特征向量进行融合,将融合后的标签特征向量作为该样本的初始特征向量的权重向量,采用该权重向量对该样本的初始特征向量进行加权,基于加权后的特征向量得到该样本的目标特征向量。
6.根据权利要求1所述的方法,其特征在于,对于每个所述样本,该样本的目标特征向量是通过以下方式得到的:
对于每个所述样本,通过所述第一特征提取网络对该样本执行以下操作得到该样本的目标特征向量:
提取该样本的初始特征向量;
融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,并对融合后的特征向量进行特征提取,得到该样本的目标特征向量。
7.根据权利要求1所述的方法,其特征在于,对于每个所述样本,所述训练操作还包括:
对该样本的目标特征向量进行量化处理,得到该样本对应的量化后的特征向量;
所述神经网络模型的训练总损失是通过以下方式确定的:
根据各所述样本的标注标签和目标特征向量,确定第一训练损失;
根据各所述样本的目标特征向量与量化后的特征向量之间的差异,确定第二训练损失;
根据所述第一训练损失和所述第二训练损失,确定所述神经网络模型的训练总损失。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述神经网络模型的训练总损失是通过以下方式确定的:
对于所述多个样本中的每个样本对,根据该样本对中的两个样本所具有的相同标注标签的数量,确定该样本对的第一相似度,每个所述样本对为所述多个样本中的两个样本;
根据各所述样本对的第一相似度,确定各所述样本对中的第一样本对和第二样本对,其中,所述第一样本对的第一相似度大于所述第二样本对的第一相似度;
对于每个所述第一样本对,根据该第一样本对中两个样本的目标特征向量之间的差异度,得到该第一样本对所对应的训练损失;
对于每个所述第二样本对,根据该第二样本对中两个样本的目标特征向量之间的第二相似度,确定该第二样本对所对应的训练损失;
根据各所述第一样本对对应的训练损失、以及各所述第二样本对对应的训练损失,得到所述神经网络模型的训练总损失。
9.根据权利要求8所述的方法,其特征在于,对于每个所述第一样本对,所述根据该第一样本对中两个样本的目标特征向量之间的差异度,得到该第一样本对所对应的训练损失,包括:
确定该第一样本对中两个样本的目标特征向量之间的差异度;
根据该第一样本对对应的第一相似度,确定该第一样本对对应的损失权重,其中,所述损失权重不小于1,且各所述第一样本对对应的损失权重与第一样本对对应的第一相似度成正相关;
将该第一样本对对应的第一相似度作为权重,对该第一样本对对应的差异度进行加权,得到该样本对对应的训练损失。
10.一种数据处理装置,其特征在于,包括:
待处理数据获取模块,用于获取待处理数据,其中,所述待处理数据为包含多媒体信息中的至少一种模态的信息的数据;
数据处理模块,用于通过训练好的特征提取模型提取所述待处理数据的特征向量,根据所述特征向量,确定所述待处理数据的类别,或者从数据集中确定出与所述待处理数据相匹配的目标数据;
其中,所述特征提取模型是基于多个具有至少一个标注标签的样本,对神经网络模型重复执行训练操作得到的,所述标注标签为样本的真实类别标签,每个所述标注标签为多个候选类别标签中的一个,所述神经网络模型包括第一特征提取网络和第二特征提取网络,所述特征提取模型为满足训练结束条件的第一特征提取网络;
在训练过程中,通过所述第二特征提取网络获取每个所述候选类别标签的标签特征向量,通过所述第一特征提取网络获取每个所述样本的初始特征向量,并通过融合该样本的初始特征向量和该样本的各标注标签的标签特征向量,得到该样本的目标特征向量,所述神经网络模型的训练总损失是基于各所述样本的标注标签和目标特征向量确定的。
11.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过执行所述计算机程序以实现权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210927628.0A CN115186764A (zh) | 2022-08-03 | 2022-08-03 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210927628.0A CN115186764A (zh) | 2022-08-03 | 2022-08-03 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115186764A true CN115186764A (zh) | 2022-10-14 |
Family
ID=83522129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210927628.0A Pending CN115186764A (zh) | 2022-08-03 | 2022-08-03 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115186764A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010636A (zh) * | 2022-12-01 | 2023-04-25 | 广东工业大学 | 一种基于美术图像标签的检索推送方法及其用途 |
CN116028882A (zh) * | 2023-03-29 | 2023-04-28 | 深圳市傲天科技股份有限公司 | 用户标注和分类方法、装置、设备及存储介质 |
CN116091253A (zh) * | 2023-04-07 | 2023-05-09 | 北京亚信数据有限公司 | 医保风控数据采集方法及装置 |
CN116340552A (zh) * | 2023-01-06 | 2023-06-27 | 北京达佳互联信息技术有限公司 | 一种标签排序方法、装置、设备及存储介质 |
CN116662811A (zh) * | 2023-06-13 | 2023-08-29 | 无锡物联网创新中心有限公司 | 一种工业设备的时序状态数据重构方法及相关装置 |
CN117349344A (zh) * | 2023-10-23 | 2024-01-05 | 广州欧派创意家居设计有限公司 | 一种基于大数据的产品销售数据智能采集方法及系统 |
CN117371533A (zh) * | 2023-11-01 | 2024-01-09 | 深圳市马博士网络科技有限公司 | 一种生成数据标签规则的方法及装置 |
-
2022
- 2022-08-03 CN CN202210927628.0A patent/CN115186764A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010636A (zh) * | 2022-12-01 | 2023-04-25 | 广东工业大学 | 一种基于美术图像标签的检索推送方法及其用途 |
CN116010636B (zh) * | 2022-12-01 | 2023-08-11 | 广东工业大学 | 一种基于美术图像标签的检索推送方法及其用途 |
CN116340552A (zh) * | 2023-01-06 | 2023-06-27 | 北京达佳互联信息技术有限公司 | 一种标签排序方法、装置、设备及存储介质 |
CN116028882B (zh) * | 2023-03-29 | 2023-06-02 | 深圳市傲天科技股份有限公司 | 用户标注和分类方法、装置、设备及存储介质 |
CN116028882A (zh) * | 2023-03-29 | 2023-04-28 | 深圳市傲天科技股份有限公司 | 用户标注和分类方法、装置、设备及存储介质 |
CN116091253A (zh) * | 2023-04-07 | 2023-05-09 | 北京亚信数据有限公司 | 医保风控数据采集方法及装置 |
CN116091253B (zh) * | 2023-04-07 | 2023-08-08 | 北京亚信数据有限公司 | 医保风控数据采集方法及装置 |
CN116662811A (zh) * | 2023-06-13 | 2023-08-29 | 无锡物联网创新中心有限公司 | 一种工业设备的时序状态数据重构方法及相关装置 |
CN116662811B (zh) * | 2023-06-13 | 2024-02-06 | 无锡物联网创新中心有限公司 | 一种工业设备的时序状态数据重构方法及相关装置 |
CN117349344A (zh) * | 2023-10-23 | 2024-01-05 | 广州欧派创意家居设计有限公司 | 一种基于大数据的产品销售数据智能采集方法及系统 |
CN117349344B (zh) * | 2023-10-23 | 2024-03-05 | 广州欧派创意家居设计有限公司 | 一种基于大数据的产品销售数据智能采集方法及系统 |
CN117371533A (zh) * | 2023-11-01 | 2024-01-09 | 深圳市马博士网络科技有限公司 | 一种生成数据标签规则的方法及装置 |
CN117371533B (zh) * | 2023-11-01 | 2024-05-24 | 深圳市马博士网络科技有限公司 | 一种生成数据标签规则的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115186764A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN108038183B (zh) | 结构化实体收录方法、装置、服务器和存储介质 | |
CN110349568B (zh) | 语音检索方法、装置、计算机设备及存储介质 | |
CN111078837B (zh) | 智能问答信息处理方法、电子设备及计算机可读存储介质 | |
CN111488426A (zh) | 一种查询意图确定方法、装置及处理设备 | |
CN111259144A (zh) | 多模型融合文本匹配方法、装置、设备和存储介质 | |
CN111159407A (zh) | 训练实体识别和关系分类模型的方法、装置、设备及介质 | |
CN108509521B (zh) | 一种自动生成文本索引的图像检索方法 | |
CN114358188A (zh) | 特征提取模型处理、样本检索方法、装置和计算机设备 | |
CN114117213A (zh) | 一种推荐模型训练、推荐方法、装置、介质和设备 | |
CN113806582B (zh) | 图像检索方法、装置、电子设备和存储介质 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN113761219A (zh) | 基于知识图谱的检索方法、装置、电子设备及存储介质 | |
CN112528136A (zh) | 一种观点标签的生成方法、装置、电子设备和存储介质 | |
CN118051653B (zh) | 基于语义关联的多模态数据检索方法、系统和介质 | |
CN114328800A (zh) | 文本处理方法、装置、电子设备和计算机可读存储介质 | |
CN111460808B (zh) | 同义文本识别及内容推荐方法、装置及电子设备 | |
Le et al. | Automatic feature selection for named entity recognition using genetic algorithm | |
CN112784008A (zh) | 案件相似度确定方法及装置、存储介质、终端 | |
Mandal et al. | Cross-modal retrieval with noisy labels | |
CN116541592A (zh) | 向量生成方法、信息推荐方法、装置、设备及介质 | |
Guo | [Retracted] Intelligent Sports Video Classification Based on Deep Neural Network (DNN) Algorithm and Transfer Learning | |
CN112416754B (zh) | 一种模型评测方法、终端、系统及存储介质 | |
CN114281942A (zh) | 问答处理方法、相关设备及可读存储介质 | |
CN111428482A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075282 Country of ref document: HK |