向量检索方法、装置和设备制造方法及图纸

技术编号:22055449 阅读:21 留言:0更新日期:2019-09-07 15:19
本说明书实施例提供一种向量检索方法、装置和设备。该方法包括:提取检索对象的特征向量;从图形处理器GPU中获取与特征向量相似的向量,作为第一部分相似向量;从中央处理器CPU中获取与特征向量相似的向量,作为第二部分相似向量;根据第一部分相似向量和第二部分相似向量,确定检索对象的检索结果。

Vector retrieval methods, devices and devices

【技术实现步骤摘要】
向量检索方法、装置和设备
本说明书一个或多个实施例涉及计算机
,尤其涉及一种向量检索方法、装置和设备。
技术介绍
随着互联网技术的发展,人们在检索感兴趣的内容时,检索对象变得越来越复杂。例如,由搜索文本关键词,逐渐发展为搜索图片、搜索音频数据和视频数据等。随着搜索和查询对象变得更加复杂,搜索的难度指数级增加。通常复杂的检索对象会使用高维向量来表示,因此检索过程中通常需要对比诸多高维向量之间的距离或相似度。当需要检索的数据量很大时,涉及的计算量巨大和耗费较长检索时间太长,因此需要提供一种提高检索性能的向量检索方案。
技术实现思路
本说明书实施例提供一种向量检索方法、装置和设备,可以利用CPU和GPU对数据对象进行检索,提高检索效率。第一方面,本说明书实施例提供一种向量检索方法,包括:提取检索对象的特征向量;从图形处理器GPU中获取与特征向量相似的向量,作为第一部分相似向量;从中央处理器CPU中获取与特征向量相似的向量,作为第二部分相似向量;根据第一部分相似向量和第二部分相似向量,确定检索对象的检索结果。第二方面,本说明书实施例提供一种向量检索装置,包括:向量提取模块,用于提取检索对象的特征向量;第一检索模块,用于从图形处理器GPU中获取与所述特征向量相似的向量,作为第一部分相似向量;第二检索模块,用于从中央处理器CPU中获取与所述特征向量相似的向量,作为第二部分相似向量;结果确定模块,用于根据所述第一部分相似向量和所述第二部分相似向量,确定所述检索对象的检索结果。第三方面,本说明书实施例提供一种向量检索设备,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述第一方面的向量检索方法。根据本说明书实施例中的向量检索方法、装置和设备,预先对向量集合进行切分,利用CPU和GPU分别对切分得到的数据进行针对检索对象的特征向量的相似度检索,在利用GPU提高运算速度的同时,有效利用CPU的资源。附图说明为了更清楚地说明本说明书实施例的技术方案,下面将对本说明书实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本说明书一个实施例的检索系统的架构示意图;图2示出本说明书一个实施例的向量检索方法的流程示意图;图3示出本说明书一个实施例的向量检索方法的流程示意图;图4示出本说明书另一个实施例的向量检索方法的流程示意图;图5示出本说明书一个实施例的向量检索装置的结构示意图;图6示出能够实现本说明书实施例的计算设备的示例性硬件架构的结构图。具体实施方式下面将详细描述本说明书的各个方面的特征和示例性实施例,为了使本说明书的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本说明书进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本说明书,并不被配置为限定本说明书。对于本领域技术人员来说,本说明书可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本说明书的示例来提供对本说明书更好的理解。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。在大规模向量检索中,可以通过提取检索对象的特征向量,并计算特征向量之间特征相似性的方法,将与检索对象的特征向量的特征相似性最高的一个或多个特征向量对应的数据对象,作为检索对象的检索结果。也就是说,通过特征提取将检索对象映射为高维向量空间中的点,这样就将检索对象的相似性搜索问题转化为高维空间中的最近邻查找问题。与直接检索数据对象的数据文件相比,基于特征向量之间的特征相似性进行的向量检索过程,具有计算复杂度较低和运算量较小的特点,可以提高向量检索效率。在本说明书实施例中,数据对象按照不同的数据类型,例如可以包括文本数据、图像数据、音频数据、视频数据等多种不同类型的数据对象。为了简化描述起见,本说明书下述的多个实施例以图像数据为例来阐述该图像数据在向量检索中的向量化。但该描述不应被解读为限制本方案的范围或实施可能性,图像检索对象以外的其他数据类型的检索对象的处理方法与对图像检索对象的处理方法保持一致。在本说明书的一个实施例中,特征向量是根据数据对象的特征信息,将数据对象映射到高维向量空间得到的向量数据。在图像搜索中,作为示例,以搜索指定图像中人物的脸为例,检索人脸图像的步骤可以包括:首先,需要提取该人脸图像中人物的脸部特征,如脸部长宽的比例、脸部肤色、头发颜色、局部细节的宽度(如人脸五官中鼻子,嘴等)、双眼之间的距离;其次,将提取的脸部特征映射到高维向量空间,得到一个指定维度的向量数据,一张脸部图片的向量数据可以用于表征该人脸图像中的特征,并可以称为该人脸图像的特征向量;接着,将提取的人脸图像的特征向量与图像库中特征向量进行对比,根据特征向量之间的距离或相似度,确定该人脸图像的检索结果。在本说明书一个或多个实施例中,可以利用中央处理器(CentralProcessingUnit,CPU)或图形处理器(GraphicsProcessingUnit,GPU)为向量检索过程提供计算资源。其中,CPU作为一种超大规模集成电路,可以用于解释计算机指令以及处理计算机软件中的数据;GPU作为显卡的处理器,可以用于执行复杂的数据运算和几何运算。本说明书一个或多个实施例提供了一种向量检索方法和向量检索方法,可以在利用特征向量进行向量检索的过程中,CPU和GPU协同应用于数据对象的存储、分类与检索过程中,充分利用CPU资源和GPU资源,提升检索性能和检索效率。图1示出了本说明书一个实施例的检索系统的架构示意图。如图1所示,本说明书示例性实施例的检索系统100可以包括:数据存储器101、CPU102、GPU103和代理服务器104。在一个实施例中,数据存储器101中存储的数据可以包括向量数据集合,并可以适用于大规模例如百亿GB以上规模的样本存储及计算需求,可以经济并高效的分析处理大规模样本数据。作为一个示例,数据存储器101可以提供多种数据处理服务,可以支持结构化查询语言(StructuredQueryLanguage,SQL)的向量检索,并可以支持对数据存储器101中的向量数据集合中的向量数据进行读取操作或写入操作。作为一个示例,数据存储器101中存储的向量数据集合可以包括图像数据的特征向量、语音数据的特征向量、视频数据的特征向量和自然语言处理(NaturalLanguageProcess,NLP)数据的特征向量中的至少一种。在一个实施例中,代理服务器104用于接收检索请求,根据检索请求中的检索对象调用CPU和GPU对检索对象进行检索。继续参考图1,在本说本文档来自技高网...

