CN114398980A - 跨模态哈希模型的训练方法、编码方法、装置及电子设备 - Google Patents

跨模态哈希模型的训练方法、编码方法、装置及电子设备 Download PDF

Info

Publication number
CN114398980A
CN114398980A CN202210038252.8A CN202210038252A CN114398980A CN 114398980 A CN114398980 A CN 114398980A CN 202210038252 A CN202210038252 A CN 202210038252A CN 114398980 A CN114398980 A CN 114398980A
Authority
CN
China
Prior art keywords
hash
modality
sample
code
pair
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
Application number
CN202210038252.8A
Other languages
English (en)
Inventor
蔡成飞
涂荣成
蒋杰
刘威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210038252.8A priority Critical patent/CN114398980A/zh
Publication of CN114398980A publication Critical patent/CN114398980A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种跨模态哈希模型的训练方法、编码方法、装置及电子设备;涉及人工智能技术领域,方法包括:调用跨模态哈希模型对获取到的多个样本对进行降维哈希编码处理,得到多个哈希编码对;针对每个哈希编码对,在哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点,基于每个目标哈希数据点确定哈希编码对的二值码;基于每个哈希编码对、多个样本对所对应的相似度矩阵,以及每个哈希编码对与所对应的二值码之间的差异,确定跨模态哈希模型的总量化损失;基于总量化损失更新跨模态哈希模型的参数。通过本申请,能够提升跨模态哈希模型的编码精度,进而节约计算不同样本的编码结果之间相似度所占用的计算资源。

Description

