CN117036743A - 哈希模型训练方法、检索方法和装置 - Google Patents
哈希模型训练方法、检索方法和装置 Download PDFInfo
- Publication number
- CN117036743A CN117036743A CN202211329555.1A CN202211329555A CN117036743A CN 117036743 A CN117036743 A CN 117036743A CN 202211329555 A CN202211329555 A CN 202211329555A CN 117036743 A CN117036743 A CN 117036743A
- Authority
- CN
- China
- Prior art keywords
- picture
- hash
- semantic
- model
- samples
- 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
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000012549 training Methods 0.000 title claims abstract description 107
- 230000000007 visual effect Effects 0.000 claims abstract description 38
- 238000009826 distribution Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 36
- 238000013473 artificial intelligence Methods 0.000 abstract description 18
- 238000010801 machine learning Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 21
- 239000011159 matrix material Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 241000282472 Canis lupus familiaris Species 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Library & Information Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种哈希模型训练方法、检索方法和装置,涉及人工智能的机器学习领域。该模型训练方法包括:获取训练样本集,包括n个图片样本;利用视觉语言模型,获取每个图片样本的语义概念信息;其中,视觉语言模型根据文本‑图像对预训练得到;根据每个图片样本的语义概念信息,获取n个图片样本间的语义相似性;将该n个图片样本输入哈希模型,得到n个图片样本的哈希码;根据n个图片样本间的语义相似性和n个图片样本的哈希码,确定哈希损失;根据哈希损失,对哈希模型的参数进行更新,得到训练后的哈希模型。本申请实施例能够有助于提升无监督哈希技术的检索精度。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种哈希模型训练方法、检索方法和装置。
背景技术
随着互联网的高速发展,图像、文本、视频等多媒体数据急剧增长,大规模数据检索成为了一个研究热点。面对海量数据,最近邻搜索(Approximate Nearest Neighbor,ANN)相比精确检索具备更广的应用优势,从而成为信息检索中的一项关键技术。其中,基于哈希技术的近似ANN方法通过设计和优化哈希函数,减少计算次数从而缩短搜索时间。哈希技术由于其低廉的存储成本和高效的查询效率,得到了人们越来越多的关注。
无监督哈希技术利用无标签的样本数据来学习哈希函数。相关技术中,无监督哈希技术一般通过利用预训练好的卷积神经网络提取数据点的特征向量,然后依据提取到的特征向量来定义数据点之间的相似性关系,以该相似性信息为指导信息优化目标函数,实现哈希模型的训练。然而,面对实际场景中的大规模复杂数据,无监督哈希技术在检索精度上依然存在着较大的挑战。如何有效保障无监督哈希技术的检索精度,亟待解决。
发明内容
本申请提供一种哈希模型训练方法、检索方法和装置,能够有助于提升无监督哈希技术的检索精度。
第一方面,本申请实施例提供一种哈希模型训练方法,包括:
获取训练样本集,所述训练样本集包括n个图片样本;n为大于1的正整数;
利用视觉语言模型,获取每个所述图片样本的语义概念信息;其中,所述视觉语言模型根据文本-图像对预训练得到;所述语义概念信息包括图片样本在多个语义概念的语义分布,所述语义概念包括具有同种特性的实体构成的集合;
根据每个所述图片样本的语义概念信息,获取所述n个图片样本间的语义相似性;
将所述n个图片样本输入哈希模型,得到所述n个图片样本的哈希码;
根据所述n个图片样本间的语义相似性和所述n个图片样本的哈希码,确定哈希损失;
根据所述哈希损失,对所述哈希模型的参数进行更新,得到训练后的所述哈希模型。
第二方面,本申请实施例提供一种检索方法,包括:
获取查询图片;
将所述查询图片输入哈希模型,得到所述查询图片的第一哈希码;其中,所述哈希模型根据第一方面所述的方法训练得到;
获取至少一个候选图片;
将所述至少一个候选图片输入所述哈希模型,得到所述至少一个候选图片对应的至少一个第二哈希码;
根据所述第一哈希码和所述至少一个第二哈希码,在所述至少一个候选图片中确定所述查询图片对应的目标图片。
第三方面,本申请实施例提供了一种哈希模型训练装置,包括:
获取单元,用于获取训练样本集,所述训练样本集包括n个图片样本;n为大于1的正整数;
视觉语言模型,用于获取每个所述图片样本的语义概念信息;其中,所述视觉语言模型根据文本-图像对预训练得到;所述语义概念信息包括图片样本在多个语义概念的语义分布,所述语义概念包括具有同种特性的实体构成的集合;
确定单元,用于根据每个所述图片样本的语义概念信息,获取所述n个图片样本间的语义相似性;
哈希模型,用于输入所述n个图片样本,得到所述n个图片样本的哈希码;
所述确定单元还用于根据所述n个图片样本间的语义相似性和所述n个图片样本的哈希码,确定哈希损失;
参数更新单元,用于根据所述哈希损失,对所述哈希模型的参数进行更新,得到训练后的所述哈希模型。
第四方面,本申请实施例提供了一种检索装置,包括:
获取单元,用于获取查询图片;
哈希模型,用于输入将所述查询图片,得到所述查询图片的第一哈希码;其中,所述哈希模型根据如权利要求1-7任一项所述的方法训练得到;
所述获取单元还用于获取至少一个候选图片;
所述哈希模型还用于输入所述至少一个候选图片,得到所述至少一个候选图片对应的至少一个第二哈希码;
确定单元,用于根据所述第一哈希码和所述至少一个第二哈希码,在所述至少一个候选图片中确定所述查询图片对应的目标图片。
第五方面,本申请实施例提供一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行如第一方面或第二方面中的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时使得计算机执行如第一方面或第二方面中的方法。
第七方面,本申请实施例提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面或第二方面中的方法。
第八方面,本申请实施例提供一种计算机程序,计算机程序使得计算机执行如第一方面或第二方面中的方法。
通过上述技术方案,本申请实施例通过利用预训练的视觉语言模型挖掘图片中可能存在的语义概念信息,以及依据图片的语义概念信息来定义图片之间的语义相似性,并以该语义相似性为指导信息来指导哈希模型的训练,使得哈希模型能够将图片映射为保留语义相似性的哈希码,能够有助于提升无监督哈希技术的检索精度。
进一步的,本申请实施例在面对大规模复杂数据时,能够有助于保障无监督哈希技术的检索精度。
附图说明
图1为本申请实施例的方案的系统架构的一个示意图;
图2为根据本申请实施例的一种模型训练方法的示意性流程图;
图3为根据本申请实施例的一种训练模型的网络架构的示意图;
图4示出了CLIP模型的预训练过程的一个示意图;
图5示出了CLIP模型进行分类预测过程的一个示意图;
图6为根据本申请实施例的另一种模型训练方法的示意性流程图;
图7为根据本申请实施例的一种检索方法的示意性流程图;
图8为根据本申请实施例的一种训练模型装置的示意性框图;
图9为根据本身实施例的一种检索装置的示意性框图;
图10为根据本申请实施例的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
应理解,在本申请实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
还应理解,本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
还应理解,说明书中与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例应用于人工智能技术领域。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例可涉及人工智能技术中的计算机视觉(Computer Vision,CV)技术,计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例也可以涉及人工智能技术中的机器学习(Machine Learning,ML),ML是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
深度学习(Deep Learning,DL)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。深度学习是学习训练样本数据的内在规律和表示层次,这些学习过程中获得的信息对文字、图像和声音等数据的解释有很大的帮助。深度学习的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
下面对本申请实施例涉及的相关术语进行描述。
神经网络(Neural Network,NN):在机器学习和认知科学领域的一种模仿生物神经网络结构和功能的深度学习模型。
预训练:一种通过使用大型数据集对神经网络模型进行训练,使神经网络模型学习到数据集中的通用特征的过程。预训练的目的是为后续神经网络模型在特定数据集上训练提供优质的模型参数。
视觉语言预训练(vision-language pre-training,VLP):利用大规模文本-图像对预训练学习不同模态之间的语义对应关系的过程。例如,在文本-图像预训练中,期望模型将文本中的狗与图像中的狗的外观相关联。
哈希技术:将高维的数据编码成低维紧凑的二进制哈希码。具体的,给定一个d维的样本特征向量xi∈R1×d,哈希方法旨在通过学习一个哈希函数将样本xi编码成r维的二值哈希码bi∈{+1,-1}1×r,其中r<<d。
哈希编码后,两个样本之间的距离可以通过汉明距离来近似,而汉明距离的计算可通过计算机的位异或操作(XOR)来支持,从而实现距离度量的加速。
依据用于训练哈希函数的数据是否有标签信息,哈希技术可以被分成两类:有监督哈希方法和无监督哈希方法。
有监督哈希方法:利用训练数据的标签信息来学习哈希函数有监督哈希技术借助类标信息,往往能达到优越的检索性能。
无监督哈希技术:利用无标签的样本数据来学习哈希函数无监督哈希技术无需借助类标信息,具有更广泛的适用性。
相关技术中,无监督哈希技术通过利用预训练好的卷积神经网络提取数据点的特征向量,然后依据提取到的特征向量来定义数据点之间的相似性关系,以该相似性信息为指导信息优化目标函数,实现哈希模型的训练。然而,面对实际场景中的大规模复杂数据,无监督哈希技术在检索精度上依然存在着较大的挑战。
有鉴于此,本申请实施例提出了一种基于语义概念的无监督哈希方法,通过利用预训练的视觉语言模型挖掘图片中可能存在的语义概念信息,以及依据图片的语义概念信息来定义图片之间的语义相似性,并以该语义相似性为指导信息来指导哈希模型的训练,使得哈希模型能够将图片映射为保留语义相似性的哈希码,能够有助于提升无监督哈希技术的检索精度。
其中,语义概念信息包括图片样本在多个语义概念的语义分布。语义概念是指具有同种特性的实体构成的集合,比如猫、鸟、树、花、人、楼房等。概念主要指集合、类别、对象类型、事务种类等。语义概念也可以称为语义类。
在真实生活场景中,每张图片都包含了一些语义概念。如果两张图片包含的共同语义概念越多则该两张图片越相似。因此,本申请实施例通过挖掘图片中的语义概念信息来定义图片之间语义相似性,能够得到图片之间的高质量相似性关系,进而通过该高质量相似性关系指导哈希模型的训练,能够提升哈希模型的检索效果。进一步的,本申请实施例在面对大规模复杂数据时,能够有助于保障无监督哈希技术的检索精度。
下面结合附图描述适用于本申请的系统架构。
图1为本申请实施例涉及的一种系统架构的示意图。如图1所示,系统架构可以包括用户设备101、数据采集设备102、训练设备103、执行设备104、数据库105和内容库106。
其中,数据采集设备102用于从内容库106中读取训练数据,并将读取的训练数据存储至数据库105中。本申请实施例涉及的训练数据包括无标签样本数据。示例性的,该样本数据可以包括图片数据,不作限定。
训练设备103基于数据库105中维护的训练数据,对哈希模型进行训练。训练设备103得到的哈希模型可以有效地将图片数据编码为哈希码。并且该哈希模型还可以进一步连接其他下游模型。训练设备103得到的哈希模型可以应用到不同的系统或设备中。
另外,参考图1,执行设备104配置有I/O接口107,与外部设备进行数据交互。比如通过I/O接口接收用户设备101发送的待检索的图片。执行设备104中的计算模块109使用训练好的哈希模型对输入的数据进行处理,输出检索结果,并通过I/O接口将相应的结果发送至用户设备101。
其中,用户设备101可以包括手机、平板电脑、笔记本电脑、掌上电脑、车载终端、移动互联网设备(mobile internet device,MID)或其他终端设备。
执行设备104可以为服务器。示例性的,服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备。该服务器可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
本实施例中,执行设备104通过网络与用户设备101连接。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
需要说明的是,图1仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。在一些实施例中,上述数据采集设备102与用户设备101、训练设备103和执行设备104可以为同一个设备。上述数据库105可以分布在一个服务器上也可以分布在多个服务器上,上述的内容库106可以分布在一个服务器上也可以分布在多个服务器上。
本申请实施例可以应用于任何相似检索的应用场景,包括但不限于基于广告中的相似检索、商品检索等业务。示例性的,对于广告或商品的相似检索业务,可以获取广告或商品对应的待检索图片,应用本申请训练得到的哈希模型对待检索图片进行编码,得到待检索图片的哈希码,然后可以将候选图片库中的候选图片输入该哈希模型,得到候选图片的哈希码,然后根据待检索图片的哈希码和候选图片的哈希码的相似度(比如汉明相似度),在候选图片中确定与待检索图片相似的目标图片。由于本申请实施例的哈希模型是依据图片的语义概念信息定义的语义相关性为指导信息进行训练的,该哈希模型能够将图片映射为保留语义相似性的哈希码,从而能够实现更加准确的图片检索,进而提高用户的产品体验。
在一些实施例中,还可以根据待检索图片的哈希码与候选图片的哈希码之间的相似度,对相似的目标图片进行召回、粗排或精排等,不做限定。
另外,基于哈希模型的检索方法,得到的哈希码采用低维的二维表示可以极大的降低存储开销,且通过硬件支持的异位或运算能够明显地降低检索过程的计算量。
下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
首先结合图2对本申请实施例涉及的模型的训练过程进行介绍。
图2为根据本申请实施例的哈希模型训练的方法200的示意性流程图,该模型训练的方法200可以由任何具有数据处理能力的电子设备执行,例如,该电子设备可实施为服务器,又例如,该电子设备可实施为图1中的训练设备103,本申请对此不做限定。
在一些实施例中,电子设备中可以包括(比如部署)训练模型的网络架构,用于执行该模型训练的方法200,即利用无标签的样本数据来学习哈希函数(模型)。
图3示出了训练模型的网络架构的一个示意图,可以用于执行方法200。如图3所示,该网络架构中包含两个主要模块:语义相似性生成器310和哈希网络320。其中,语义相似性生成器310包括视觉语言预训练(Vision-Language Pre-training,VLP)模型311,哈希网络320包括图像卷积神经网络(Convolutional Neural Networks,CNN)321。
应理解,图3示出了用于进行模型训练的网络架构的一个示例,该示例仅仅是为了帮助本领域技术人员理解和实现本申请的实施例,而非限制本申请实施例的范围。本领域技术人员可以根据这里给出的例子进行等价变换或修改,这样的变换或修改仍然应落入本申请实施例的保护范围内。
如图2所示,方法200包括步骤210至260。
210,获取训练样本集,该训练样本集包括n个图片样本。其中,n为大于1的正整数。
示例性的,该训练样本集可以表示为:其中xi表示训练样本集中的第i个图片样本,n表示样本训练集中的样本数量。
作为一个具体的例子,本申请实施例可以在Flicker 25K上展开实验,其中测试集包含2000张图片,检索集包含23000张图片,总共25000张图片。在训练阶段,可以从检索集中随机选择10000张图片作为训练样本集。
220,利用视觉语言模型,获取每个图片样本的语义概念信息;其中,该视觉语言模型根据文本-图像对预训练得到。
视觉语言模型的预训练是利用大规模文本-图像对预训练,学习不同模态之间的语义对应关系的过程。视觉语言模型也可以称为视觉语言预训练VLP模型,本申请对此不做限定。这里,不同模态比如文本、图像等;文本-图像对指图像和该图像对应的文本描述。例如,在文本-图像预训练中,期望模型将文本中的狗与图像中的狗的外观相关联。
示例性的,如图3所示,可以将训练样本集中的图片样本输入语义相似性生成器310中的VLP模型311,利用VLP模型311得到每个图片样本的语义概念信息。其中,语义概念信息包括图片样本在多个语义概念的语义分布,语义概念包括具有同种特性的实体构成的集合。示例性的,语义概念比如为猫、鸟、桥、树、花等,不做限定。
在一些实施例中,视觉语言模型可以包括基于对比文本-图像对预训练(Contrastive Language-Image Pre-training,CLIP)模型。CLIP模型是一种基于对比学习的多模态模型,其训练数据是文本-图像对,期望通过对比学习学习到文本-图像对的匹配关系。
图4示出了CLIP模型的预训练过程的一个示意图。如图4所示,CLIP模型包括两个模型:文本编码器(TextEncoder)410和图像编码器(ImageEncoder)420。其中,文本编码器410用于提取文本特征,可以采用自然语言处理(Nature Language processing,NLP)中常用的TextTransformer模型;图像编码器420用于提取图像的特征,可以采用常用的CNN模型或视觉(vision)Transformer。
如图4所示,对文本编码器410提取的文本特征和图像编码器420提取的图像特征进行对比学习。例如,对于一个包含N个文本-图像对的训练处理批次(batch),将N个文本特征{T1,T2,T3,…,TN}和N个图像特征{I1,I2,I3,…,IN}两两组合,预测N2个可能的文本-图像对的相似度。作为示例,这里的相似度可以直接计算文本特征和图像特征的余弦相似度,比如可以使用文本cls_token和图像cls_token来计算余弦相似性,即图4中所示的矩阵。其中,共有N个正样本,即真正属于一对的文本-图像对(矩阵中的对角线元素),而剩余的(N2-N)个文本-图像对为负样本,CLIP的训练目标是最大化N个正样本的相似度,同时最小化(N2-N)个负样本的相似度。
图5示出了CLIP模型进行分类预测过程的一个示意图。如图5所示,首先可以获取任务的分类标签集合,如{飞机(plane),汽车(car),狗(dog),…,鸟(bird)},并构建每个类别的描述文本:(对象)的图片(aphotoof{object})。然后,可以将这些描述文本输入文本编码器410中,得到每个描述文本对应的文本特征。例如,如果类别数目为N,则将得到N个文本特征{T1,T2,T3,…,TN}。另外,将待预测的图像输入图像编码器420得到图像特征I1,然后分别计算该图像特征I1与N个文本特征{T1,T2,T3,…,TN}的余弦相似度(与训练过程一致),然后选择相似度最大的文本:狗的图片(aphotoofdog)对应的类别:狗,作为图像分类预测结果。进一步地,还可以将图像特征I1与N个文本特征{T1,T2,T3,…,TN}的相似度看做logits,送入softmax得到每个类别的预测概率。
在一些实施例中,可以获取概念集合,该概念集合包括m个语义概念。然后,利用视觉语言模型,获取每个图片样本在m个语义概念的语义分布。语义分布可以指各语义概念在图片中出现的频次的分布状态。其中,m为大于1的正整数。
示例性的,可以随机选择m个常见语义概念组成概念集合,表示为:其中ci表示概念集合中的第i个语义概念,m表示概念集合中的语义概念的数量。
当视觉语言模型为CLIP模型时,概念集合与图5中的分类标签集合类似,此时获取图片样本在m个语义概念的语义分布,可以与求图像分类预测得到的每个类别的预测概率类似。具体可以如下述实现方式。
一种可能的实现方式,可以将m个语义概念分别映射为m个语句,利用视觉语言模型确定每个图片样本与m个语句之间的相似度得分。然后,根据每个图片样本与m个语句之间的相似度得分,获取每个图片样本在m个语义概念的语义分布。
例如,对于概念集合可以将每个语义概念cj通过模板“(概念)的图片(aphotoofC)”映射为句子tj。继续参见图3,可以将概念集合C1中“猫(cat)”这一语义概念映射成句子“猫的图片(aphotoofcat)”。接着,对于训练样本集/>中任意一张图片xi,利用预训练好的VLP模型311计算该图片xi与每个基于语义概念的句子之间的相似度得分sij。该过程与图5中求图像分类预测得到的每个类别的预测概率的过程类似。类似的,可以得到图片xi与m个语义概念的相似度得分向量,记为si∈[0,1]m,其中,si的第j维元素为sij,表示图片xi与第j个语义概念的相似度得分。进而,可以得到图片xi在m个语义概念的语义分布di,其第j维dij的计算公式(1)如下:
其中,τ为超参数,取值为3m。
本申请实施例中,可以将每个图片样本在m个概念的语义分布确定为每个图片样本的语义概念信息。
在一些实施例中,视觉语义模型可以根据图片样本的语义概念信息,对概念和对应的语句进行概念去噪处理,得到处理后的语义概念和语义概念对应的语句。比如在图3中,对概念C1和句子1进行去噪处理,得到概念C2和句子2。概念去噪处理能够去除语义概念中的冗余信息,提高语义分布的准确性,进而提高语义相似性矩阵的准确性。
230,根据每个图片样本的语义概念信息,获取n个图片样本间的语义相似性。
示例性的,继续参见图3,可以由语义相似性生成器310中的矩阵生成模块312根据每张图片的语义概念信息,确定训练样本集中图片间的语义相似性矩阵,语义相似性矩阵能够表示图片间的语义相似性关系。
在一些实施例中,在得到训练样本集中每张图片的语义分布后,可以根据每张图片的语义分布获得图片间的相似性关系。示例性的,训练样本集X中的图片xi和图片xj之间的相似性可以由他们之间的语义分布计算。具体的,如果图片xi和图片xj在m个语义概念上的分布相似,那么这两张图片之间也是相似的,反之如果它们在m个语义概念上的分布不相似,则这两张图片也不相似。
作为示例,图片xi和图片xj的相似性可以定义为如下公式(2):
其中,di表示图片xi在m个语义概念上的语义分布,dj表示图片xj在m个语义概念上的语义分布,‖.‖2表示矩阵的2范数。
示例性的,根据n个图片的语义分布两两之间的相似性,可以得到n×n的语义相似性矩阵S。其中,该语义相似性矩阵S的第i行第j列元素为图片xi和图片xj的相似性aij。
240,将n个图片样本输入哈希模型,得到该n个图片样本的哈希码。
具体而言,该哈希模型用于将高维的图片数据编码为低维紧凑的二进制哈希码。示例性的,继续参见图3,可以将训练样本集X中的n个图片样本输入哈希网络320中的图像CNN得到每个图像的图像特征,图像特征经过全连接层322,得到每个图片样本的哈希码z。示例性的,全连接层322可以包括线性层、归一化层和激活层等,不做限定。
在一些实施例中,哈希模型可以采用基于流型的局部语义相似性结构重建的深度无监督哈希(Deep Unsupervised Hashing via Manifold based Local SemanticSimilarity Structure Reconstructing,MLS3RDUH)模型。MLS3RDUH模型利用数据点(如图片)特征空间中的内在流形结构来减少通过数据点特征定义的相似性各种的噪声数据点,以构建出一个高质量高的相似性关系来指导哈希网络的训练。
250,根据该n个图片样本间的语义相似性和该n个图片样本的哈希码,确定哈希损失。
在一些实施例中,可以根据n个图片样本的哈希码,确定n个图片样本间的汉明相似性。然后,根据该n个图片样本间的语义相似性和该n个图片样本间的汉明相似性,确定哈希损失。
示例性的,继续参见图3,可以将n个图片样本的哈希码,输入哈希网络320中的矩阵生成模块323,由该矩阵生成模块323根据每张图片的哈希码,确定训练样本集中图片间的汉明相似性矩阵,汉明相似性矩阵能够表示图片的哈希码之间的汉明相似性关系。作为示例,图片哈希码之间的汉明相似性可以采用哈希码之间的汉明距离表示,或者可以采用哈希码之间的余弦相似性表示,本申请对此不做限定。
示例性的,根据n个图片的哈希码两两之间的汉明相似性,可以得到n×n的汉明相似性矩阵H。其中,该汉明相似性矩阵H的第i行第j列元素为图片xi和图片xj的汉明相似性hij。
在一些实施例中,哈希损失可以为带对比损失的目标函数。示例性的,哈希损失进一步可以包括第一损失和第二损失。其中,第一损失包括正样本和负样本之间的对比损失,第二损失包括图片样本的语义相似性和汉明相似性之间的差值。
示例性的,参见图6,可以通过步骤251至254确定第一损失和第二损失。
251,确定n个图片样本中第i个图片样本的正样本集合,其中,正样本集合中每个图片样本与第i个图片样本之间的语义相似性大于第一阈值。i为小于或等于n的正整数。
示例性的,图片xi的正样本集合可以表示为Oi,正样本集合Oi中任意一个图片样本xj与图片xj的语义相似性aij大于第一阈值γ,即对于任意j∈Oi,aij>γ,γ为超参数。
252,确定第i个图片样本的负样本集合,其中,负样本集合中每个图片样本与所述第i个图片样本之间的语义相似性小于或等于第一阈值。
示例性的,图片xi的负样本集合可以表示为Pi,负样本集合Pi中任意一个图片样本xj与图片xj的语义相似性aij小于或等于第一阈值γ,即对于任意j∈Oi,aij≤γ。
253,根据第i个图片样本与正样本集合中的图片样本之间的汉明相似性,以及第i个图片样本与负样本集合中的图片样本之间的汉明相似性,确定第一损失。第一损失也可以称为对比损失。
示例性的,第一损失可以记为Lc,表示为如下公式(3):
其中,hij表示图片xj和图片xj之间的汉明距离,μ为超参数。
本申请实施例通过根据图片样本之间的语义相似性确定正样本集合和负样本集合,在训练模型的过程中拉近样本和对应正样本之间的距离的同时,推远样本和对应负样本的距离。
254,根据n个图片样本间的语义相似性和n个图片样本间的汉明相似性之间的差值,确定第二损失。
示例性的,第二损失可以记为LH,表示为如下公式(4):
在一些实施例中,当确定第一损失和第二损失之后,可以根据第一损失和第二损失,确定总的哈希损失。示例性的,总的哈希损失L如下公式(5)所示:
L=LH+αLc (5)
其中,αLc可以为哈希损失L中的正则项。
在另一些实施例中,还可以根据第一损失或第二损失,确定哈希损失,本申请对此不做限定。
260,根据哈希损失,对哈希模型的参数进行更新,得到训练后的所述哈希模型。
具体的,可以根据哈希损失,利用随机梯度下降算法优化目标函数,然后反向传播以对哈希网络中各网络模块的参数进行更新,直至满足停止训练的条件。将满足该停止训练条件所确定的哈希网络输出为训练后的哈希模型。
示例性的,可以设置迭代次数为t,学习率为η,批处理大小(batch-size)为z。对于每次迭代过程,可以从训练样本集X中随机选择n张图片,记为Xc,并从语义相似性矩阵S中选择出Xc中图片之间相似性关系构成语义相似性矩阵Sc。同时,将图片Xc输入到哈希网络中得到对应的哈希码Zc,并得到Xc中图片之间汉明相似性矩阵Hc。将语义相似性矩阵Sc和汉明相似性矩阵Hc代入上述公式(3)、(4)和(5),得到目标函数,并采用随机梯度下降算法优化目标函数,更新哈希模型的参数,最终输出训练好的哈希模型。
示例性的,对于图3中的网络架构,在模型训练完成之后,可以输出哈希网络320中的图像CNN和全连接层322,作为训练后的哈希模型。
因此,本申请实施例通过利用预训练的视觉语言模型挖掘图片中可能存在的语义概念信息,以及依据图片的语义概念信息来定义图片之间的语义相似性,并以该语义相似性为指导信息来指导哈希模型的训练,使得哈希模型能够将图片映射为保留语义相似性的哈希码,能够有助于提升哈希模型的检索效果和无监督哈希技术的检索精度。
进一步的,本申请实施例使用对比损失作为目标损失的正则项,在模型训练过程中进一步拉近样本和对应正样本之间的距离的同时,推远样本和对应负样本的距离,从而有助于提升哈希模型生成哈希码的准确性,进一步提升哈希模型的检索精度。
训练阶段结束后,可以得到训练后的哈希模型。在测试阶段,可以依次从测试集中选取图片作为查询样本,并将检索集中的图片作为检索数据库,根据该训练后的哈希模型,在检索数据库中检索查询样本匹配的目标图片。
测试完成后,本申请实施例得到的哈希模型可以用于基于无监督哈希技术的图片检索。
图7示出了本申请实施例提供的一种检索的方法700的示意性流程图。如图7所示,方法700包括步骤710至750。
710,获取查询图片。
在一些实施例中,在测试阶段,查询图片包括测试集中选取的图片。
在一些实施例中,在检索业务(比如广告检索、商品检索)中,查询图片可以包括具体业务中的待检索图片。
720,将查询图片输入哈希模型,得到查询图片的第一哈希码;其中,该哈希模型根据本申请实施例提供的模型训练方法200训练得到。
具体而言,可以利用该哈希模型,将高维的查询图片数据编码为低维紧凑的二进制哈希码。由于该哈希模型是根据基于图片的语义概念信息得到的语义相似性为指导信息训练得到的,能够将该查询图片映射为保留语义相似性的第一哈希码。也就是说,该第一哈希码中包含了图片的语义概念信息,使得查询图片的哈希码的语义表征更加丰富贴切。
730,获取至少一个候选图片。
在一些实施例中,该至少一个候选图片为检索数据库中的图片。
示例性的,当查询图片为测试集中选取的图片时,该至少一个候选图片为检索集中的图片。
示例性的,当查询图片为检索业务中的待检索图片时,该至少一个候选图片业务对应的检索数据库中的至少一个图片。这里,检索数据库可以为预设的图片库,可以包含业务应用对应在应用服务器中的所有图片。
可选的,步骤730具体可以实施为在检索数据库中获取上述查询图片对应的至少一个候选图片。具体的,可以根据查询图片先对检索数据库中大量的图片进行初步的筛选,得到该至少一个候选图片。
740,将至少一个候选图片输入该哈希模型,得到该至少一个候选图片对应的至少一个第二哈希码。
具体而言,可以利用该哈希模型,将高维的候选图片数据编码为低维紧凑的二进制哈希码。由于该哈希模型是根据基于图片的语义概念信息得到的语义相似性为指导信息训练得到的,能够将该候选图片映射为保留语义相似性的第一哈希码。也就是说,该第二哈希码中包含了图片的语义概念信息,使得候选图片的哈希码的语义表征更加丰富贴切。
750,根据第一哈希码和至少一个第二哈希码,在至少一个候选图片中确定查询图片对应的目标图片。
在一些实施例中,可以根据第一哈希码和每个第二哈希码的汉明相似度,在至少一个候选图片中确定查询图片对应的目标图片。例如,可以将至少一个第二哈希码与查询图片的汉明相似度得分由高至低进行排序,得到排序后的至少一个候选图片,并将排序后的至少一个候选图片中的前若干个图片作为目标图片推荐给用户。
因此,本申请实施例通过利用预训练的视觉语言模型挖掘图片中可能存在的语义概念信息,以及依据图片的语义概念信息来定义图片之间的语义相似性,并以该语义相似性为指导信息来指导哈希模型的训练,使得哈希模型能够将图片映射为保留语义相似性的哈希码,根据该哈希码能够实现更加准确的图片检索,进而提高用户的产品体验。
在一些实施例中,可以采用平均检索精度(Mean Average Precision,MAP)来验证本申请实施例提供的基于无监督哈希技术的检索性能。示例性的,对于给定的c个查询样本并返回前K个样本数,MAP指标MAP@K可以定义为如下公式(6):
其中,gj为的检索结果中检索正确的样本数;P(i)定义为前i个检索结果的预测精度;σ(i)为指示函数,如果第i个检索样本预测正确则σ(i)等于1,否则为0。MAP@K数值越大,反映检索性能越好。
表1示出了根据现有方法训练得到的哈希模型与根据本申请实施例提供的模型训练方法得到的哈希模型的检索性能的一个示例。其中,哈希模型可为MLS3RDUH,根据本申请实施例提供的模型训练的方法得到的哈希模型的哈希损失包含对比损失正则项。
表1
由表1可以发现,本申请实施例所提方法得到的MLS3RDUH相比现有方法得到的MLS3RDUH在检索任务上能得到1.6%的提升,进而验证了本申请方案的有效性。
在一些实施例中,本申请实施例提供的无监督哈希技术还可以应用于无监督跨模态哈希方法中。例如,可以获取第一图片,并将该第一图片输入第一哈希模型,得到第一图片的哈希码;其中该第一哈希模型根据本申请实施例提供的模型训练方法得到;以及获取第一信息,该第一信息包括文本,将该第一信息输入第二哈希模型,得到第一信息的哈希码。然后,根据第一图片的哈希码和第一信息的哈希码,确定第一图片与第一信息是否匹配。其中,第一图片和第一信息为两种不同模态。因此,本申请实施例还可以有助于提升无监督跨模态哈希方法的检索精度。
以上结合附图详细描述了本申请的具体实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。应理解这些序号在适当情况下可以互换,以便描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。
上文详细描述了本申请的方法实施例,下文结合图8至图10,详细描述本申请的装置实施例。
图8是本申请实施例的模型训练装置10的示意性框图。如图8所示,所述模型训练装置10可包括获取单元11、视觉语言模型12、确定单元13、哈希模型14和参数更新单元15。
获取单元11,用于获取训练样本集,所述训练样本集包括n个图片样本;n为大于1的正整数;
视觉语言模型12,用于获取每个所述图片样本的语义概念信息;其中,所述视觉语言模型根据文本-图像对预训练得到;所述语义概念信息包括图片样本在多个语义概念的语义分布,所述语义概念包括具有同种特性的实体构成的集合;
确定单元13,用于根据每个所述图片样本的语义概念信息,获取所述n个图片样本间的语义相似性;
哈希模型14,用于输入所述n个图片样本,得到所述n个图片样本的哈希码;
所述确定单元13还用于根据所述n个图片样本间的语义相似性和所述n个图片样本的哈希码,确定哈希损失;
参数更新单元15,用于根据所述哈希损失,对所述哈希模型的参数进行更新,得到训练后的所述哈希模型。
在一些实施例中,确定单元13具体用于:
根据所述n个图片样本的哈希码,确定所述n个图片样本间的汉明相似性;
根据所述n个图片样本间的语义相似性和所述n个图片样本间的汉明相似性,确定所述哈希损失。
在一些实施例中,确定单元13具体用于:
确定所述n个图片样本中第i个图片样本的正样本集合,其中,所述正样本集合中每个图片样本与所述第i个图片样本之间的语义相似性大于第一阈值;i为小于或等于n的正整数;
确定所述第i个图片样本的负样本集合,其中,所述负样本集合中每个图片样本与所述第i个图片样本之间的语义相似性小于或等于所述第一阈值;
根据所述第i个图片样本与所述正样本集合中的图片样本之间的汉明相似性,以及所述第i个图片样本与所述负样本集合中的图片样本之间的汉明相似性,确定第一损失,其中,所述哈希损失包括所述第一损失。
在一些实施例中,确定单元13具体用于:
根据所述n个图片样本间的语义相似性和所述n个图片样本间的汉明相似性之间的差值,确定第二损失,其中,所述哈希损失包括所述第二损失。
在一些实施例中,视觉语言模型12具体用于:
获取概念集合,所述概念集合包括m个语义概念;m为大于1的正整数;
利用所述视觉语言模型,获取每个所述图片样本在所述m个语义概念的语义分布;
将每个所述图片样本在所述m个概念的语义分布确定为每个所述图片样本的所述语义概念信息。
在一些实施例中,视觉语言模型12具体用于:
将所述m个语义概念分别映射为m个语句;
利用所述视觉语言模型确定每个所述图片样本与所述m个语句之间的相似度得分;
根据每个所述图片样本与所述m个语句之间的相似度得分,获取每个所述图片样本在所述m个语义概念的语义分布。
在一些实施例中,所述视觉语言模型12包括基于对比文本-图像对预训练CLIP模型。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的装置10可以执行上述方法实施例,并且装置10中的各个模块的前述和其它操作和/或功能分别为了实现上述方法200中的相应流程,为了简洁,在此不再赘述。
图9是本申请实施例的检索装置20的示意性框图。如图9所示,所述检索装置20可包括获取单元21、哈希模型22和确定单元23。
获取单元21,用于获取查询图片;
哈希模型22,用于输入将所述查询图片,得到所述查询图片的第一哈希码;其中,所述哈希模型根据本申请实施例提供的模型训练的方法200训练得到;
所述获取单元21还用于获取至少一个候选图片;
所述哈希模型22还用于输入所述至少一个候选图片,得到所述至少一个候选图片对应的至少一个第二哈希码;
确定单元23,用于根据所述第一哈希码和所述至少一个第二哈希码,在所述至少一个候选图片中确定所述查询图片对应的目标图片。
在一些实施例中,确定单元23具体用于根据所述第一哈希码和所述第二哈希码之间的汉明相似度,在所述至少一个候选图片中确定查询图片对应的目标图片。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图9所示的装置20可以执行上述方法实施例,并且装置20中的各个模块的前述和其它操作和/或功能分别为了实现上述方法700中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图10是本申请实施例提供的电子设备的示意性框图。
如图10所示,该电子设备30可包括:
存储器33和处理器32,该存储器33用于存储计算机程序34,并将该程序代码34传输给该处理器32。换言之,该处理器32可以从存储器33中调用并运行计算机程序34,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序34中的指令执行上述方法200或700中的步骤。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器33包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序34可以被分割成一个或多个单元,该一个或者多个单元被存储在该存储器33中,并由该处理器32执行,以完成本申请提供的方法。该一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序34在该电子设备30中的执行过程。
可选的,如图10所示,该电子设备30还可包括:
收发器33,该收发器33可连接至该处理器32或存储器33。
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的具体实施方式中,当本申请以上实施例运用到具体产品或技术中并涉及到用户信息等相关的数据时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (13)
1.一种哈希模型训练方法,其特征在于,包括:
获取训练样本集,所述训练样本集包括n个图片样本;n为大于1的正整数;
利用视觉语言模型,获取每个所述图片样本的语义概念信息;其中,所述视觉语言模型根据文本-图像对预训练得到;所述语义概念信息包括图片样本在多个语义概念的语义分布,所述语义概念包括具有同种特性的实体构成的集合;
根据每个所述图片样本的语义概念信息,获取所述n个图片样本间的语义相似性;
将所述n个图片样本输入哈希模型,得到所述n个图片样本的哈希码;
根据所述n个图片样本间的语义相似性和所述n个图片样本的哈希码,确定哈希损失;
根据所述哈希损失,对所述哈希模型的参数进行更新,得到训练后的所述哈希模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述n个图片样本间的语义相似性和所述n个图片样本的哈希码,确定哈希损失,包括:
根据所述n个图片样本的哈希码,确定所述n个图片样本间的汉明相似性;
根据所述n个图片样本间的语义相似性和所述n个图片样本间的汉明相似性,确定所述哈希损失。
3.根据权利要求2所述的方法,其特征在于,所述根据所述n个图片样本间的语义相似性和所述n个图片样本间的汉明相似性,确定所述哈希损失,包括:
确定所述n个图片样本中第i个图片样本的正样本集合,其中,所述正样本集合中每个图片样本与所述第i个图片样本之间的语义相似性大于第一阈值;i为小于或等于n的正整数;
确定所述第i个图片样本的负样本集合,其中,所述负样本集合中每个图片样本与所述第i个图片样本之间的语义相似性小于或等于所述第一阈值;
根据所述第i个图片样本与所述正样本集合中的图片样本之间的汉明相似性,以及所述第i个图片样本与所述负样本集合中的图片样本之间的汉明相似性,确定第一损失,其中,所述哈希损失包括所述第一损失。
4.根据权利要求2所述的方法,其特征在于,所述根据所述n个图片样本间的语义相似性和所述n个图片样本间的汉明相似性,确定所述哈希损失,包括:
根据所述n个图片样本间的语义相似性和所述n个图片样本间的汉明相似性之间的差值,确定第二损失,其中,所述哈希损失包括所述第二损失。
5.根据权利要求1所述的方法,其特征在于,所述利用视觉语言模型,获取每个所述图片样本的语义概念信息,包括:
获取概念集合,所述概念集合包括m个语义概念;m为大于1的正整数;
利用所述视觉语言模型,获取每个所述图片样本在所述m个语义概念的语义分布;
将每个所述图片样本在所述m个概念的语义分布确定为每个所述图片样本的所述语义概念信息。
6.根据权利要求5所述的方法,其特征在于,所述利用所述视觉语言模型,获取每个所述图片样本在所述m个语义概念的语义分布,包括:
将所述m个语义概念分别映射为m个语句;
利用所述视觉语言模型确定每个所述图片样本与所述m个语句之间的相似度得分;
根据每个所述图片样本与所述m个语句之间的相似度得分,获取每个所述图片样本在所述m个语义概念的语义分布。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述视觉语言模型包括基于对比文本-图像对预训练CLIP模型。
8.一种检索方法,其特征在于,包括:
获取查询图片;
将所述查询图片输入哈希模型,得到所述查询图片的第一哈希码;其中,所述哈希模型根据如权利要求1-7任一项所述的方法训练得到;
获取至少一个候选图片;
将所述至少一个候选图片输入所述哈希模型,得到所述至少一个候选图片对应的至少一个第二哈希码;
根据所述第一哈希码和所述至少一个第二哈希码,在所述至少一个候选图片中确定所述查询图片对应的目标图片。
9.一种哈希模型训练装置,其特征在于,包括:
获取单元,用于获取训练样本集,所述训练样本集包括n个图片样本;n为大于1的正整数;
视觉语言模型,用于获取每个所述图片样本的语义概念信息;其中,所述视觉语言模型根据文本-图像对预训练得到;所述语义概念信息包括图片样本在多个语义概念的语义分布,所述语义概念包括具有同种特性的实体构成的集合;
确定单元,用于根据每个所述图片样本的语义概念信息,获取所述n个图片样本间的语义相似性;
哈希模型,用于输入所述n个图片样本,得到所述n个图片样本的哈希码;
所述确定单元还用于根据所述n个图片样本间的语义相似性和所述n个图片样本的哈希码,确定哈希损失;
参数更新单元,用于根据所述哈希损失,对所述哈希模型的参数进行更新,得到训练后的所述哈希模型。
10.一种检索装置,其特征在于,包括:
获取单元,用于获取查询图片;
哈希模型,用于输入将所述查询图片,得到所述查询图片的第一哈希码;其中,所述哈希模型根据如权利要求1-7任一项所述的方法训练得到;
所述获取单元还用于获取至少一个候选图片;
所述哈希模型还用于输入所述至少一个候选图片,得到所述至少一个候选图片对应的至少一个第二哈希码;
确定单元,用于根据所述第一哈希码和所述至少一个第二哈希码,在所述至少一个候选图片中确定所述查询图片对应的目标图片。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令时,使得所述处理器执行权利要求1-8任一项所述的方法。
12.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于执行权利要求1-8中任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序代码,当所述计算机程序代码被电子设备运行时,使得所述电子设备执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211329555.1A CN117036743A (zh) | 2022-10-27 | 2022-10-27 | 哈希模型训练方法、检索方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211329555.1A CN117036743A (zh) | 2022-10-27 | 2022-10-27 | 哈希模型训练方法、检索方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117036743A true CN117036743A (zh) | 2023-11-10 |
Family
ID=88600992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211329555.1A Pending CN117036743A (zh) | 2022-10-27 | 2022-10-27 | 哈希模型训练方法、检索方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117036743A (zh) |
-
2022
- 2022-10-27 CN CN202211329555.1A patent/CN117036743A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353076B (zh) | 训练跨模态检索模型的方法、跨模态检索的方法和相关装置 | |
CN110866140B (zh) | 图像特征提取模型训练方法、图像搜索方法及计算机设备 | |
CN112084331B (zh) | 文本处理、模型训练方法、装置、计算机设备和存储介质 | |
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN112131350B (zh) | 文本标签确定方法、装置、终端及可读存储介质 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN113836992B (zh) | 识别标签的方法、训练标签识别模型的方法、装置及设备 | |
CN113298197B (zh) | 数据聚类方法、装置、设备及可读存储介质 | |
CN113177141B (zh) | 基于语义嵌入软相似性的多标签视频哈希检索方法及设备 | |
CN115982403B (zh) | 一种多模态哈希检索方法及装置 | |
CN112115716A (zh) | 一种基于多维词向量下文本匹配的服务发现方法、系统及设备 | |
CN114358188A (zh) | 特征提取模型处理、样本检索方法、装置和计算机设备 | |
CN114298122B (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
CN115438674B (zh) | 实体数据处理、实体链接方法、装置和计算机设备 | |
CN114896434B (zh) | 一种基于中心相似度学习的哈希码生成方法及装置 | |
CN114372532B (zh) | 标签标注质量的确定方法、装置、设备、介质及产品 | |
CN111145914A (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
WO2023134085A1 (zh) | 问题答案的预测方法、预测装置、电子设备、存储介质 | |
CN113761291A (zh) | 标签分类的处理方法和装置 | |
CN114239730B (zh) | 一种基于近邻排序关系的跨模态检索方法 | |
CN115129908A (zh) | 一种模型优化方法、装置、设备、存储介质及程序产品 | |
CN113569118B (zh) | 自媒体推送方法、装置、计算机设备及存储介质 | |
CN114281934A (zh) | 文本识别方法、装置、设备及存储介质 | |
Perdana et al. | Instance-based deep transfer learning on cross-domain image captioning | |
Wang et al. | Cross‐modal semantic correlation learning by Bi‐CNN network |
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 |