【技术保护点】
1.一种向量检索方法,包括:提取检索对象的特征向量;从图形处理器GPU中获取与所述特征向量相似的向量,作为第一部分相似向量;从中央处理器CPU中获取与所述特征向量相似的向量,作为第二部分相似向量;根据所述第一部分相似向量和所述第二部分相似向量,确定所述检索对象的检索结果。

【技术特征摘要】
1.一种向量检索方法,包括:提取检索对象的特征向量;从图形处理器GPU中获取与所述特征向量相似的向量,作为第一部分相似向量;从中央处理器CPU中获取与所述特征向量相似的向量,作为第二部分相似向量;根据所述第一部分相似向量和所述第二部分相似向量,确定所述检索对象的检索结果。2.根据权利要求1所述的向量检索方法,其中,所述从图形处理器GPU中获取与所述特征向量相似的向量,作为第一部分相似向量,包括:从所述GPU中选择一个或多个第一中心向量,所述一个或多个第一中心向量中的每个第一中心向量与所述特征向量满足第一预设相似度条件;在所述每个第一中心向量所在的向量分组中,选择所述第一部分相似向量,所述第一部分相似向量与所述特征向量满足第二预设相似度条件。3.根据权利要求2所述的向量检索方法,其中,所述一个或多个第一中心向量,是通过检索预先建立的第一倒排索引数据得到的向量,所述第一倒排索引数据包括每个第一中心向量的索引地址;所述第一部分相似向量,是通过检索预先建立的第一索引数据得到的向量,所述第一索引数据包括所述每个第一中心向量所在的向量分组中向量的索引地址,其中,所述每个向量分组中向量之间的索引地址不同。4.根据权利要求1所述的向量检索方法,其中,所述从中央处理器CPU中获取与所述特征向量相似的向量,作为第二部分相似向量,包括:从所述CPU中选择一个或多个第二中心向量,所述一个或多个第二中心向量中的每个第二中心向量满足第三预设相似度条件;在所述每个第二中心向量所在的向量分组中,选择所述第二部分相似向量,所述第二部分相似向量与所述特征向量满足第四预设相似度条件。5.根据权利要求4所述的向量检索方法,其中,所述一个或多个第二中心向量,是通过检索预先建立的第二倒排索引数据得到的向量,所述第二倒排索引数据包括每个第二中心向量的索引地址;所述第二部分相似向量,是通过检索预先建立的第二索引数据得到的向量,所述第二索引数据包括所述每个第二中心向量所在的向量分组中向量的索引地址,其中,所述每个向量分组中向量之间的索引地址不同。6.根据权利要求1所述的向量检索方法,其中,所述检索对象的检索结果,包括按照相似度由高到低,从所述第一部分相似向量和所述第二部分相似向量选择的指定个数的向量。7.根据权利要求1所述的向量检索方法,其中,所述第一部分相似向量,是从所述GPU预先加载的第一向量子集中获取的与所述特征向量相似的向量;所述第二部分相似向量,是从所述CPU预先加载的第二向量子集中获取的与所述特征向量相似的向量;所述第一向量子集和所述第二向量子集,是对指定的特征向量集合进行切分得到的。8.根据权利要求7所述的向量检索方法,其中,所述切分是基于所述CPU对应的内存大小和所述GPU对应的显存大小进行的切分。9.一种向量检索装置,其特征在于,所述向量检索装置包括:向量提取模块,用于提取检索对象的特征向量;...

【专利技术属性】
技术研发人员:李涛魏宏方概杨文
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1