跨模态哈希模型的训练方法、编码方法、装置及电子设备
技术领域
本申请涉及人工智能技术,尤其涉及一种跨模态哈希模型的训练方法、编码方法、装置及电子设备。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
跨模态哈希技术是将不同模态的高维数据映射到一个统一的低维的汉明空间的哈希编码技术,通常通过跨模态哈希模型来实现。跨模态哈希模型将不同模态的样本的高维数据转换到低维的哈希编码的过程中会产生量化损失,相关技术暂无更有效的方式确定更准确的量化损失,导致基于训练出的跨模态哈希模型的编码精度较低。
由于跨模态哈希模型将高维数据降维编码处理为相同编码长度的哈希编码,并通过相同编码长度的哈希编码之间的距离表征样本之间的相似度(哈希编码之间的距离与相似度呈负相关),编码精度低则哈希编码之间的距离表征样本之间的相似度的准确性不高,从而在基于编码精度低的跨模态哈希模型计算样本之间相似度的过程中产生较高计算资源消耗。
发明内容
本申请实施例提供一种跨模态哈希模型的训练方法、编码方法、装置及电子设备,能够提升利用哈希编码计算样本之间相似度的准确度,进而节约了相关的计算资源。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种跨模态哈希模型的训练方法,所述方法包括:
获取多个样本对,其中,每个所述样本对包括用于描述相同内容且不同模态的两个样本;
调用跨模态哈希模型对多个所述样本对进行降维哈希编码处理,得到与所述多个样本对一一对应的多个哈希编码对,其中,所述哈希编码对中的两个哈希编码之间的距离用于表征所述哈希编码对所对应的所述两个样本之间的相似度;
针对每个所述哈希编码对执行以下处理:在所述哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点,基于所述每个位置对应的所述目标哈希数据点确定所述哈希编码对的二值码,其中,所述权重用于表征所述哈希数据点对于计算所述哈希编码对所对应的样本对的相似度的重要程度;
基于每个所述哈希编码对、所述多个样本对所对应的相似度矩阵,以及每个所述哈希编码对与每个所述哈希编码对所对应的所述二值码之间的差异,确定所述跨模态哈希模型的总量化损失,其中,所述相似度矩阵中每个元素用于表征不同模态的样本所对应的特征相似度;
基于所述总量化损失更新所述跨模态哈希模型的参数。
本申请实施例提供一种跨模态哈希模型的编码方法,所述方法包括:
获取待处理的样本对,其中,所述样本对包括用于描述相同内容且不同模态的两个样本;
调用跨模态哈希模型对所述样本对进行降维哈希编码处理,得到与所述样本对一一对应的哈希编码对,其中,所述哈希编码对中的两个哈希编码之间的距离用于表征所述哈希编码对所对应的所述两个样本之间的相似度。
本申请实施例提供一种跨模态哈希模型的训练装置,包括:
样本获取模块,用于获取多个样本对,其中,每个所述样本对包括用于描述相同内容且不同模态的两个样本;
哈希编码模块,用于调用跨模态哈希模型对多个所述样本对进行降维哈希编码处理,得到与所述多个样本对一一对应的多个哈希编码对,其中,所述哈希编码对中的两个哈希编码之间的距离用于表征所述哈希编码对所对应的所述两个样本之间的相似度;
二值码生成模块,用于针对每个所述哈希编码对执行以下处理:在所述哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点,基于所述每个位置对应的所述目标哈希数据点确定所述哈希编码对的二值码,其中,所述权重用于表征所述哈希数据点对于计算所述哈希编码对所对应的样本对的相似度的重要程度;
损失确定模块,用于基于每个所述哈希编码对、所述多个样本对所对应的相似度矩阵,以及每个所述哈希编码对与每个所述哈希编码对所对应的所述二值码之间的差异,确定所述跨模态哈希模型的总量化损失,其中,所述相似度矩阵中每个元素用于表征不同模态的样本所对应的特征相似度;
所述损失确定模块,还用于基于所述总量化损失更新所述跨模态哈希模型的参数。
本申请实施例提供一种用于跨模态哈希模型的训练的电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例所述的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现本申请实施例所述的方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现本申请实施例所述的方法。
本申请实施例具有以下有益效果:
权重与哈希编码中每一个哈希数据点重要程度正相关,基于权重更高的哈希数据点确定的哈希编码对的二值码的精确度更高,利用二值码能够得到更精确的跨模态哈希模型的总量化损失。基于总量化损失对跨模态哈希模型进行训练,使得跨模态哈希模型输出的哈希编码之间的距离能够更准确地表征样本之间的相似度,提升了跨模态哈希模型的编码精度。进而,在利用哈希编码计算样本之间相似度的过程中,节约了所占用的计算资源,提升了计算效率。
附图说明
图1是本申请实施例提供的跨模态哈希模型的训练方法的应用场景的示意图;
图2A是本申请实施例提供的用于跨模态哈希模型的训练的电子设备的结构示意图;
图2B是本申请实施例提供的跨模态哈希模型的训练装置的结构示意图;
图3A是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图;
图3B是本申请实施例提供的样本对与特征数据点对之间的关系图;
图3C是本申请实施例提供的特征数据点对和哈希编码对之间的关系图;
图3D是本申请实施例提供的特征数据点对、哈希编码对及二值码之间的关系图;
图4是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图;
图5A是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图;
图5B是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图;
图6是本申请实施例提供的跨模态哈希模型的编码方法的流程示意图;
图7A是本申请实施例提供的跨模态哈希模型的结构示意图;
图7B是本申请实施例提供的跨模态哈希模型的结构示意图;
图8是本申请实施例提供的跨模态哈希模型的训练方法一个可选的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)模态,模态是指数据的存在形式,比如文本、音频、图像、视频等文件格式。在一些情况下,数据的存在形式不同,但描述的事物或事件相同,例如:图像与描述图像内容的文本之间形成跨模态,但二者描述的事物是相同的。再例如:通话录音与通话录音对应的文本,二者描述的都是通话的实际内容。跨模态检索是用于实现不同模态数据之间的检索。
2)哈希算法,也即散列算法,样本经过哈希算法处理后输出一个定长的哈希编码,样本的维度高于哈希编码的维度。哈希算法处理的过程是不可逆的,无法由哈希编码逆推出样本。哈希算法虽然被称为算法,但实际上它更像是一种思想。哈希算法没有一个固定的公式,只要符合散列思想的算法都可以被称为是哈希算法。例如:通过一个模型将一个样本(例如图片)转换为哈希编码,符合散列思想,可以作为一种哈算法。
3)卷积神经网络(CNN,Convolutional Neural Networks):是一类包含卷积计算且具有深度结构的前馈神经网络(FNN,Feed forward Neural Networks),是深度学***移不变分类(Shift-invariantClassification)。
4)全连接层,在整个卷积神经网络中起到“分类器”的作用,可以将分布式特征映射到样本标记空间。
5)哈希层,用于将样本的特征映射为哈希编码。
6)汉明相似度,是指用汉明距离衡量哈希编码之间的相似度。汉明距离,是将一个字符串变换成另外一个字符串所需要替换的字符个数,例如:20210301与20220512之间的汉明距离是4。
7)跨模态哈希技术,是将不同模态的高维数据映射到一个统一的低维的汉明空间(汉明空间上的向量距离是用向量差值的汉明重量来定义的,汉明重量是字符串中非零的元素个数),即将不同模态的数据编码成统一长度的低维紧凑二进制哈希编码。
例如:给定两个模态x和y,x模态的第i个数据表示为d维的特征向量xi∈R1×d,y模态的第i个数据表示为e维的特征向量yi∈R1×e,哈希算法旨在通过两个映射
Figure BDA0003468980140000031
Figure BDA0003468980140000032
分别将两个模态的数据编码成r维的二值哈希编码
Figure BDA0003468980140000033
Figure BDA0003468980140000034
其中r<<d。进行哈希编码后,不同模态的样本之间的距离可通过它们对应哈希编码之间的汉明距离来近似,而汉明距离(将一个字符串变换成另外一个字符串所需要替换的字符个数,比如1001和0000之间汉明距离是2)的计算可通过计算机的位异或操作(XOR,二进制算法)来支持,从而实现距离度量的加速。
8)检索精度,基于查询样本进行检索得到多个返回样本,返回样本包括与查询样本相关的样本,以及与查询样本不相关的样本。检索精度是相关的样本与所有返回样本之间的比例。
在跨模态哈希研究领域,通常利用量化损失函数来获取哈希模型将样本转换为哈希编码的过程中的量化误差,相关技术提出了多种损失函数以更好的控制量化误差,然而相关技术暂没有提出更精确、有效的量化损失确定方案,使得训练后的跨模态哈希模型输出的哈希编码精确度不高,也即哈希编码之间的距离表征样本之间相似度的精确度不高,从而,使得基于哈希编码计算样本之间相似度需要消耗更多的计算资源,降低了计算效率,影响了利用哈希编码进行跨模态检索的检索精度。
本申请实施例提供一种跨模态哈希模型的训练方法、跨模态哈希模型的编码方法、跨模态哈希模型的训练装置、用于跨模态哈希模型的训练的电子设备和计算机可读存储介质,能够提升跨模态哈希模型的编码精度,进而节约基于哈希编码计算样本之间相似度的计算资源,提升计算效率,以下以电子设备为服务器(下文称为训练服务器)为例进行说明。
参见图1,图1是本申请实施例提供的跨模态哈希模型的训练方法的应用场景的示意图。图1展示了本申请实施例跨模态哈希模型的训练方法应用在跨模态的物品推荐的场景。图1中包括:训练服务器401、推荐***服务器402、网络300及终端设备200。训练服务器401与推荐***服务器402之间通过网络300进行通信,或者通过其他方式进行通信。终端设备200通过网络300连接推荐***服务器402,网络300可以是广域网或者局域网,又或者是二者的组合。
训练服务器401用于执行本申请实施例的跨模态哈希模型的训练方法,得到训练完成的跨模态哈希模型。训练服务器401还用于将跨模态哈希模型通过网络300同步到推荐***服务器402中,或者通过服务器之间的数据传输,将跨模态哈希模型同步到推荐***服务器402。推荐***服务器402接收并存储训练完成的跨模态哈希模型,推荐***服务器402基于跨模态哈希模型可以将数据库中(数据库中包多个待推荐物品,待推荐物品可以是真实物品或者虚拟物品,例如:真实物品如生活用品、食品及电子设备等;虚拟物品如游戏道具、电子版书籍、线上学习课程、线上咨询服务等)的多种待推荐物品的数据转换为对应的哈希编码。推荐***服务器402还可以调用跨模态哈希模型将用户对应的特征数据转换为对应的哈希编码。用户使用终端设备200通过网络300向推荐***服务器402发送推荐请求;推荐***服务器402响应于推荐请求,获取推荐物品的信息,并向终端设备200发送推荐物品的信息,用户接收到推荐物品的信息。
示例的,推荐***服务器402获取推荐物品的信息可以通过以下方式实现:用户的特征数据集合以及特征数据集合对应的标识(例如:用户ID)预先存储在推荐***服务器402中,特征数据集合中包含用户画像、用户账号信息、历史浏览记录等数据,特征数据集合可以体现出用户感兴趣的多个方面。推荐***服务器402还用于调用跨模态哈希模型对特征数据集合进行降维哈希编码处理,得到特征数据集合中各个特征数据一一对应的哈希编码,并存储哈希编码。终端设备200响应于待推荐用户对于应用程序的登录操作或者对于页面的触发操作,生成推荐请求,其中,推荐请求携带待推荐用户的标识,并将推荐请求通过网络300发送到推荐***服务器402中。推荐***服务器402基于标识从数据库检索待推荐用户的哈希编码,计算待推荐用户的哈希编码与数据库存储的多个物品的哈希编码的相似度,相似度以哈希编码之间距离表征,且哈希编码之间的距离越近相似度越高,哈希编码之间的距离与相似度呈负相关。可以通过计算机的位异或操作(XOR,二进制算法,位异或也即按位进行异或运算)来获取哈希编码之间的距离。在得到以哈希编码之间距离表征的相似度后,将相似度降序排序在前的多个物品作为召回的推荐物品,将推荐物品的信息(例如以文本、图片、视频等形式展示的广告)通过网络300发送到终端设备200。
以下以广告为例进行说明,例如:推荐***服务器402预先对数据库中各物品的特征数据进行降维哈希编码处理,得到每个物品的哈希编码,并存储到数据库中;在接收到推荐请求时,推荐***服务器402基于推荐请求携带的待推荐用户的标识检索数据库,得到基于待推荐用户的特征预先计算的哈希编码。通过位异或操作计算物品的哈希编码与每个物品的哈希编码之间的距离,通过哈希编码之间的距离表征用户的特征与不同物品的相似度,哈希编码之间的距离越近,则相似度越高。推荐***服务器402对所有相似度进行降序排序,将相似度降序排序在前的多个物品的广告,作为用户可能感兴趣的广告,推荐***服务器402将广告通过网络300发送至终端设备200,终端设备200向用户展示广告。用户可以根据需求在终端设备200上浏览任意广告,或者屏蔽任意广告,终端设备200基于用户的浏览或者屏蔽操作,生成对应的反馈数据提交到推荐***服务器402,推荐***服务器402可以根据反馈数据完善用户相关的数据,对存储的用户画像、用户账号信息、历史浏览记录等数据进行更新,从而为用户提供更精确的推荐服务。通过哈希编码计算跨模态数据之间的相似度,提升了计算相似度的速度,使得推荐***服务器402能够快速响应推荐请求,在用户接收广告的过程中,避免出现推荐信息的效率不高而造成的广告位空白等现象。
本申请实施例中,训练跨模态哈希模型,使得跨模态哈希模型输出的哈希编码之间的距离能够更精确的表征样本之间的相似度,并利用训练完成的跨模态哈希模型进行降维哈希编码,哈希编码相较于样本的原数据维度更低;基于哈希编码计算对应的跨模态的样本之间的相似度,能够节约推荐***服务器计算样本相似度时所需的计算资源,并提升计算速度。
在一些实施例中,服务器401可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端设备200以及服务器401之间可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
在一些实施例中,训练跨模态哈希模型的过程中利用的多个样本对,可以是终端设备200通过网络300发送到服务器401中的,也可以是服务器401中已经存储的。服务器401调用跨模态哈希模型对样本对进行降维哈希编码处理,并基于哈希编码获取量化损失,以量化损失反向传播对跨模态哈希模型进行训练。服务器401还可以基于训练完成的跨模态哈希模型进行哈希编码处理,建立样本与哈希编码之间的映射关系,并利用映射关系进行跨模态检索。
本申请实施例,还可以通过机器学习实现,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请实施例,还可以通过云技术实现,云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,以及搜索服务(比如跨模态检索服务)、社会网络、移动商务和开放协作等需求的推动,将来每个物品都有可能存在自己的哈希编码识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
在一些实施例中,多个服务器可组成为区块链,而服务器401为区块链上的节点,区块链中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。
其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。其中,本申请实施例提供的跨模态哈希模型的训练方法所相关的数据(例如:获取连续哈希编码所对应的二值码的算法、基于跨模态哈希模型得到的不同模态样本对应的哈希编码等)可保存于区块链上。
以电子设备是终端设备为例,参见图2A,图2A是本申请实施例提供的用于跨模态哈希模型的训练的电子设备的结构示意图,图2所示的电子设备400包括:至少一个处理器410、存储器450、至少一个网络接口420。电子设备400中的各个组件通过总线***440耦合在一起。可理解,总线***440用于实现这些组件之间的连接通信。总线***440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***451,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的跨模态哈希模型的训练装置455,其可以是程序和插件等形式的软件,包括以下软件模块:样本获取模块4551、哈希编码模块4552、二值码生成模块4553及损失确定模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的跨模态哈希模型的训练方法、编码方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
参考图2B,图2B是本申请实施例提供的跨模态哈希模型的训练装置的结构示意图。
跨模态哈希模型的训练装置455包括:样本获取模块4551、哈希编码模块4552(也即跨模态哈希模型)、二值码生成模块4553及损失确定模块4554。
跨模态哈希模型包括第一模态哈希模型4552A、第二模态哈希模型4552B;第一模态与第二模态属于不同类型的模态,例如:图像与文本、文本与音频、音频与图像等。一个样本对包括第一模态的样本与第二模态的样本,两个样本描述的内容相同。
第一模态哈希模型4552A包括第一提取层521、第一全连接层522及第一哈希层523;第一提取层521用于接收多个样本对中第一模态的样本,并对每个第一模态的样本进行特征提取,将提取到的第一模态的样本特征集合(样本特征集合中包含多个特征数据点,每个特征数据点用于表征一个样本对应的所有特征数据)输出到第一全连接层522;第一全连接层522用于对第一模态的样本特征集合中的每个特征数据点包含的特征数据进行分类,并将分类结果输出到第一哈希层523;第一哈希层523用于根据分类结果进行降维哈希编码处理,得到第一模态的样本一一对应的哈希编码。
第二模态哈希模型4552B包括第二提取层524、第二全连接层525及第二哈希层526;第二提取层524用于接收多个样本对中第二模态的样本,并对每个第二模态的样本进行特征提取,将提取到的第二模态的样本特征集合输出到第二全连接层525;第二全连接层525用于对第二模态的样本特征集合中每个特征数据点包含的特征数据进行分类,并将分类结果输出到第二哈希层526;第二哈希层526用于根据分类结果进行降维哈希编码处理,得到第二模态样本对应的哈希编码。
二值码生成模块4553接收不同模态的哈希编码,获取每个哈希编码对中每个位置的哈希数据点,并比较处于相同位置的数值对应的权重的大小(权重是用于计算两个哈希编码之间汉明相似度的权重,权重表征哈希数据点在计算汉明相似度的过程中的重要程度,且与重要程度呈正相关,权重越大则重要程度越高),将权重较大的哈希数据点进行二值化,将得到的每个位置的二值化数据点组成每个哈希编码对的二值码(也即每个哈希编码对一一对应的样本对的二值码)。
量化损失模块4554,用于基于二值码、每个哈希编码、不同模态的不同特征数据点之间的特征相似度确定跨模态哈希模型的量化损失。量化损失模块4554还可以将得到的量化损失反向传播到跨模态哈希模型中,基于量化损失可以对跨模态哈希模型进行参数更新。
参见图3A,图3A是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图,以终端设备为执行主体,将将结合图3A示出的步骤进行说明。
在步骤101中,获取多个样本对。
这里,每个样本对包括用于描述相同内容且不同模态的两个样本;不同模态包括第一模态与第二模态;每个样本对包括:一个第一模态的样本和一个第二模态的样本。
在一些实施例中,第一模态是模态集合中任意一个模态,第二模态是模态集合中除第一模态之外的任意一个模态。模态集合可以包括:图片模态、文本模态、视频模态及音频模态。模态集合中还可以包含更多不同的模态,本申请实施例不对此进行限制。多个样本对中,第一模态的样本可以组成第一模态的样本集合,第二模态的样本可以组成第二模态的样本集合。
示例的,对于描述相同内容进行解释说明,例如:一个样本对由一个图片与一段文本组成,图片展示的画面(也即描述内容)是红色雨伞,文本的描述内容是“红色雨伞”,二者描述相同的内容。不同样本对描述的内容可以是相同的,也可以是不同的。例如:多个样本对中,第一样本对描述的内容是白色鞋子,第二样本对描述的内容也可以是白色鞋子,第三样本对描述的内容是黑色鞋子。
在步骤102中,调用跨模态哈希模型对多个样本对进行降维哈希编码处理,得到与多个样本对一一对应的多个哈希编码对。
这里,哈希编码对中的两个哈希编码之间的距离用于表征哈希编码对所对应的两个样本之间的相似度。哈希编码之间的距离与两个样本之间的相似度呈负相关,哈希编码之间的距离越近,则两个样本之间的相似度越高。
示例的,跨模态哈希模型中所包括的层级可以参考图2B中的哈希编码模块4552,降维哈希编码处理是将样本对中每个样本所对应的高维度的数据转换为低维度的哈希编码,跨模态哈希模型能够实现降维哈希编码处理的功能。通过哈希编码之间的距离表征的样本之间的相似度可以是汉明相似度。
在一些实施例中,多个样本对一一对应的多个哈希编码对包括:第一模态的多个样本一一对应的多个哈希编码、以及第二模态的多个样本一一对应的多个哈希编码。步骤101可以通过以下方式实现:对多个样本对中第一模态的多个样本进行特征提取,得到第一模态的样本特征集合,并对多个样本对中第二模态的多个样本进行特征提取,得到第二模态的样本特征集合。对第一模态的样本特征集合进行降维哈希编码处理,得到与第一模态的多个样本一一对应的多个哈希编码,并对第二模态的样本特征集合进行降维哈希编码处理,得到与第二模态的多个样本一一对应的多个哈希编码。
这里,第一模态的多个样本的哈希编码与第二模态的多个样本的哈希编码的长度相同。示例的,参考图3B,图3B是本申请实施例提供的样本对与特征数据点对之间的关系图,本申请实施例中以图片模态为第一模态、文本模态为第二模态为例进行说明,图3B用于展示两个模态的样本、样本集合、样本特征集合及特征数据点之间的关系。
图片模态的样本集合301B中包含N个样本图片(样本图片1、样本图片2……样本图片N),文本模态的样本集合302B中包含N段样本文本(样本文本1、样本文本2……样本文本N),多个样本文本与多个样本图片一一对应,形成多个样本对(样本对1、样本对2……样本对N)。
对图片模态的样本集合301B中的多个样本图片进行特征提取,得到图片模态的样本特征集合X,图片模态的样本特征集合X中包含多个特征数据点(特征数据点x1、特征数据点x2……特征数据点xN),一个特征数据点对应于一个样本图片的所有特征数据。图片模态的样本特征集合X中样本图片i对应特征数据点xi(1≤i≤N)。
对文本模态的样本集合302B中的多个样本文本进行特征提取,得到文本模态的样本特征集合Y,文本模态的样本特征集合Y中包含多个特征数据点(特征数据点y1、特征数据点y2……特征数据点yN),一个特征数据点对应于一个样本文本的所有特征数据。文本模态的样本特征集合Y中样本文本i对应特征数据点yi(1≤i≤N)。
示例的,特征数据点对应的特征数据的维度高于哈希编码的维度,因此哈希编码所需的存储空间相对于编码处理前的数据更少;为便于通过哈希编码之间的距离表征样本之间的相似度,需要对哈希编码对的每个位置对应的哈希数据点进行对应的计算,因此每个哈希编码的编码长度都是相同的;而对于特征数据来说,不同模态的特征数据的提取过程根据模态存在差异(例如,在特征提取过程中,对图片模态的样本进行关键词识别,而对图片模态的样本进行像素级别的特征提取),不同样本占用的数据存储空间也存在差异,计算不同模态样本之间的相似度并不受特征数据的数据长度影响,因此图片模态的特征数据对应的数据长度与文本模态的特征数据对应的数据长度可以是相同的,也可以是不同的。
在一些实施例中,对第一模态的样本特征集合进行降维哈希编码处理,得到与第一模态的多个样本一一对应的多个哈希编码,可以通过以下方式实现:对第一模态的样本特征集合包括的多个特征数据点分别进行降维哈希编码处理,得到与第一模态的多个样本一一对应的多个哈希编码。
这里,多个特征数据点与第一模态的多个样本一一对应。
在一些实施例中,对第二模态的样本特征集合进行降维哈希编码处理,得到与第二模态的多个样本一一对应的多个哈希编码,可以通过以下方式实现:对第二模态的样本特征集合包括的多个特征数据点分别进行降维哈希编码处理,得到与第二模态的多个样本一一对应的哈希编码。
这里,多个特征数据点与第二模态的多个样本一一对应。
作为示例,参考图2B,跨模态哈希模型中包含不同模态的哈希模型,继续基于以上图片模态与文本模态为例进行解释说明,则跨模态哈希模型中至少包括图片模态对应的哈希模型与文本模态对应的哈希模型。每个模态的哈希模型对每个模态的样本特征集合进行降维哈希编码处理,得到每个模态的多个样本一一对应的哈希编码。参考图3C,图3C是本申请实施例提供的特征数据点对和哈希编码对之间的关系图,图3C用于展示不同模态的样本特征集合、特征数据点、哈希编码集合、哈希编码之间的关系。以下结合图3B及图3C进行解释说明,图片模态的多个样本的哈希编码(哈希编码a1、哈希编码a2……哈希编码aN)组成哈希编码集合A,哈希编码集合A中的第i个哈希编码表示为哈希编码ai,哈希编码ai对应于图片样本i、以及图片样本i的特征数据点xi。文本模态的多个样本的哈希编码(哈希编码b1、哈希编码b2……哈希编码bN)组成哈希编码集合B,哈希编码集合B中的第i个哈希编码表示为哈希编码bi,哈希编码bi对应于文本样本i、以及文本样本i的特征数据点yi。哈希编码ai可以与哈希编码bi组成哈希编码对i(例如图3C中,哈希编码对1、哈希编码对2…哈希编码对N)。样本与对应的特征数据点、对应的哈希编码之间形成映射关系。
作为示例,降维哈希编码处理得到的哈希编码对应的取值空间可以是离散的,也可以是连续的。例如:哈希编码[1 -1 1 -1 1],编码长度为5,哈希编码中每个哈希数据点对应的取值范围为1、-1,取值空间是离散的;哈希编码[0.52 0.68 -0.72 -0.82 0.95],编码长的为5,哈希编码中每个哈希数据点对应的取值范围为大于-1且小于1,取值空间是连续的。
针对每个哈希编码对执行步骤103及步骤104,在步骤103中,在哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点。
这里,权重用于表征哈希数据点对于计算哈希编码对所对应的样本对的相似度的重要程度。本申请实施例,以哈希编码对应的取值空间是连续取值空间为例进行说明;不同模态包括第一模态和第二模态,每个哈希编码对包括第一模态的样本的哈希编码和第二模态的样本的哈希编码,每个哈希编码包括多个哈希数据点。
示例的,为便于理解,参考图3D,图3D是本申请提供的特征数据点对、哈希编码对及二值码之间的关系图,图3D用于展示特征数据点对、哈希编码对、二值码之间的关系,且图3D所展示的关系图适用于每个哈希编码对。图3D中特殊数据点x1特征数据点y1一一对应于一对样本对中的两个样本。特征数据点对应的特征数据被表示为多个格子组成的矩形,矩形中每一格对应一个维度的数据。特征数据点x1的维度为m1,特征数据点y1的维度为m2,m1与m2可以是相等的,也可以是不等的。经过降维哈希编码处理,得到了特征数据点对一一对应的哈希编码对,哈希编码也被表示为多个格子组成的矩形,每一格对应于一个哈希数据点,也即一个维度的数据。哈希编码对中,每个哈希编码同一维度的哈希数据点一一对应(也即,哈希编码对中,处于同一位置的哈希数据点一一对应)。哈希编码a1与哈希编码b1的维度(也即编码长度)为m3。m3小于m1以及m2。
参考图4,图4是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图;步骤103可以通过步骤1031至步骤1032实现,下面具体说明
在步骤1031中,遍历每个哈希编码对,获取所遍历到的哈希编码对的目标权重矩阵。
这里,目标权重矩阵为对角线矩阵,且对角线矩阵的对角线上的元素数量等于哈希编码对中的两个哈希编码的编码长度的加和。
示例的,每个哈希编码的编码长度相同,任一哈希编码对的目标权重矩阵可以表示为
Figure BDA0003468980140000091
对角线上的每个元素λ表示权重,对角线上有2R个元素,R是哈希编码的编码长度,2R是编码长度的加和。每个哈希编码对中,第一模态的样本对应的哈希编码每个位置的哈希数据点的权重依次为λ1至λR,第二模态的样本对应的哈希编码每个位置的哈希数据点的权重依次为λR+1至λ2R
在一些实施例中,步骤1031可以通过以下方式实现:获取所遍历到的哈希编码对的权重变量矩阵;基于权重变量矩阵与哈希编码对,确定以哈希编码对之间距离表征的两个样本的变量汉明相似度,其中,变量汉明相似度以矩阵形式表示;确定哈希编码对所对应的两个特征数据点的特征相似度与变量汉明相似度之间的变量相似度差异;确定变量相似度差异对应的最小相似度差异,基于最小差异值及两个特征数据点对应的特征相似度,确定相似度差异最小时的目标汉明相似度;基于目标汉明相似度及哈希编码对,确定相似度差异最小时的哈希编码对的目标权重矩阵。
示例的,可以通过假设对角线矩阵的方式来获取目标权重矩阵,也即,设置权重变量矩阵,通过权重变量矩阵推导得到目标权重矩阵。将权重变量矩阵设置为与目标权重矩阵格式相同的矩阵,权重变量矩阵为对角线矩阵,且对角线矩阵的对角线上的元素数量等于哈希编码对中的两个哈希编码的编码长度的加和,对角线上的元素为变量。
示例的,可以基于样本对中两个样本的特征数据点之间的特征相似度与汉明相似度之间的关系来推导得到用于计算汉明相似度的权重。基于权重变量矩阵与哈希编码对,可以得到以矩阵之间乘积表示的变量汉明相似度。
在一些实施例中,基于权重变量矩阵与哈希编码对,确定以哈希编码对之间距离表征的两个样本的变量汉明相似度,包括:基于哈希编码对生成编码矩阵,并确定编码矩阵的转置矩阵;确定编码矩阵、权重变量矩阵及编码矩阵的转置矩阵之间的乘积;对乘积与哈希编码对中两个哈希编码的编码长度的加和进行相除,得到变量汉明相似度。
示例的,例如:哈希编码对中两个哈希编码为[0.86 -0.77 0.93]与[-0.67 -0.970.83],则编码矩阵可以表示为
Figure BDA0003468980140000101
编码矩阵的转置可以表示为
Figure BDA0003468980140000102
编码长度R为3,编码长度的加和2R为6,则变量汉明相似度可以表示为如下公式(1):
Figure BDA0003468980140000103
其中,λ1至λ6是用于表征权重的变量。样本对所对应的两个特征数据点之间的特征相似度可以表示为S,特征相似度S与变量汉明相似度之间的差异可以通过获取二者的差值或者差值的F范数来进行确定,本申请实施例中以二者差值的F范数为例进行说明,二者差值的F范数可以表示为如下公式(2):
Figure BDA0003468980140000104
将二者的差异设置为最小值,最小值可以为0或者近似于0的数值。
示例的,可以通过获取权重变量矩阵的闭式解公式,计算权重变量矩阵。基于公式(2)可以推导得到权重矩阵Λ的闭式解公式,闭式解公式可以表示为如下公式(3):
Figure BDA0003468980140000105
其中,s.t.表示
Figure BDA0003468980140000106
的满足
Figure BDA0003468980140000107
的约束条件。⊙表示矩阵的哈达玛积(Hadamard Product,基本积)运算;g表示矩阵ZTSZ对角线元素所组成的向量。将哈希编码对中的哈希编码、对应的特征相似度带入上述公式(3)可以得到目标权重矩阵。
针对所遍历到的哈希编码对中的每个位置执行步骤1032及步骤1033。
在步骤1032中,基于所遍历到的哈希编码对的目标权重矩阵,确定第一模态的样本的哈希编码中位于位置的哈希数据点的权重、以及第二模板的样本的哈希编码中位于位置的哈希数据点的权重。
在一些实施例中,步骤1032可以通过以下方式实现:确定位置在哈希编码对中的第一列数,将第一列数与编码长度的加和作为第二列数;将目标权重矩阵中对角线上的位于第一列数的元素,作为位于位置的第一模态的样本的哈希数据点的权重;将目标权重矩阵中对角线上的位于第二列数的元素,作为位于位置的第二模态的样本的哈希数据点的权重。
示例的,目标权重变量矩阵的对角线上第1至R个的元素依次对应于第一模态的样本的哈希编码中每个位置的哈希数据点的权重,对角线上第R+1至2R个的元素依次对应于第二模态的样本的哈希编码中每个位置的哈希数据点的权重,也即,若编码长度为R,则对角线上的元素数量为2R,位置在哈希编码中的列数为M,则第一模态的权重位于矩阵中第M列,第二模态的权重位于矩阵中第R+M列。
在步骤1033中,将权重较大的哈希数据点确定为位置对应的目标哈希数据点。
示例的,继续基于哈希编码对中两个哈希编码为[0.86 -0.77 0.93]与[-0.67 -0.97 0.83]为例进行说明,哈希编码对中第一个位置的哈希数据点为0.86及-0.67。0.86对应的权重为λ1,-0.67对应的权重为λ4,比较λ1和λ4的大小,若λ1较大,则将0.86作为目标哈希数据点,若λ4较大,则将-0.67作为目标哈希数据点。针对哈希编码对中每个哈希数据点对执行以上操作,可以得到每个位置对应的目标哈希数据点。
本申请实施例中,通过权重体现哈希数据点的重要性,对哈希数据点的重要性进行数据化,有利于获取更准确的二值码以及量化损失,从而提升跨模态哈希模型的输出结果与输入结果能够更准确的进行拟合,使得训练后的跨模态哈希模型输出的哈希编码的准确度更高,也即哈希编码之间的距离能够更准确地反应样本之间的相似度。
在步骤104中,基于每个位置对应的目标哈希数据点确定哈希编码对的二值码。
示例的,继续参考图3D,通过对哈希编码对中每个位置对应的哈希数据点的权重进行比较,得到权重较大的哈希数据点作为目标哈希数据点,哈希编码对的中的哈希数据点对的数量是m3,因此可以得到m3个目标哈希数据点,对每个目标哈希数据点进行二值化处理,得到二值化数据点,并基于目标哈希数据点对应的哈希数据点对的位置,依次对二值化数据点进行组合,得到二值码1。二值码1的维度也为m3,也即,哈希编码对的二值码的编码长度与哈希编码对中每个哈希编码的编码长度相同。
在一些实施例中,对每个位置对应的目标哈希数据点进行二值化处理,将得到的每个位置的二值化数据点组合为哈希编码对的二值码。参考图5A,图5A是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图;步骤104可以通过步骤1041至步骤1043实现,下面具体说明。
在一些实施例中,二值化哈希数据点的数值类型包括第一数值及第二数值,第一数值大于第二数值;二值码是以两个不同数字表示的编码,例如:第一数值可以为1、第二数值可以为0。第一数值可以为1,第二数值可以为-1。
在步骤1041中,当位置的目标哈希数据点的数值大于零时,对目标哈希数据点对应的数值进行二值化处理,得到第一数值的二值化数据点。
在步骤1042中,当位置的目标哈希数据点的数值小于零时,对目标哈希数据点对应的数值进行二值化处理,得到第二数值的二值化数据点。
示例的,本申请实施例中以第一数值为1,第二数值为-1为例进行说明,假设哈希编码对的编码长度为3,得到的目标哈希数据点依次为h1、h2、h3;h1、h2小于0,h3大于0,则二值码数据点对应的数值依次为-1、-1、1。
在步骤1043中,将得到的每个位置的二值化数据点组合为哈希编码对的二值码。
示例的,将每个位置的二值化数据点按照每个位置在哈希编码中的顺序一一进行组合,可以得到一个哈希编码对所对应的二值码。对所有的哈希编码对执行步骤1031至步骤1033及步骤1041至步骤1043可以得到所有哈希编码对的对应的二值码。
本申请实施例中,通过将权重更大的哈希数据点进行二值化处理,得到了精确度更高的二值码,基于精确度更高的二值码,能够获取准确度更高的量化损失,有利于对跨模态哈希模型进行更好地训练。
在一些实施例中,第一模态的样本特征集合包括多个特征数据点,第二模态的样本特征集合包括多个特征数据点。特征数据点包括所对应的样本的特征数据。在步骤105之前,可以通过以下方式获取多个样本对所对应的相似度矩阵:对于第一模态的样本特征集合中的每个特征数据点进行以下处理:确定第一模态的特征数据点在样本特征集合中的位置编号,并确定位置编号对应的行;根据每个第二模态的特征数据点在样本特征集合中的位置编号,依次获取第一模态的特征数据点与每个第二模态的特征数据点的特征相似度;将得到的每个特征相似度依次作为位于行中的元素,将得到的每一行的元素组合为相似度矩阵。
示例的,将图片模态的样本特征集合表示为X,将图片模态的样本特征集合中i个图片对应的特征数据点表示为xi(1≤i≤N)。将文本模态的样本特征集合表示为Y,将文本模态的样本特征集合中第i个文本对应的特征数据点表示为yi(1≤i≤N)。
对于特征数据点xi,其位置编号为i,依次获取xi和特征数据点y1至yN之间的特征相似度Si1至SiN,并按照位置编号的顺序将特征相似度Si1至SiN作为相似度矩阵S中第i行的元素。对图片模态的样本特征集合中每个特征数据点执行上述操作,得到每一行的特征相似度的数值,按照位置编号顺序组合每一行的特征相似度,可以得到特征相似度矩阵S。
则相似度矩阵S可以表示为
Figure BDA0003468980140000121
相似度矩阵中每个元素可以表示为Sij,Sij表示图片模态的样本特征集合中第i个特征数据点xi与文本模态的样本特征集合中第j个特征数据点yj之间的特征相似度。
示例的,相似度矩阵S中,由于每对样本对包括两个描述内容相同的样本,因此Sij=Sji;当i=j时,Sij位于相似度矩阵S的对角线上,Sij表示一对样本对的特征数据点的特征相似度。
本申请实施例,通过获取多个样本对所对应的相似度矩阵,考虑到了样本对中两个样本之间的相似性、不同样本对的样本之间的相似性等因素,便于获取更准确的量化损失。
继续参考图3A,在步骤105中,基于每个哈希编码对、多个样本对所对应的相似度矩阵,以及每个哈希编码对与每个哈希编码对所对应的二值码之间的差异,确定跨模态哈希模型的总量化损失。
示例的,基于每个哈希编码对、多个样本对所对应的相似度矩阵,可以得到样本对转换为哈希编码对的过程中高维度数据转换为低维度数据的量化损失、以及不同模态的样本之间的相似性(相似度是通过数值表示的相似性,也即将抽象的相似性转换为具体的数值)的量化损失。二值码可以表示哈希编码对中两个哈希编码之间所需逼近的距离,跨模态哈希模型的对于描述内容相同的一个样本对进行的降维哈希编码,理想状态下是得到两个一样的哈希编码,二值码与每个哈希编码没有差异,以便于将哈希编码作为样本的索引,基于样本的索引进行跨模态检索,基于每个哈希编码对与每个哈希编码对所对应的二值码之间的差异,可以确定理想的哈希编码与实际哈希编码之间的差异。
在一些实施例中,总量化损失可以通过量化损失函数获取,量化损失函数对应的公式(4)如下所示:
Figure BDA0003468980140000122
其中,S是特征相似度组成的矩阵,‖·‖2表示向量的l2范数,‖●‖F表示矩阵的F范数,Zx是x模态对应的连续哈希编码集合(本申请实施例中x模态为图片模态,图片模态的连续哈希编码集合可以表示为
Figure BDA0003468980140000123
其中
Figure BDA0003468980140000124
表示其中一个连续哈希编码),Zy是y模态对应的连续哈希编码集合(本申请实施例中y模态为文本模态,文本模态的连续哈希编码集合可以表示为
Figure BDA0003468980140000125
其中,
Figure BDA0003468980140000126
表示其中一个连续哈希编码)。
Figure BDA0003468980140000127
是x模态对应的第j个连续哈希编码,
Figure BDA0003468980140000128
是y模态对应第i个连续哈希编码的转置连续哈希编码。
在一些实施例中,不同模态包括第一模态和第二模态,每个哈希编码对包括第一模态的样本的哈希编码和第二模态的样本的哈希编码,每个哈希编码包括多个哈希数据点;参考图5B图,5B是本申请实施例提供的跨模态哈希模型的训练方法的流程示意图;步骤105可以通过步骤1051至步骤1054实现,下面具体说明。
针对任意两个哈希编码对执行以下步骤1051至步骤1054:
在步骤1051中,对第一哈希编码对中第二模态的样本的哈希编码进行转置处理,得到转置哈希编码。
示例的,第一哈希编码对可以是任意一个哈希编码对,例如:任意一个哈希编码对中获取的第二模态的样本的哈希编码为[0.86 -0.77 0.93],则转置哈希编码为
Figure BDA0003468980140000131
在步骤1052中,对第二哈希编码对中第一模态的样本的哈希编码与转置哈希编码进行相乘,得到哈希编码乘积。
示例的,第二哈希编码对可以是任意一个哈希编码对,也即,第二哈希编码对可以是第一哈希编码对,也可以是除第一哈希编码对以外的哈希编码对。假设第一模态的样本的哈希编码为[d1 d2 d3],第二模态的样本的哈希编码为[e1 e2 e3],则第一模态的样本的哈希编码与转置哈希编码进行相乘,得到的哈希编码乘积为(d1*e1+d2*e2+d3*e3)。
在步骤1053中,从相似度矩阵中,获取哈希编码乘积所对应的两个样本一一对应的特征数据点之间的特征相似度。
示例的,相似度矩阵表示为
Figure BDA0003468980140000132
相似度矩阵中每个元素可以表示为Sij,以第一模态是图片模态、第二模态是文本模态为例,Sij表示图片模态的样本特征集合中第i个特征数据点xi与文本模态的样本特征集合中第j个特征数据点yj之间的特征相似度。
在步骤1054中,基于哈希编码乘积与所对应的特征相似度之间的差异,确定相似度损失。
示例的,哈希编码乘积基于任意两个哈希编码对得到,则任意两个哈希编码对所对应的相似度差异可以通过公式(4)中的
Figure BDA0003468980140000133
表示。
对每个哈希编码对执行以下步骤1055:在步骤1055中,基于第一模态的哈希编码与对应的二值码之间的差异、以及第二模态的哈希编码与对应的二值码之间的差异,确定每个哈希编码对的差异损失。
示例的,每个哈希编码对是指与样本对一一对应的哈希编码对,通过公式(4)中
Figure BDA0003468980140000134
部分,可以得到每个差异损失的总和。
在步骤1056中,将每个相似度损失及每个差异损失相加,得到跨模态哈希模型的总量化损失。
示例的,基于公式(4),获取每个相似度损失及每个差异损失,并将每个相似度损失及每个差异损失相加,得到跨模态哈希模型的总量化损失。
本申请实施例中,从样本与样本之间的相似性、哈希编码对中两个哈希编码的相似性等多方面衡量跨模态哈希模型在哈希编码处理过程中的量化损失,提升了量化损失的准确度,有利于对跨模态哈希模型进行更精确地训练,训练后的跨模态哈希模型能够用于对不同模态的样本进行哈希编码处理,得到更准确的哈希编码,也即哈希编码之间的距离能够更准确的表征样本之间的相似度。从而,节约了通过哈希编码之间距离计算样本之间相似度所需的计算资源,提升了计算速度;使得基于哈希编码进行跨模态检索得到的检索结果更准确。
继续参考图3A,在步骤106中,基于总量化损失更新跨模态哈希模型的参数。
在一些实施例中,步骤106可以通过以下方式实现,确定总量化损失与跨模态哈希模型对应的学习率的乘积,将乘积作为目标损失;将每个哈希编码对作为实际输出结果,基于目标损失与实际输出结果,确定跨模态哈希模型的预期输出结果;基于预期输出结果及多个样本对,对跨模态哈希模型进行反向传播,在反向传播的过程中确定跨模态哈希模型的更新参数,其中,更新参数用于拟合预期输出结果和多个样本对;将跨模态哈希模型的原始参数替换为更新参数,得到更新后的跨模态哈希模型。
示例的,原始参数可以是哈希层中的、特征提取层中的或者全连接层中的任意参数。假设量化损失为L,跨模态哈希模型的学习率为η,则二者的乘积为Lη,将Lη作为目标损失。每个哈希编码对作为跨模态哈希模型的实际输出结果,对实际输出结果与目标损失进行计算,得到预期输出结果。反向传播可以基于高等数学中的链式求导法则来进行理解,将预期输出结果带入跨模态哈希模型中的每一层级依次进行反向的推导,使得目标损失在跨模态哈希模型中从后向前传递,最终得到反向推导结果。若反向推导结果与输入跨模态哈希模型的多个样本对所对应的数据存在不同,则对跨模态哈希模型中的参数进行调整,使得反向推导结果与多个样本对所对应的数据相等(或者相互近似),从而,调整后的参数可以使预期输出结果和多个样本对(多个样本对所对应的数据)相互拟合。调整后的参数也即更新参数,利用更新参数替换跨模态哈希模型中的原始参数,得到更新训练后的跨模态哈希模型。
本申请实施例中,基于量化损失通过反向传播方式对跨模态哈希模型进行更新,使得跨模态哈希模型能够有效降低量化损失,得到优化。
在一些实施例中,在多次迭代对跨模态哈希模型进行更新的过程中,可以在基于学习率对量化损失进行反向传播过程中引入学习率衰减机制,以降低异常数据对于参数更新的影响。学习率衰减机制通过以下方式实现:1、轮数衰减,每N轮训练(更新)模型时,学习率减少预设数值;2、指数减缓,学习率按训练次数的增长指数插值递减;3、分数减缓,分数减缓方式对应的公式为:lηt=lη0/(1+kt),k表示控制减缓幅度,t表示训练轮数,η表示学习率。
本申请实施例中,通过在以反向传播方式训练跨模态哈希模型的过程中引入学习率衰减机制,防止参数更新速度过快,防止异常数据对参数更新造成影响,有效保障了模型训练的准确性。
本申请实施例中,通过权重表征哈希编码中每一个哈希数据点重要程度,根据重要程度更高的哈希数据点进行二值化处理,能够得到精确度更高的二值码。基于精确度更高的二值码确定跨模态哈希模型的总量化损失,提升了量化损失的准确度。基于更准确的量化损失对跨模态哈希模型进行更新,从而提升跨模态哈希模型的编码精度,也即跨模态哈希模型输出的哈希编码之间的距离能够更加准确地反应样本之间的相似度。同时,基于编码精度更高的跨模态哈希模型输出的哈希编码,能够节约计算设备在基于哈希编码计算样本之间相似度所占用的资源量,提升计算速度。训练完成的跨模态哈希模型可以用于哈希编码处理,本申请实施例还提出一种跨模态哈希模型的编码方法,参考图6,图6是本申请实施例提供的跨模态哈希模型的编码方法的流程示意图;编码方法基于本申请实施例中更新后的跨模态哈希模型。
在步骤601中,获取待处理的样本对。
其中,样本对包括用于描述相同内容且不同模态的两个样本。
示例的,本申请实施例中以待处理的样本对为一个图片一段文本组成的样本对为例进行说明。例如:图片为某一商品的图片,文本内容为某一商品的商品描述信息。
在步骤602中,调用跨模态哈希模型对样本对进行降维哈希编码处理,得到与样本对一一对应的哈希编码对。
这里,哈希编码对中的两个哈希编码之间的距离用于表征哈希编码对所对应的两个样本之间的相似度。
这里,跨模态哈希模型包括第一模态哈希模型及第二模态哈希模型,不同模态包括第一模态和第二模态;样本对包括:第一模态的一个样本和第二模态的一个样本;样本对一一对应的哈希编码对包括:第一模态的样本的哈希编码、以及第二模态的样本的哈希编码。
示例的,继续以待处理的样本对为一个图片一段文本组成的样本对为例进行说明,并继续参考图2B,例如:图片与文本均为可以存储在存储器中的数据样本,将图片和文本输入跨模态哈希模型(也即哈希编码模块4552),跨模态哈希模型中第一模态哈希模型4552A中的第一提取层521对图片对应的数据进行特征提取,并通过第一全连接层522对提取到的特征进行分类,得到图片的特征数据,第一哈希层523对图片的特征数据进行降维哈希编码处理得到图片对应的哈希编码。跨模态哈希模型中第二模态哈希模型4552B中的第二提取层524对文本对应的数据进行特征提取,并通过第二全连接层525对提取到的特征进行分类,得到文本的特征数据,第二哈希层526对文本的特征数据进行降维哈希编码处理得到文本对应的哈希编码。图片模态的哈希编码与文本模态的哈希编码对应。
在一些实施例中,步骤602可以通过以下步骤实现:调用第一模态哈希模型,对样本对中第一模态的样本进行特征提取,得到第一模态的特征数据,并对第一模态的特征数据进行降维哈希编码处理,得到与第一模态的样本的哈希编码;调用第二模态哈希模型,对样本对中第二模态的样本进行特征提取,得到第二模态的特征数据,并对第二模态的特征数据进行降维哈希编码处理,得到与第二模态的样本的哈希编码。
这里,第一模态的样本的哈希编码与第二模态的样本的哈希编码的长度相同。
在一些实施例中,模态可以为视频模态、音频模态、图片模态及文本模态。对于不同模态,对应该模态的哈希模型可以执行对应的特征提取处理。
示例的,在第一模态为音频模态、第二模态为文本模态的情况下,假设样本对中的音频样本是一段语音,文本样本是语音对应的文字内容;第一模态哈希模型可以对音频数据进行语音识别,得到语言对应的文本内容,并对该文本内容进行特征提取。第二模态哈希模型执行对文本样本的特征提取,并生成对应的文本的哈希编码。
示例的,在第一模态为视频模态、第二模态为文本模态的情况下,假设样本对中的视频模态是一段视频,文本样本是描述视频内容的文本;第一模态哈希模型可以对视频进行逐帧的提取,获取每一帧画面对应的特征数据,对所有帧的特征数据进行降维哈希编码处理,得到视频对应的哈希编码。第二模态哈希模型执行对文本样本的特征提取,并生成对应的文本的哈希编码。
示例的,在基于得到不同模态的每个样本的哈希编码后,可以建立每个样本与其哈希编码的映射关系,并将不同模态的样本与映射关系一同存储在数据库中。以下,以推荐***服务器为执行主体为例进行说明,数据库中的待推荐物品可以为商品,数据库中包含商品展示图片、展示视频、介绍文本或者介绍音频等数据。推荐***服务器预先将数据库中不同模态的多个商品相关的数据转换为编码长度统一的多个哈希编码。
推荐***服务器响应于用户通过终端设备发送的推荐请求,推荐请求携带用户的标识。推荐***服务器根据用户的标识检索得到预先存储的用户特征数据。推荐***服务器调用跨模态哈希编码模型将用户特征数据转换为目标哈希编码,计算目标哈希编码和数据库中不同模态的商品的哈希编码之间的距离,以哈希编码之间的距离表征用户特征数据与数据库中其他商品数据之间的相似度,召回相似度降序排序在前的多个商品数据,并将召回的商品数据作为目标商品数据(例如:商品相关的视频、文本以及图片等),将目标商品数据推送到用户的终端设备中,使得用户能够接收到感兴趣的商品的相关信息。
本申请实施例中,基于训练完成的跨模态哈希模型进行跨模态哈希编码处理,可以得到不同模态的样本对一一对应的哈希编码对,哈希编码对与样本对存在映射关系,基于哈希编码计算跨模态样本之间的相似度,节约了计算资源,提升了计算效率,能够提升跨模态检索效率。
下面,将说明本申请实施例在对用户进行广告推荐的应用场景中的示例性应用。
参考图8,图8是本申请实施例提供的跨模态哈希模型的训练方法一个可选的流程示意图,图8包括步骤801至步骤804。
在步骤801中:获取多个样本对,调用跨模态哈希模型对多个样本对进行降维哈希编码处理,得到与每个样本对一一对应的哈希编码对。
本申请以跨模态哈希模型生成的哈希编码是连续取值空间中的哈希编码(也即连续哈希编码)为例进行说明,以下以连续哈希编码代表哈希编码。在一些实施例中,跨模态哈希模型生成的哈希编码也可以是离散取值空间中的哈希编码。
本申请实施例以图片模态与文本模态之间的跨模态,且哈希编码为连续的取值空间内的连续哈希编码为例进行说明。为便于解释,以下结合图片进行说明。参考图7A,图7A是本申请实施例提供的高质量跨模态哈希网络的结构示意图(高质量也即编码精确度更高);高质量跨模态哈希网络包括跨模态哈希模型700、高质量二值码生成器730及目标函数优化模块740。跨模态哈希模型700用于根据成对的图片样本及文字样本输出样本对应的图片连续哈希编码715及文本连续哈希编码725。
参考图7B,图7B是本申请实施例提供的跨模态哈希模型的结构示意图。跨模态哈希模型700包括图片模态哈希模型710及文本模态哈希模型720。图片模态哈希模型710中包括图片卷积网络层712、图片全连接层713及图片哈希层714。文本模态哈希模型720包括文本样本721、文本特征提取层722、文本全连接层723及文本哈希层724。
示例的,图片样本集合被输入到图片模态哈希模型710,文本样本集合被输入到文本模态哈希模型720。图片样本711是输入到图片模态哈希模型710中的图片样本集合中的一个图片样本的示例。文本样本721是输入到文本模态哈希模型720中的文本样本集合中的一个文本样本的示例。图片样本711展示了“在一片有几棵树的棕色山景中,一位身穿黄色雨衣的女性在一座桥上骑着马”的画面,图片样本711的画面对应于文本样本721的描述的内容“a woman-wearing a yellow raincoat is riding on a horse on a bridge in abrown mountain landscape with a few trees...”。图片样本711与文本样本721之间构成样本对。
示例的,图片样本集合被输入到图片卷积网络层712中,图片卷积网络层712对图片样本集合中各样本进行特征提取,得到图片样本特征集合,并将图片样本特征集合输出到图片全连接层713中(图片卷积网络层712中可以包括多个层次),图片全连接层713用于对图片样本特征集合进行分类,并将分类后的图片样本特征集合输出到图片哈希层714,图片哈希层714将分类后的图片样本特征集合转换为图片连续哈希编码715。
示例的,样本特征集合是相同模态的多个样本的特征数据(点)的集合,其中每个特征数据点包括一个样本在该模态的特征数据。可以将分类后的图片样本特征集合设为
Figure BDA0003468980140000161
其中,特征数据点xi表示图片模态中的第i张图片的特征数据。
示例的,文本样本集合被输入到文本特征提取层722中,文本特征提取层722提取文本样本中的关键词,并将关键词转换为对应的文本特征码。本申请实施例中以特征码的格式为二值码为例进行说明。例如,文本样本721的内容为“a woman-wearing a yellowraincoat is riding on a horse on a bridge in a brown mountain landscape witha few trees”,文本特征提取层722提取到的关键词为“woman、horse、bridge、tree、yellow”(cat、bird等词汇是其他样本对应的关键词,此处仅为示例),文本特征提取层722对上述关键词进行二值化,得到的二值码依次为“1、1、1、0、1”。文本全连接层723接收文本特征码,并将对文本特征码进行分类,输出分类结果到文本哈希层724,文本哈希层724根据分类结果确定文本样本的文本连续哈希编码725。
示例的,可以将分类后的文本样本特征集合设为
Figure BDA0003468980140000162
特征数据点yi表示文本模态的第i个文本的特征数据,并且xi和yi描述的内容一样(假设xi对应于图片样本711的骑马人图片,则yi就是描述了骑马人图片内容的文本,文本样本721)。
示例的,基于不同模态的样本特征集合,还可以得到不同模态的特征数据点之间的特征相似度构成的相似度矩阵。相似度矩阵可以表示为矩阵S=[-1,1]n×d,在相似度矩阵S中Sij表示特征数据点xi和yj之间的特征相似度。由于特征数据点xi与特征数据点yi描述的内容是相同的,特征数据点xj和特征数据点yj的描述内容也是相同的,因此相似度矩阵S中Sij=Sji。相似度矩阵的对角线上的元素对应于每个样本对的特征数据点之间的特征相似度。
示例的,同一个样本集合中的不同样本描述的内容之间可以是相同的也可以是不同的,例如图片样本集合中可以包含多张猫的图片及多张狗的图片。狗的图片与猫的图片是不同的,猫的图片与猫的图片之间是相同或者不同的。
通过图片模态哈希模型中的哈希层对图片模态的样本特征集合中每个特征数据点进行处理,得到图片模态的连续哈希编码集合
Figure BDA0003468980140000163
其中
Figure BDA0003468980140000164
表示其中一个连续哈希编码;通过文本模态哈希模型中的哈希层对文本模态的样本特征集合中每个特征数据点进行处理,得到文本模态的连续哈希编码集合
Figure BDA0003468980140000165
其中,
Figure BDA0003468980140000166
表示其中一个连续哈希编码。r是哈希编码的编码长度,n是连续哈希编码集合中哈希编码的数量。
在步骤802中:获取每个哈希编码对的二值码。
继续参考图7A,图7A中示例性地展示了一组图片连续哈希编码为(0.86 -0.77…… 0.93 -0.89)、一组文本连续哈希编码为(-0.67 -0.97 …… 0.83 -0.75)。图片连续哈希编码715及文本连续哈希编码725均被输入高质量二值码生成器730,高质量二值码生成器730根据输入的成对的连续哈希编码输出对应的二值码。图7A中示例地展示了一组二值码为(-1 -1 …… 1 -1)。
这里,二值码是每个哈希编码对中两个连续哈希编码的处于相同位置的哈希数据点之间所需逼近的距离。
示例的,高质量二值码生成器730基于每个连续哈希编码对生成高质量的二值码集合
Figure BDA0003468980140000171
其中ci表示特征数据点xi和yi的连续哈希编码
Figure BDA0003468980140000179
Figure BDA00034689801400001710
之间所需逼近的二值码。高质量也即重要程度更高,重要程度可以通过权重进行表示。本申请实施例中,权重可以是哈希数据点在计算样本汉明相似度时的对应的权重。样本汉明相似度等于,样本对的两个哈希编码中,相同的每个位置的两个哈希数据点与权重的乘积的加和。
示例的,基于权重可以进行汉明相似度计算,可以基于样本的特征相似度与汉明相似度之间的关系来推导得到用于计算汉明相似度的权重。参考以下公式(5):
Figure BDA0003468980140000172
公式(5)为最小化公式,S表示一个特征数据点对的特征相似度;
Figure BDA0003468980140000173
Z也即一个连续哈希编码对构成的矩阵(也即编码矩阵),ZT是Z的转置矩阵(也即编码矩阵的转置矩阵);权重矩阵
Figure BDA0003468980140000174
表示对角线矩阵,对角线上的元素对应的变量λk(1≤k≤r)表征连续哈希编码
Figure BDA00034689801400001713
中第k个哈希数据点对应的权重;对角线上的元素对应的变量λk(r+1≤k≤2r)表征连续哈希编码
Figure BDA00034689801400001712
中第k-r个哈希数据点对应的权重。哈希数据点的权重越大,则重要程度越高,也即质量越高。公式(5)的含义是获取特征相似度与汉明相似度之间的最小差异值。最小差异值可以根据实际情况进行设置,例如最小差异值也可以为0,本申请实施例不对最小差异值的数值进行限制。
基于公式(5)进行计算可以得到以下公式(6):
Figure BDA0003468980140000175
公式(6)是闭式解公式,其中,s.t.表示
Figure BDA00034689801400001716
Figure BDA00034689801400001715
的满足
Figure BDA00034689801400001718
的约束条件。⊙表示矩阵的哈达玛积(Hadamard Product,基本积)运算;g表示矩阵ZTSZ对角线元素所组成的向量。
基于公式(6)可以得到权重矩阵,权重矩阵的对角线上的每个元素是连续哈希编码对中每个哈希数据点一一对应的权重。可以将每个哈希数据点的权重以权重向量
Figure BDA00034689801400001717
的形式表示。当
Figure BDA0003468980140000176
时,表示x模态对应的连续哈希编码的第i个哈希数据点的质量比y模态对应的连续哈希编码的第i个哈希数据点的质量好,则对x模态对应的连续哈希编码的第i个哈希数据点进行二值化处理,得到二值码的第i个二值化数据点,反之则对y模态哈希编码的第i个哈希数据点进行二值化处理,可以通过公式(7)得到二值码的每个二值化数据点,并基于每个二值化数据点组成完整的二值码,公式(7)如下所示:
Figure BDA0003468980140000177
其中C*i
Figure BDA0003468980140000178
分别表示二值码c、x模态对应的连续哈希编码zx、y模态对应的连续哈希编码zy的第i列(第i个位置)元素;sgn(·)是元素级别阈值函数,参考图7A,二值码可以由1、-1组成,当元素大于0时公式(7)返回1,否则返回-1。或者,二值码可以由0、1组成,当元素大于0时公式(7)返回1否则返回0。
在步骤803中:基于二值码、每个哈希编码及每个样本对的特征相似度,确定量化损失。
这里,量化损失,是将哈希模型将样本对应的原数据转换为哈希编码造成的相似性的损失进行量化得到的值,样本之间相似性可以通过特征相似度、哈希编码之间所需逼近的距离(可以通过二值码表示)进行表示,可以基于二值码、特征相似度等参数获取量化损失。
示例的,量化损失L对应的量化损失函数可以表示为以下公式(8):
Figure BDA0003468980140000181
其中,S是特征相似度组成的矩阵,‖·‖2表示向量的l2范数,‖·‖F表示矩阵的F范数,Zx是x模态对应的连续哈希编码集合(本申请实施例中为图片模态对应的连续哈希编码集合),Zy是y模态对应的连续哈希编码集合(本申请实施例中为文本模态对应的连续哈希编码集合)。
Figure BDA0003468980140000182
可以用于表征连续哈希编码
Figure BDA0003468980140000184
与连续哈希编码
Figure BDA0003468980140000185
的相似度,
Figure BDA0003468980140000183
可以表征特征数据转换为连续哈希编码过程中的相似度损失。
Figure BDA0003468980140000186
可以表征连续哈希编码
Figure BDA0003468980140000187
与对应的二值码之间的差异损失,
Figure BDA0003468980140000189
可以表征连续哈希编码
Figure BDA0003468980140000188
与对应的二值码之间的差异损失。基于公式(8)可以得到量化损失L的值。
示例的,在得到每个连续哈希编码对的二值码后,将二值码带入公式(8),并通过梯度随机下降算法对公式(8)进行优化,得到优化后的量化损失。
在步骤804中:基于量化损失、学习率对跨模态哈希模型进行迭代更新。
继续参考图7A,二值码、图片连续哈希编码715及文本连续哈希编码725被输入目标函数优化模块740,目标函数优化模块740基于上述参数得到量化损失L对公式(8)(量化损失函数)进行优化。
示例的,学习率η用于表征反向传播过程中所利用的量化损失的数量,可以根据量化损失L与学习率的乘积得到反向传播过程中所需的期望量化损失,基于期望量化损失与实际输出的哈希编码得到哈希模型的期望输出结果,基于期望输出结果与哈希模型以反向传播的方式得到每个样本对应的特征数据,确定能够拟合期望输出结果与每个样本对应的特征数据的参数,作为更新参数,并以更新参数替换哈希模型中的原始参数,实现哈希模型的更新操作。循环进行步骤801至步骤804,能够实现对于哈希模型的迭代更新操作。
示例的,基于完成迭代更新的跨模态哈希模型,可以对数据库中的样本进行哈希编码处理,得到每个样本对应的哈希编码。数据库中的样本可以是待推荐物品的特征数据。在得到不同模态的每个待推荐物品的哈希编码后,建立每个待推荐物品与其哈希编码的映射关系,并将不同模态的待推荐物品的哈希编码与映射关系一同存储在数据库中。数据库中的样本还可以是用户的特征数据(用户画像、账号信息、浏览记录、偏好设置等),每段特征数据具有对应的用户的标识,基于跨模态哈希模型对特征数据进行哈希编码处理,得到与各个特征数据一一对应的哈希编码。当接收到待推荐用户通过终端设备发送的携带待推荐用户的标识的推荐请求时,基于标识从数据库中检索得到待推荐用户的特征数据,以及特征数据对应的哈希编码。计算特征数据对应的哈希编码与数据库存储的每个待推荐物品的哈希编码之间的距离,以哈希编码之间的距离表征用户的特征与不同物品之间的相似度,哈希编码之间的距离与相似度呈负相关,哈希编码之间的距离越近则相似度越高,将相似度降序排序在前的多个物品的广告,作为用户可能感兴趣的广告,向用户推送可能感兴趣的广告(例如以文本、图片、视频等形式进行推送)。
本申请实施例中,调用更新后的跨模态哈希模型对不同模态的样本进行降维哈希编码处理,可以得到能够更准确地通过哈希编码之间距离表征样本之间的相似度的哈希编码。可以应用更新后的跨模态哈希模型对数据库中不同模态的数据进行降维哈希编码,将哈希编码作为哈希编码对应的数据的标签或者索引,利用不同模态数据的哈希编码进行数据检索,降低了跨模态检索中计算查询样本与返回样本之间相似度所需的计算量,节约了计算资源,提升了检索效果。
可以理解的是,在本申请实施例中,涉及到用户信息、用户反馈数据等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的跨模态哈希模型的训练装置455的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器440的跨模态哈希模型的训练装置455中的软件模块可以包括:样本获取模块4551,配置为获取多个样本对,其中,每个样本对包括用于描述相同内容且不同模态的两个样本;哈希编码模块4552,配置为调用跨模态哈希模型对多个样本对进行降维哈希编码处理,得到与多个样本对一一对应的多个哈希编码对,其中,哈希编码对中的两个哈希编码之间的距离用于表征哈希编码对所对应的两个样本之间的相似度;二值码生成模块4553,配置为针对每个哈希编码对执行以下处理:在哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点,基于每个位置对应的目标哈希数据点确定哈希编码对的二值码,其中,权重用于表征哈希数据点对于计算哈希编码对所对应的样本对的相似度的重要程度;损失确定模块4554,配置为基于每个哈希编码对、多个样本对所对应的相似度矩阵,以及每个哈希编码对与每个哈希编码对所对应的二值码之间的差异,确定跨模态哈希模型的总量化损失;损失确定模块4554,还配置为基于总量化损失更新跨模态哈希模型的参数。
在一些实施例中,不同模态包括第一模态和第二模态;每个样本对包括:一个第一模态的样本和一个第二模态的样本;多个样本对一一对应的多个哈希编码对包括:第一模态的多个样本一一对应的多个哈希编码、以及第二模态的多个样本一一对应的多个哈希编码;
哈希编码模块4552,配置为对多个样本对中第一模态的多个样本进行特征提取,得到第一模态的样本特征集合,并对多个样本对中第二模态的多个样本进行特征提取,得到第二模态的样本特征集合;
对第一模态的样本特征集合进行降维哈希编码处理,得到与第一模态的多个样本一一对应的多个哈希编码,并对第二模态的样本特征集合进行降维哈希编码处理,得到与第二模态的多个样本一一对应的多个哈希编码,其中,第一模态的多个样本的哈希编码与第二模态的多个样本的哈希编码的长度相同。
哈希编码模块4552,配置为对第一模态的样本特征集合包括的多个特征数据点分别进行降维哈希编码处理,得到与第一模态的多个样本一一对应的多个哈希编码,其中,多个特征数据点与第一模态的多个样本一一对应;
哈希编码模块4552,配置为对第二模态的样本特征集合包括的多个特征数据点分别进行降维哈希编码处理,得到与第二模态的多个样本一一对应的哈希编码,其中,多个特征数据点与第二模态的多个样本一一对应。
在一些实施例中,第一模态的样本特征集合包括多个特征数据点,其中,多个特征数据点与第一模态的多个样本一一对应;第二模态的样本特征集合包括多个特征数据点,其中,多个特征数据点与第二模态的多个样本一一对应。
哈希编码模块4552,配置为通过以下方式获取多个样本对所对应的相似度矩阵:对于第一模态的样本特征集合中的每个特征数据点进行以下处理:确定第一模态的特征数据点在样本特征集合中的位置编号,并确定位置编号对应的行;根据每个第二模态的特征数据点在样本特征集合中的位置编号,依次获取第一模态的特征数据点与每个第二模态的特征数据点的特征相似度;将得到的每个特征相似度依次作为位于行中的元素,将得到的每一行的元素组合为相似度矩阵。
在一些实施例中,不同模态包括第一模态和第二模态,每个哈希编码对包括第一模态的样本的哈希编码和第二模态的样本的哈希编码,每个哈希编码包括多个哈希数据点。
二值码生成模块4553,配置为遍历每个哈希编码对,获取所遍历到的哈希编码对的目标权重矩阵,并针对所遍历到的哈希编码对中的每个位置执行以下处理:基于所遍历到的哈希编码对的目标权重矩阵,确定第一模态的样本的哈希编码中位于位置的哈希数据点的权重、以及第二模板的样本的哈希编码中位于位置的哈希数据点的权重;将权重较大的哈希数据点确定为位置对应的目标哈希数据点。
在一些实施例中,目标权重矩阵为对角线矩阵,且对角线矩阵的对角线上的元素数量等于哈希编码对中的两个哈希编码的编码长度的加和;
二值码生成模块4553,配置为确定位置在哈希编码对中的第一列数,将第一列数与编码长度的加和作为第二列数;将目标权重矩阵中对角线上的位于第一列数的元素,作为位于位置的第一模态的样本的哈希数据点的权重;将目标权重矩阵中对角线上的位于第二列数的元素,作为位于位置的第二模态的样本的哈希数据点的权重。
二值码生成模块4553,配置为获取所遍历到的哈希编码对的权重变量矩阵,其中,权重变量矩阵为对角线矩阵,且对角线矩阵的对角线上的元素数量等于哈希编码对中的两个哈希编码的编码长度的加和,对角线上的元素为变量;基于权重变量矩阵与哈希编码对,确定以哈希编码对之间距离表征的两个样本的变量汉明相似度,其中,变量汉明相似度以矩阵形式表示;确定哈希编码对所对应的两个特征数据点的特征相似度与变量汉明相似度之间的变量相似度差异;确定变量相似度差异对应的最小相似度差异,基于最小差异值及两个特征数据点对应的特征相似度,确定相似度差异最小时的目标汉明相似度;基于目标汉明相似度及哈希编码对,确定相似度差异最小时的哈希编码对的目标权重矩阵。
二值码生成模块4553,配置为基于哈希编码对生成编码矩阵,并确定编码矩阵的转置矩阵;确定编码矩阵、权重变量矩阵及编码矩阵的转置矩阵之间的乘积;对乘积与哈希编码对中两个哈希编码的编码长度的加和进行相除,得到变量汉明相似度。
二值码生成模块4553,配置为对每个位置对应的目标哈希数据点进行二值化处理,将得到的每个位置的二值化数据点组合为哈希编码对的二值码。
在一些实施例中,二值化哈希数据点的数值类型包括第一数值及第二数值,第一数值大于第二数值。
二值码生成模块4553,配置为当位置的目标哈希数据点的数值大于零时,对目标哈希数据点对应的数值进行二值化处理,得到第一数值的二值化数据点;当位置的目标哈希数据点的数值小于零时,对目标哈希数据点对应的数值进行二值化处理,得到第二数值的二值化数据点;将得到的每个位置的二值化数据点组合为哈希编码对的二值码。
在一些实施例中,不同模态包括第一模态和第二模态,每个哈希编码对包括第一模态的样本的哈希编码和第二模态的样本的哈希编码,每个哈希编码包括多个哈希数据点。
损失确定模块4554,配置为针对任意两个哈希编码对执行以下处理:对第一哈希编码对中第二模态的样本的哈希编码进行转置处理,得到转置哈希编码;对第二哈希编码对中第一模态的样本的哈希编码与转置哈希编码进行相乘,得到哈希编码乘积;从相似度矩阵中,获取哈希编码乘积所对应的两个样本一一对应的特征数据点之间的特征相似度;基于哈希编码乘积与所对应的特征相似度之间的差异,确定相似度损失;对每个哈希编码对执行以下处理:基于第一模态的哈希编码与对应的二值码之间的差异、以及第二模态的哈希编码与对应的二值码之间的差异,确定每个哈希编码对的差异损失;将每个相似度损失及每个差异损失相加,得到跨模态哈希模型的总量化损失。
损失确定模块4554,配置为确定总量化损失与跨模态哈希模型对应的学习率的乘积,将乘积作为目标损失;将每个哈希编码对作为实际输出结果,基于目标损失与实际输出结果,确定跨模态哈希模型的预期输出结果;基于预期输出结果及多个样本对,对跨模态哈希模型进行反向传播,在反向传播的过程中确定跨模态哈希模型的更新参数,其中,更新参数用于拟合预期输出结果和多个样本对;将跨模态哈希模型的原始参数替换为更新参数,得到更新后的跨模态哈希模型。
在一些实施例中,第一模态是模态集合中任意一个模态,第二模态是模态集合中除第一模态之外的任意一个模态;模态集合包括:图片模态、文本模态、视频模态及音频模态。
哈希编码模块4552,还配置为获取待处理的样本对,其中,样本对包括用于描述相同内容且不同模态的两个样本;调用跨模态哈希模型对样本对进行降维哈希编码处理,得到与样本对一一对应的哈希编码对,其中,哈希编码对中的两个哈希编码之间的距离用于表征哈希编码对所对应的两个样本之间的相似度。
在一些实施例中,跨模态哈希模型包括第一模态哈希模型及第二模态哈希模型,不同模态包括第一模态和第二模态;样本对包括:第一模态的样本和第二模态的样本;样本对一一对应的哈希编码对包括:第一模态的样本的哈希编码、以及第二模态的样本的哈希编码。
哈希编码模块4552,还配置为调用第一模态哈希模型,对样本对中第一模态的样本进行特征提取,得到第一模态的特征数据,并对第一模态的特征数据进行降维哈希编码处理,得到与第一模态的样本的哈希编码;调用第二模态哈希模型,对样本对中第二模态的样本进行特征提取,得到第二模态的特征数据,并对第二模态的特征数据进行降维哈希编码处理,得到与第二模态的样本的哈希编码,其中,第一模态的样本的哈希编码与第二模态的样本的哈希编码的长度相同。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的跨模态哈希模型的训练方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的跨模态哈希模型的训练方法,例如,如图3A示出的跨模态哈希模型的训练方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例通过权重表征哈希编码中每一个哈希数据点重要程度,权重与重要程度正相关,基于权重更高的哈希数据点确定的哈希编码对的二值码的精确度更高,利用二值码能够得到更精确的跨模态哈希模型的总量化损失。基于总量化损失对跨模态哈希模型进行训练,使得跨模态哈希模型输出的哈希编码之间的距离能够更准确地表征样本之间的相似度,提升了跨模态哈希模型的编码精度。进而,在利用哈希编码计算样本之间相似度的过程中,节约了所占用的计算资源,提升了计算效率;在利用哈希编码进行跨模态检索的过程中,能够得到更符合检索需求的检索结果。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (19)

1.一种跨模态哈希模型的训练方法,其特征在于,所述方法包括:
获取多个样本对,其中,每个所述样本对包括用于描述相同内容且不同模态的两个样本;
调用跨模态哈希模型对多个所述样本对进行降维哈希编码处理,得到与所述多个样本对一一对应的多个哈希编码对,其中,所述哈希编码对中的两个哈希编码之间的距离用于表征所述哈希编码对所对应的所述两个样本之间的相似度;
针对每个所述哈希编码对执行以下处理:在所述哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点,基于所述每个位置对应的所述目标哈希数据点确定所述哈希编码对的二值码,其中,所述权重用于表征所述哈希数据点对于计算所述哈希编码对所对应的样本对的相似度的重要程度;
基于每个所述哈希编码对、所述多个样本对所对应的相似度矩阵,以及每个所述哈希编码对与每个所述哈希编码对所对应的所述二值码之间的差异,确定所述跨模态哈希模型的总量化损失;
基于所述总量化损失更新所述跨模态哈希模型的参数。
2.如权利要求1所述的方法,其特征在于,
所述不同模态包括第一模态和第二模态;每个所述样本对包括:一个所述第一模态的样本和一个所述第二模态的样本;所述多个样本对一一对应的多个哈希编码对包括:所述第一模态的多个样本一一对应的多个哈希编码、以及所述第二模态的多个样本一一对应的多个哈希编码;
所述对多个所述样本对进行降维哈希编码处理,得到与所述多个样本对一一对应的多个哈希编码对,包括:
对多个所述样本对中所述第一模态的多个样本进行特征提取,得到所述第一模态的样本特征集合,并对多个所述样本对中所述第二模态的多个样本进行特征提取,得到所述第二模态的样本特征集合;
对所述第一模态的样本特征集合进行降维哈希编码处理,得到与所述第一模态的多个样本一一对应的多个哈希编码,并对所述第二模态的样本特征集合进行降维哈希编码处理,得到与所述第二模态的多个样本一一对应的多个哈希编码,其中,所述第一模态的多个样本的哈希编码与所述第二模态的多个样本的哈希编码的长度相同。
3.如权利要求2所述的方法,其特征在于,
所述对所述第一模态的样本特征集合进行降维哈希编码处理,得到与所述第一模态的多个样本一一对应的多个哈希编码,包括:
对所述第一模态的样本特征集合包括的多个特征数据点分别进行降维哈希编码处理,得到与所述第一模态的多个样本一一对应的多个哈希编码,其中,所述多个特征数据点与所述第一模态的多个样本一一对应;
所述对所述第二模态的样本特征集合进行降维哈希编码处理,得到与所述第二模态的多个样本一一对应的多个哈希编码,包括:
对所述第二模态的样本特征集合包括的多个特征数据点分别进行降维哈希编码处理,得到与所述第二模态的多个样本一一对应的哈希编码,其中,所述多个特征数据点与所述第二模态的多个样本一一对应。
4.如权利要求2所述的方法,其特征在于,
所述第一模态的样本特征集合包括多个特征数据点,其中,所述多个特征数据点与所述第一模态的多个样本一一对应;
所述第二模态的样本特征集合包括多个特征数据点,其中,所述多个特征数据点与所述第二模态的多个样本一一对应;
在确定所述跨模态哈希模型的总量化损失之前,所述方法还包括:
通过以下方式获取多个样本对所对应的相似度矩阵:
对于所述第一模态的样本特征集合中的每个特征数据点进行以下处理:
确定所述第一模态的特征数据点在所述样本特征集合中的位置编号,并确定所述位置编号对应的行;
根据每个所述第二模态的特征数据点在所述样本特征集合中的位置编号,依次获取所述第一模态的特征数据点与每个所述第二模态的特征数据点的特征相似度;
将得到的每个特征相似度依次作为位于所述行中的元素,将得到的每一行的元素组合为所述相似度矩阵。
5.如权利要求1所述的方法,其特征在于,
所述不同模态包括第一模态和第二模态,每个所述哈希编码对包括所述第一模态的样本的哈希编码和所述第二模态的样本的哈希编码,每个所述哈希编码包括多个哈希数据点;
所述在所述哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点,包括:
遍历每个所述哈希编码对,获取所遍历到的所述哈希编码对的目标权重矩阵,并针对所遍历到的所述哈希编码对中的每个位置执行以下处理:
基于所遍历到的所述哈希编码对的目标权重矩阵,确定所述第一模态的样本的哈希编码中位于所述位置的哈希数据点的权重、以及所述第二模板的样本的哈希编码中位于所述位置的哈希数据点的权重;
将权重较大的哈希数据点确定为所述位置对应的目标哈希数据点。
6.如权利要求5所述的方法,其特征在于,
所述目标权重矩阵为对角线矩阵,且所述对角线矩阵的对角线上的元素数量等于所述哈希编码对中的两个哈希编码的编码长度的加和;
所述基于所遍历到的所述哈希编码对的目标权重矩阵,确定所述第一模态的样本的哈希编码中位于所述位置的哈希数据点的权重、以及所述第二模板的样本的哈希编码中位于所述位置的哈希数据点的权重,包括:
确定所述位置在所述哈希编码对中的第一列数,将所述第一列数与所述编码长度的加和作为第二列数;
将所述目标权重矩阵中对角线上的位于所述第一列数的元素,作为位于所述位置的所述第一模态的样本的哈希数据点的权重;
将所述目标权重矩阵中对角线上的位于所述第二列数的元素,作为位于所述位置的所述第二模态的样本的哈希数据点的权重。
7.如权利要求5所述的方法,其特征在于,所述获取所遍历到的所述哈希编码对的目标权重矩阵,包括:
获取所遍历到的所述哈希编码对的权重变量矩阵,其中,所述权重变量矩阵为对角线矩阵,且所述对角线矩阵的对角线上的元素数量等于所述哈希编码对中的两个哈希编码的编码长度的加和,所述对角线上的元素为变量;
基于所述权重变量矩阵与所述哈希编码对,确定以所述哈希编码对之间距离表征的所述两个样本的变量汉明相似度,其中,所述变量汉明相似度以矩阵形式表示;
确定所述哈希编码对所对应的两个特征数据点的特征相似度与所述变量汉明相似度之间的变量相似度差异;
确定所述变量相似度差异对应的最小相似度差异,基于所述最小差异值及所述两个特征数据点对应的特征相似度,确定相似度差异最小时的目标汉明相似度;
基于所述目标汉明相似度及所述哈希编码对,确定相似度差异最小时的所述哈希编码对的目标权重矩阵。
8.如权利要求7所述的方法,其特征在于,所述基于所述权重变量矩阵与所述哈希编码对,确定以所述哈希编码对之间距离表征的所述两个样本的变量汉明相似度,包括:
基于所述哈希编码对生成编码矩阵,并确定所述编码矩阵的转置矩阵;
确定所述编码矩阵、所述权重变量矩阵及所述编码矩阵的转置矩阵之间的乘积;
对所述乘积与所述哈希编码对中所述两个哈希编码的编码长度的加和进行相除,得到所述变量汉明相似度。
9.如权利要求1所述的方法,其特征在于,所述基于所述每个位置对应的所述目标哈希数据点确定所述哈希编码对的二值码,包括:
对所述每个位置对应的所述目标哈希数据点进行二值化处理,将得到的所述每个位置的二值化数据点组合为所述哈希编码对的二值码。
10.如权利要求9所述的方法,其特征在于,所述二值化哈希数据点的数值类型包括第一数值及第二数值,所述第一数值大于所述第二数值;
所述对所述每个位置对应的所述目标哈希数据点进行二值化处理,将得到的所述每个位置的二值化数据点组合为所述哈希编码对的二值码,包括:
当所述位置的所述目标哈希数据点的数值大于零时,对所述目标哈希数据点对应的数值进行二值化处理,得到第一数值的二值化数据点;
当所述位置的所述目标哈希数据点的数值小于零时,对所述目标哈希数据点对应的数值进行二值化处理,得到第二数值的二值化数据点;
将得到的所述每个位置的二值化数据点组合为所述哈希编码对的二值码。
11.如权利要求1所述的方法,其特征在于,
所述不同模态包括第一模态和第二模态,每个所述哈希编码对包括所述第一模态的样本的哈希编码和所述第二模态的样本的哈希编码,每个所述哈希编码包括多个哈希数据点;
所述基于每个所述哈希编码对、所述多个样本对所对应的相似度矩阵,以及每个所述哈希编码对与每个所述哈希编码对所对应的所述二值码之间的差异,确定所述跨模态哈希模型的总量化损失,包括:
针对任意两个所述哈希编码对执行以下处理:对第一哈希编码对中所述第二模态的样本的哈希编码进行转置处理,得到转置哈希编码;对第二哈希编码对中所述第一模态的样本的哈希编码与所述转置哈希编码进行相乘,得到哈希编码乘积;从所述相似度矩阵中,获取所述哈希编码乘积所对应的两个样本一一对应的特征数据点之间的特征相似度;基于所述哈希编码乘积与所对应的特征相似度之间的差异,确定相似度损失;
对每个所述哈希编码对执行以下处理:基于所述第一模态的哈希编码与对应的所述二值码之间的差异、以及所述第二模态的哈希编码与对应的所述二值码之间的差异,确定每个所述哈希编码对的差异损失;
将每个所述相似度损失及每个所述差异损失相加,得到所述跨模态哈希模型的总量化损失。
12.如权利要求1所述的方法,其特征在于,所述基于所述总量化损失更新所述跨模态哈希模型的参数,包括:
确定所述总量化损失与所述跨模态哈希模型对应的学习率的乘积,将所述乘积作为目标损失;
将每个所述哈希编码对作为实际输出结果,基于所述目标损失与所述实际输出结果,确定所述跨模态哈希模型的预期输出结果;
基于所述预期输出结果及所述多个样本对,对所述跨模态哈希模型进行反向传播,在所述反向传播的过程中确定所述跨模态哈希模型的更新参数,其中,所述更新参数用于拟合所述预期输出结果和所述多个样本对;
将所述跨模态哈希模型的原始参数替换为所述更新参数,得到更新后的跨模态哈希模型。
13.如权利要求1所述的方法,其特征在于,
所述不同模态包括第一模态和第二模态;所述第一模态是模态集合中任意一个模态,所述第二模态是所述模态集合中除所述第一模态之外的任意一个模态;
所述模态集合包括:图片模态、文本模态、视频模态及音频模态。
14.一种跨模态哈希模型的编码方法,其特征在于,所述方法基于权利要求1至13任一项的跨模态哈希模型;所述方法包括:
获取待处理的样本对,其中,所述样本对包括用于描述相同内容且不同模态的两个样本;
调用跨模态哈希模型对所述样本对进行降维哈希编码处理,得到与所述样本对一一对应的哈希编码对,其中,所述哈希编码对中的两个哈希编码之间的距离用于表征所述哈希编码对所对应的所述两个样本之间的相似度。
15.如权利要求14所述的方法,其特征在于,所述跨模态哈希模型包括第一模态哈希模型及第二模态哈希模型,所述不同模态包括第一模态和第二模态;所述样本对包括:所述第一模态的样本和所述第二模态的样本;所述样本对一一对应的哈希编码对包括:所述第一模态的样本的哈希编码、以及所述第二模态的样本的哈希编码;
所述调用跨模态哈希模型对所述样本对进行降维哈希编码处理,得到与所述样本对一一对应的哈希编码对,包括:
调用所述第一模态哈希模型,对所述样本对中所述第一模态的样本进行特征提取,得到所述第一模态的特征数据,并对所述第一模态的特征数据进行降维哈希编码处理,得到与所述第一模态的样本的哈希编码;
调用所述第二模态哈希模型,对所述样本对中所述第二模态的样本进行特征提取,得到所述第二模态的特征数据,并对所述第二模态的特征数据进行降维哈希编码处理,得到与所述第二模态的样本的哈希编码,其中,所述第一模态的样本的哈希编码与所述第二模态的样本的哈希编码的长度相同。
16.一种跨模态哈希模型的训练装置,其特征在于,所述装置包括:
样本获取模块,用于获取多个样本对,其中,每个所述样本对包括用于描述相同内容且不同模态的两个样本;
哈希编码模块,用于调用跨模态哈希模型对多个所述样本对进行降维哈希编码处理,得到与所述多个样本对一一对应的多个哈希编码对,其中,所述哈希编码对中的两个哈希编码之间的距离用于表征所述哈希编码对所对应的所述两个样本之间的相似度;
二值码生成模块,用于针对每个所述哈希编码对执行以下处理:在所述哈希编码对中每个位置的哈希数据点对中,确定权重较大的目标数据哈希点,基于所述每个位置对应的所述目标哈希数据点确定所述哈希编码对的二值码,其中,所述权重用于表征所述哈希数据点对于计算所述哈希编码对所对应的样本对的相似度的重要程度;
损失确定模块,用于基于每个所述哈希编码对、所述多个样本对所对应的相似度矩阵,以及每个所述哈希编码对与每个所述哈希编码对所对应的所述二值码之间的差异,确定所述跨模态哈希模型的总量化损失;
所述损失确定模块,还用于基于所述总量化损失更新所述跨模态哈希模型的参数。
17.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至15任一项所述的方法。
18.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至15任一项所述的方法。
19.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至15任一项所述的方法。
CN202210038252.8A 2022-01-13 2022-01-13 跨模态哈希模型的训练方法、编码方法、装置及电子设备 Pending CN114398980A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210038252.8A CN114398980A (zh) 2022-01-13 2022-01-13 跨模态哈希模型的训练方法、编码方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210038252.8A CN114398980A (zh) 2022-01-13 2022-01-13 跨模态哈希模型的训练方法、编码方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114398980A true CN114398980A (zh) 2022-04-26

Family

ID=81231670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210038252.8A Pending CN114398980A (zh) 2022-01-13 2022-01-13 跨模态哈希模型的训练方法、编码方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114398980A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080880A (zh) * 2022-08-23 2022-09-20 山东建筑大学 一种基于鲁棒相似保持的跨模态检索方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080880A (zh) * 2022-08-23 2022-09-20 山东建筑大学 一种基于鲁棒相似保持的跨模态检索方法及***
CN115080880B (zh) * 2022-08-23 2022-11-08 山东建筑大学 一种基于鲁棒相似保持的跨模态检索方法及***

Similar Documents

Publication Publication Date Title
CN112307762B (zh) 搜索结果的排序方法及装置、存储介质、电子装置
WO2021139191A1 (zh) 数据标注的方法以及数据标注的装置
US11288324B2 (en) Chart question answering
CN113627447B (zh) 标签识别方法、装置、计算机设备、存储介质及程序产品
CN112149400B (zh) 一种数据处理方法、装置、设备及存储介质
CN110750640A (zh) 基于神经网络模型的文本数据分类方法、装置及存储介质
CN111611488B (zh) 基于人工智能的信息推荐方法、装置、电子设备
CN108984555B (zh) 用户状态挖掘和信息推荐方法、装置以及设备
CN115130711A (zh) 一种数据处理方法、装置、计算机及可读存储介质
CN111026887A (zh) 一种跨媒体检索的方法及***
CN114996486A (zh) 一种数据推荐方法、装置、服务器以及存储介质
CN109933682A (zh) 一种基于语义与内容信息结合的图像哈希检索方法及***
CN114398980A (zh) 跨模态哈希模型的训练方法、编码方法、装置及电子设备
He et al. Classification of metro facilities with deep neural networks
CN116244484B (zh) 一种面向不平衡数据的联邦跨模态检索方法及***
CN112598039A (zh) 获取nlp分类领域阳性样本方法及相关设备
Fatkhulin et al. Analysis of the Basic Image Generation Methods by Neural Networks
CN116186708A (zh) 类别识别模型生成方法、装置、计算机设备和存储介质
CN117033751A (zh) 推荐信息处理方法、装置、存储介质及设备
CN115168609A (zh) 一种文本匹配方法、装置、计算机设备和存储介质
CN113705071A (zh) 设备识别方法、装置、设备及存储介质
CN113821676A (zh) 视频检索方法、装置、设备及存储介质
CN111552827A (zh) 标注方法和装置、行为意愿预测模型训练方法和装置
CN113487374A (zh) 一种基于5g网络的区块电商平台交易***
CN113392312A (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: 40071547

Country of ref document: HK