CN111033495A - 用于快速相似性搜索的多尺度量化 - Google Patents
用于快速相似性搜索的多尺度量化 Download PDFInfo
- Publication number
- CN111033495A CN111033495A CN201880054859.7A CN201880054859A CN111033495A CN 111033495 A CN111033495 A CN 111033495A CN 201880054859 A CN201880054859 A CN 201880054859A CN 111033495 A CN111033495 A CN 111033495A
- Authority
- CN
- China
- Prior art keywords
- quantization
- data set
- residual
- computing system
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 221
- 239000013598 vector Substances 0.000 claims abstract description 105
- 238000000034 method Methods 0.000 claims abstract description 75
- 239000011159 matrix material Substances 0.000 claims abstract description 30
- 238000012549 training Methods 0.000 claims description 48
- 238000005192 partition Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 8
- 238000010801 machine learning Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims 1
- 239000000047 product Substances 0.000 description 71
- 238000004364 calculation method Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 230000009467 reduction Effects 0.000 description 9
- 238000005457 optimization Methods 0.000 description 7
- 238000011002 quantification Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 239000000654 additive Substances 0.000 description 4
- 230000000996 additive effect Effects 0.000 description 4
- 238000002679 ablation Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000022852 Letis Species 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 201000011243 gastrointestinal stromal tumor Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开提供了包括或以其他方式利用被配置为提供量化数据集的多尺度量化模型的使用的系统和方法。具体地,多尺度量化模型可以接收第一数据集并执行对第一数据集的矢量量化。多尺度量化模型可以至少部分地基于矢量量化的结果来生成残差数据集。多尺度量化模型可以将旋转矩阵应用于残差数据集以生成包括多个旋转的残差的旋转的残差数据集。多尺度量化模型可以执行将旋转的残差数据集中的每个旋转的残差重新参数化为方向分量和尺度分量。多尺度量化模型可以执行对多个旋转的残差的方向分量的乘积量化,并且可以对执行多个旋转的残差的尺度分量的标量量化。
Description
相关申请的交叉引用
本申请要求2017年8月23日提交的标题为“Multiscale Quantization for FastSimilarity Search(用于快速相似性搜索的多尺度量化)”的美国临时专利申请第62/549,094号的优先权的权益。以上引用的专利申请通过引用并入本文。
技术领域
本公开总体上涉及机器学习。更具体地,本公开涉及使用多尺度量化模型对数据集执行多尺度量化,以及利用机器学习训练多尺度量化模型。
背景技术
大尺度相似性搜索对于图像、音频、视频和文本信息的信息检索和推荐系统至关重要。对于高维数据,已经提出了若干基于哈希的方法,包括随机和基于学习的技术。另一组基于量化的技术由于其在现实世界数据上的强大性能,最近变得很流行。具体地,乘积量化(product quantization,PQ)及其变体通常在诸如GIST-1M、SIFT-1B和Deep-10M的公共基准上屡次占先。
乘积量化在很大程度上很好地起作用,这是因为它允许进行不对称距离计算,其中仅数据集矢量被量化而查询保持未被量化。这比基于汉明距离(其通常需要对查询进行哈希处理)的技术更为精确,同时仍然使用查找表操作高效地进行计算。
发明内容
本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中学习,或者可以通过对实施例的实践来学习。
本公开的一个示例方面针对一种用于执行多尺度量化的计算机实现的方法。多尺度量化可以是第一数据集的量化,并且可以用于生成第一数据集的编码。该方法包括执行第一数据集的矢量量化。该方法包括至少部分地基于矢量量化的结果来生成残差数据集。该方法包括将旋转矩阵应用于残差数据集以生成包括多个旋转的残差的旋转的残差数据集。该方法包括执行将旋转的残差数据集中的每个旋转的残差重新参数化为方向分量和尺度分量。该方法包括执行对多个旋转的残差的方向分量的乘积量化,以及执行对多个旋转的残差的尺度分量的标量量化。第一数据集的编码可以包括表示第一数据集的可搜索数据。
该方法可以包括:由计算系统执行对于查询的相对于经量化的旋转的残差中的至少一些的近似最近邻搜索。可以接收表示查询的数据。例如,用户可以输入数据项作为查询。数据项可以是与第一数据集的数据项相对应的类型,使得用户输入数据可以用于执行对与输入数据项相对应的第一数据集的一个或多个数据项(例如与查询数据项最相似的一个或多个数据项)的搜索。由计算系统执行近似最近邻搜索可以包括由计算系统执行不对称搜索,并且其中由计算系统执行不对称搜索包括由计算系统对每个标量量化器执行一次乘积量化器码本的标量乘法。因此,多尺度量化可以生成第一数据集的编码,该编码可以比未编码的第一数据集更容易被搜索。
第一数据集可以包括多个第一数据项。每个第一数据项可以与从由以下组成的组选择的数据相关联:图像、文本部分、web文档、音频和视频。例如,每个数据项可以具有从由以下组成的组选择的相关联类型:图像、文本部分、web文档、音频和视频。通常,第一数据集中的每个数据项具有相同的类型,因此第一数据集可以表示期望对其执行搜索的特定类型的多个数据项。
由计算系统执行对每个旋转的残差的重新参数化包括由计算系统对每个旋转的残差进行单位归一化以形成用于这个旋转的残差的方向分量。由计算系统对每个旋转的残差进行单位归一化以形成用于这个旋转的残差的方向分量可以包括由计算系统将每个旋转的残差除以其范数,并且其中每个旋转的残差的尺度分量包括其范数。
乘积量化可以通过将归一化的残差划分为一个或多个子矢量而获得的码字的级联来给出,所述一个或多个子矢量由多个矢量量化器独立地量化。经量化的旋转的残差可以被组织成块,使得在块内所有旋转的残差具有相同的量化范数。
残差数据集的直径可以小于第一数据集的直径。
第一数据集的矢量量化可以至少部分地基于矢量量化码本。方向分量的乘积量化可以至少部分地基于乘积量化码本。标量量化可以至少部分地基于标量量化码本。
本公开的另一个示例方面针对一种用于执行机器学习的计算机实现的方法。该方法包括获得量化模型,该量化模型包括矢量量化器、旋转矩阵、采用一个或多个乘积量化码本的乘积量化器以及采用标量量化器码本的标量量化器。该方法包括确定针对一个或多个示例的目标函数的梯度。该方法包括至少部分地基于目标函数的梯度来联合地训练矢量量化器、旋转矩阵、乘积量化器和标量量化器。
可以在矢量量化的单位归一化的残差上学习乘积量化码本。该方法可以进一步包括使用来自数据集的随机样本来初始化矢量量化码本;以及使用矢量量化并旋转的一组独立样本的残差来初始化一个或多个乘积量化码本。
联合地训练乘积量化器和标量量化器可以包括联合地优化针对单个矢量量化分区内的所有数据点的残差范数的标量量化和乘积量化码的分配。联合地优化针对单个矢量量化分区内的所有数据点的残差范数的标量量化和乘积量化码的分配可以包括迭代地和以交替的方式:确认(fix)所有分配的乘积量化码以及仅在单个矢量量化分区内对残差范数进行标量量化;以及确认单个矢量量化分区内的量化的残差范数,并重新分配乘积量化码。由计算系统至少部分地基于目标函数的梯度联合地训练矢量量化器、旋转矩阵、乘积量化器和标量量化器包括:执行多个第一训练迭代以训练矢量量化器;以及在执行多个第一训练迭代后,执行多个第二训练迭代,以联合地训练矢量量化器、旋转矩阵、乘积量化器和标量量化器。
本公开的另一个示例方面针对一种计算机系统。该计算机系统包括一个或多个处理器以及当由所述一个或多个处理器运行时使计算机系统执行操作的一个或多个非暂时性计算机可读介质。所述操作包括获得包括多个数据点的数据集。操作包括执行将数据集中的每个数据点重新参数化为方向分量和尺度分量。所述操作包括执行对数据点的方向分量的乘积量化,以及执行对数据点的尺度分量的标量量化。
获得包括多个数据点的数据集可以包括:获得原始数据集;执行原始数据集的矢量量化;至少部分地基于原始数据集的矢量量化的结果来生成残差数据集;由计算系统将旋转矩阵应用于残差数据集,以生成包括多个旋转的残差的旋转的残差数据集;以及执行对数据集中的每个数据点的重新参数化包括执行对包括在旋转的残差数据集中的每个旋转的残差的重新参数化。
该操作可以进一步包括执行对于查询的相对于经量化的数据点中的至少一些的近似最近邻搜索。
本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。将领会的是,可以组合各方面,使得可以在一方面的上下文中实现在另一个方面的上下文中描述的特征。在每个方面中,该数据可以与诸如图像、文本部分、web文档、音频和视频的现实世界数据相关联。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。结合在本说明书中并构成本说明书的一部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中参考了附图,在附图中:
图1描绘了根据本公开的示例实施例的示例计算系统的框图。
图2描绘了根据本公开的示例实施例的示例工作流程。
图3描绘了根据本公开的示例实施例的示例多尺度量化模型。
图4A描绘了根据本公开的示例实施例的合成(synthetic)数据集X∈d×N上的PQ量化误差如何随着数据点范数的标准偏差σ(||x||2)的增加而增长,其中数据集的平均值为零μ(X)=0d×1,并且平均平方范数是固定的μ(||xi||2)=1。
图4B描绘了根据本公开的示例实施例的当对残差矢量进行缩放以使平均平方范数固定为μ(||xi||2)=1时在SIFT-1M的实际(realistic)数据集上的矢量(粗略)量化残差范数的标准偏差。
图5A描绘了根据本公开的示例实施例的以不同比特率在SIFT-1M和DEEP-10M数据集上的多尺度量化模型中,来自每个分量对MSE减少的贡献的分解,其中基线是没有旋转或残差范数量化的原始IVFADC设置。
图5B描绘了根据本公开的示例实施例的通过关于在128比特下、大小为|X|=27,28,29,…216的数据库的线性搜索的不同距离计算方法在每个查询上花费的时间,其中较低的曲线指示更快的搜索时间。
图6描绘了根据本公开的示例实施例的当利用变化数量的码本和中心在SIFT1M数据集上检索排名第一邻居(召回率1@N)时的召回率曲线,其中,m=1024个VQ分区中的t=8。
图7描绘了根据本公开的示例实施例的当利用变化数量的码本和中心在DEEP10M数据集上检索排名第一邻居(召回率1@N)时的召回率曲线,其中,m=1024个VQ分区中的t=8。
图8描绘了根据本公开的一些实施方式的用于多尺度量化的示例方法的流程图。
图9描绘了根据本公开的一些实施方式的用于使用多尺度量化模型来执行快速相似性搜索的示例方法的流程图;以及
图10描绘了根据本公开的一些实施方式的用于训练多尺度量化模型的示例方法的流程图。
在多个附图上重复的参考标记旨在识别各种实施方式中的相同组件或特征。
具体实施方式
1.简介
通常,本公开针对用于对数据集(例如,大的高维数据集)执行多尺度量化的系统和方法。量化方法(例如乘积量化)可用于在大的、高维数据集上进行快速相似性搜索,但当数据集中的数据点的范数存在方差(variance)时,其执行地较差。这对现实世界数据集是常见场景,尤其是在对从粗略矢量量化获得的残差执行乘积量化时。本公开实现了可以学习残差范数的单独的标量量化器的多尺度量化模型。可以在随机梯度下降框架中联合学习多尺度量化模型的参数。以此方式,可以使总的量化误差最小化,并且可以实现召回率(recall)的实质性改善。因此,多尺度量化可以生成可以相对于原始数据集以改善的方式搜索的数据集的编码。因此,在一些实施方式中,本公开提供完整的端到端(end-to-end)训练算法来学习粗略量化器、旋转矩阵和乘积量化码本连同标量量化器以捕获粗略量化残差范数。以这种方式,(a)可以识别并处理数据点范数中的方差,(b)可以包括粗略量化器作为优化的一部分,并且(c)随机梯度下降可以用于执行端到端训练,与使用交替优化的先前方法相比,这致使显著改善量化误差。
更具体地,如上所述,在乘积量化中,原始矢量空间被分解为低维子空间的笛卡尔积,并且在每个子空间中独立地执行矢量量化。根据经验,当每个子空间中的方差被平衡时,乘积量化效果最佳。为了确保这一点,通常在执行量化之前将旋转矩阵应用于数据。这种旋转可以是随机的或者学习的。
然而,当所编码的数据点的范数中存在方差时——即使方差相对适中——乘积量化码本的质量也会退化。例如,可以生成一个或多个合成数据集,使得:(1)数据集平均值为零;(2)随机一致地选择数据点方向;以及(3)数据点的平均平方范数是固定的。图4A显示了乘积量化的量化误差(MSE)针对合成数据集中数据点范数的标准偏差的图。如图4A中所示,量化误差随着数据点范数的方差而增加。如图4B中所示,在实际设置中,对数据的粗略矢量量化的残差也具有高度变化的范数。
根据本公开的一个方面,为了补偿范数中存在方差的情况,可以通过单独地对数据点范数进行标量量化,然后在应用乘积量化之前对数据点进行单位归一化,来修改乘积量化的公式。当计算不对称距离时,这仅需要每个标量量化器进行一次PQ码本的标量乘法,这实际上具有可忽略不计的计算成本。
为了将基于量化的搜索技术缩放到大规模数据集,一种流行的策略是首先对原始空间中的输入矢量进行矢量量化(粗略量化),并且然后对矢量量化残差应用乘积量化。然而,在这种‘VQ-PQ’样式的方法中,残差的范数表现出显著的方差。因此,即使原始数据被完全归一化时,所提出的多尺度方法也为大规模搜索提供了显著的增益。
由于引入了高效的不对称距离计算(ADC)并将其应用于近似最近邻(ANN)搜索问题,因此已经有多条工作线聚焦于改善PQ。
例如,粗略量化器(也称为倒排文件索引结构(IVF))经由聚类学习数据点的矢量量化,使用聚类索引来形成倒排索引,该倒排索引连续地存储与给定聚类索引相对应的所有数据点。数据点经由与数据点距其最接近的聚类中心的残差(偏移)相关联的PQ码进行编码。此设计通过仅搜索倒排索引中的M个聚类/分区的子集,实现了非穷举搜索。然而,先前的工作已经学习了粗略量化器作为单独的预处理步骤,而没有与PQ码本一起联合地训练粗略量化器。
作为另一示例,由于PQ独立地量化每个子空间,所以可以应用旋转矩阵来减小子空间内的统计依赖性。研究人员已经提出了多种估算这个旋转矩阵的方法(例如,ITQ样式的交替量化、优化的PQ、局部优化的PQ等)。虽然学习此正交变换通常是一个很好的策略,但它并不改变数据点的范数。因此,它仍然遭受范数方差的困扰。
作为又一个示例,研究已聚焦在学习加法码本而不是子空间码本。这包括加法量化、复合量化和堆叠量化。由于加法码本不在子空间中起作用,因此它们虽然更难以学习且编码成本较高,但不需要旋转。根据经验,此类加法码本更具表现力,并且在较低比特率下的性能优于OPQ。然而,OPQ在更高的比特率下实现类似的性能。由于加法码本不处理数据点范数的方差,因此所提出的多尺度方法也可以应用于加法码本。
作为又一个示例,已经投入了很多努力来优化ADC的实施方式,因为它在计算上很关键(例如,使用汉明距离进行快速修剪、高效的GPU实施方式用于ADC查找、使用基于SIMD的计算来计算ADC的下限等)。
作为又一个示例,在内部乘积搜索和最近邻搜索中都存在大量关于基于非量化的方法的相似性搜索文献。基于树的方法和位置敏感的哈希样式算法聚焦于通过对搜索空间进行分区的非穷举搜索。在工程实践中,这些通常致使随机存储器访问,并且经常以类似于IVFADC的方式与穷举方法组合。基于二进制嵌入的方法聚焦于学习短二进制代码,并且可以在汉明空间中高效地被搜索。然而,在相同比特率下,汉明码与乘积码中距离计算的精度之间通常存在很大的差距,并且ADC可以以相似的速度被计算。
鉴于上述缺陷,本公开提供了一种完整的端到端训练算法,以学习粗略量化器、旋转矩阵和乘积量化码本连同标量量化器以捕获粗略量化残差范数。以这种方式,(a)可以识别并处理数据点范数中的方差,(b)可以包括粗略量化器作为优化的一部分,并且(c)随机梯度下降可以用于执行端到端训练,与使用交替优化的先前方法相比,这致使显著改善量化误差。
2.示例方法
本公开的各方面聚焦于最小化量化误差其中x是数据点,并且是其量化近似值,作为用于最小化查询数据库距离近似误差 的替换(proxy)。在一些实施方式中,量化技术可以采用分级(hierarchical)方法。例如,一个或多个“粗略”量化阶段(VQ)之后可以是矢量量化残差的乘积量化(PQ)。在乘积量化之前,可以将学习到的旋转应用于残差以进一步减少量化误差。
多尺度量化模型和相关联的技术可以包括通过显式表示VQ残差的范数,仅在单位归一化的旋转的VQ残差上学习PQ码本,以及单独地对残差范数进行标量量化来扩展‘VQ-PQ’策略。以这种方式,可以处理作为执行乘积量化时量化误差的附加来源的数据点范数的方差。
作为示例,在一些实施方式中,多尺度量化模型可以包括:(1)对数据集的矢量量化;(2)对矢量量化残差的学习的旋转;(3)将旋转的残差重新参数化为方向和尺度分量;(4)对方向分量的乘积量化;(5)对尺度分量的标量量化。
其中返回x的最接近矢量量化码字; 是具有m个码字的矢量量化码本;Cj是它的第j个码字(即C的第j列);φSQ从具有p个码字的标量量化码本返回最近的标量量化器(相当于一维矢量量化);并且矩阵是学习的旋转,应用于矢量量化的残差。乘积量化器φPQ(rx)由下式给出
量化的归一化残差由的K个索引表示,k=1,…,K。该表示具有的总体比特率为Klog2l,其中l是每个子空间中乘积量化器的数量,K是子空间的数量。通过将与VQ分区关联的残差组织为块来维持残差范数,其中在块内,所有残差具有相同的量化范数。块按量化范数排序,因此仅必须维持块边界的索引。因此,总存储成本为O(mp),其中m是矢量量化器的数量,而p是标量量化器的数量。例如,如果将p设置为8,则与使用未经量化的范数相比,总存储成本O(mp)对召回率的影响可以忽略不计。
2.1多尺度量化下的示例高效搜索
本公开的多尺度量化模型可以使得能够高效地进行最近邻搜索。执行搜索可以包括:利用矢量量化码本C中的每个码字计算查询q的平方距离,并在最近的VQ分区内进一步搜索。例如,如果对应的量化器是 并且对应的量化分区是则使用查找表计算查询与中的数据库点之间的近似平方距离。可以通过取具有最低近似距离的数据库点来进行最终预测,例如
执行搜索可以包括使用查找表来计算查询的旋转的VQ残差 的子矢量与缩放后的乘积量化数据点残差之间的量化内积。通过让为的第k个子矢量,并且wx=φSQ(||rx||)为量化的残差范数,执行搜索可以包括给定每个的维度为l的K个查找表,对于所有j和k,利用PQ码本S按照预先计算内积和平方量化范数。然后,执行搜索可以包括计算:
在一些实施方式中,具有相同的量化的残差范数的所有数据点可以被存储在连续的块中。在这种情况下,执行搜索可包括通过使用硬件优化的融合乘加指令、组合权重独立的查找表和(分别由wx和wx 2加权),在新块的开头创建新的查找表。在这种情况下,对于VQ分区,仅带来p倍的计算成本,其中p是量化的残差范数值的数量。例如,如果p=8且t=8(例如,要检查的VQ分区的数量),则可以维持相对较低的性能开销。
2.2示例优化过程
训练本公开的多尺度量化模型可以包括使用随机梯度下降来联合地训练模型的参数(例如,码本、正交变换和残差范数量化器)。为了在维持正交性的同时优化矢量量化残差的正交变换,可以经由正交矩阵的Cayley表征对变换进行参数化:
R=(I-A)(I+A)-1 (3)
其中A是斜对称矩阵,即A=-AT。在一些实施方式中,等式(3)相对于A的个参数是可微的。可以通过在每次迭代执行d×d矩阵求逆来计算梯度。在一些实施方式中,当在高维数据集上训练时,可以限制A的参数数量以权衡容量和计算成本。
训练模型可以包括使用来自数据集的随机样本初始化用于矢量量化的码本,以及使用一组独立样本的残差(在矢量量化和旋转之后)初始化用于乘积量化的码本。为了使矢量量化有机会对空间进行分区,可以在初始化乘积码并进行全面联合训练之前,针对多个时期优化矢量量化误差。可以通过从采样来初始化斜对称矩阵A的参数。
训练模型可以包括为所有数据集固定所有优化参数。在一些实施方式中,可以执行更广泛的每数据集翻转(turning)以改善结果。例如,亚当优化算法可以与建议的参数一起使用,最小批量大小为2000,并且联合训练期间的学习率为1e-4。在一些实施方式中,当仅训练矢量量化器时,学习率可以设置为1e-3。
训练模型可以包括联合地优化VQ分区内所有数据点的残差范数的标量量化和PQ码的分配。以这种方式,该模型可以学习残差范数的量化器,并捕获其在VQ分区内的局部分布。保持PQ码本和旋转固定,训练可以包括以下两个步骤之间的交替,直到收敛:
1.确认所有分配的PQ码,并且仅在分区内对残差范数进行标量量化。
2.在分区内确认所有量化的残差范数,然后重新分配PQ码。
2.3示例技术效果
本文描述的系统和方法提供了多个技术效果和益处。用于实现本公开的多尺度量化模型的系统和方法可以具有使量化误差最小化并且实质上改善使用该模型的快速相似性搜索的召回率的技术效果。为了将基于量化的搜索技术缩放到大规模数据集,一种策略是首先对原始空间中的输入矢量进行矢量量化(粗略量化),然后在矢量量化残差上应用乘积量化。但是,在这种‘VQ-PQ’样式的方法中,残差的范数表现出显著的方差。因此,即使当原始数据被完全归一化时,本公开的多尺度量化模型也可以为大规模搜索提供显著的增益。例如,由于现实世界的数据通常是可聚类的,其中聚类的直径实质上低于整个数据集的直径,因此可以使用矢量量化获得具有小得多的直径的“残差数据集”,从而得到仅利用乘积码进行量化时的量化误差的显著减少。
另外,与使用交替优化的先前训练方法相比,用于使完整的端到端训练能够学习多尺度量化模型的参数的系统和方法可以具有显著减少量化误差的技术效果。例如,通过学习VQ残差的旋转,对于许多真实世界的数据集,诸如图像数据集、文本、web文档、音频或其他形式的数据或数据结构,可以显著减少每个PQ子空间内的方差,从而在执行快速相似性搜索时,产生实质上较低的量化误差和相应地较高的召回率。
本公开的系统和方法还提供了对诸如数据匹配和检索计算技术的计算技术的改善。例如,本文的系统和方法使得能够高效地进行最近邻搜索,并且在召回率方面实质上改善。
3.示例实施例
现在参考附图,将更详细地讨论本公开的示例实施例。
图1A描绘了根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信地耦接的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型计算机或台式机)、移动计算设备(例如,智能电话或平板计算机)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器114可以存储数据116和指令118,其由处理器112运行以使用户计算设备102执行操作。
用户计算设备102可以存储或包括一个或多个多尺度量化模型120。多尺度量化模型120可以是或以其他方式包括不同类型的多个量化器。例如,多尺度量化模型120可以包括矢量量化器、乘积量化器和标量量化器。矢量量化器可以量化数据集并确定矢量量化残差。残差可以被旋转并重新参数化为方向分量和尺度分量。乘积量化器可以量化方向分量,而标量量化器可以量化尺度分量。在一些实施方式中,可以经由端到端训练过程来联合地训练乘积量化器和标量量化器。
在一些实施方式中,一个或多个多尺度量化模型120可以通过网络180从服务器计算系统130接收,被存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实现。
附加地或可替代地,一个或多个多尺度量化模型140可以被包括在服务器计算系统130中或以其他方式由其存储和实现,该服务器计算系统130根据客户端-服务器关系与用户计算设备102进行通信。例如,多尺度量化模型140可以由服务器计算系统140实现为web服务(例如,相似性搜索服务)的一部分。因此,可以在用户计算设备102处存储和实现一个或多个模型120和/或可以在服务器计算系统130处存储和实现一个或多个模型140。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或手写笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘、传统鼠标、相机、麦克风或用户可通过其提供用户输入的其他组件。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器134可以存储数据136和指令138,其由处理器132运行以使服务器计算系统130执行操作。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或以其他方式由其实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习的多尺度量化模型140。多尺度量化模型140可以是或以其他方式包括不同类型的多个量化器。例如,多尺度量化模型140可以包括矢量量化器、乘积量化器和标量量化器。矢量量化器可以量化数据集并确定矢量量化残差。残差可以被旋转并重新参数化为方向分量和尺度分量。乘积量化器可以量化方向分量,而标量量化器可以量化尺度分量。在一些实施方式中,可以经由端到端训练来联合地训练乘积量化器和标量量化器。可替代地或附加地,多尺度量化模型140可以包括其他形式的机器学习模型。因此,参考图2至图5B讨论示例多尺度量化模型140和训练方案。
在一些实施方式中,服务器计算系统130可以包括搜索工具142,其可以基于量化数据集和查询来执行搜索。例如,给定查询q,搜索工具142可以基于该查询对量化数据集执行快速相似性搜索,并确定一个或多个搜索结果。
服务器计算系统130可以经由与通过网络180通信地耦接的训练计算系统150的交互来训练多尺度量化模型140。训练计算系统150可以与服务器计算系统130分离或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器154可以存储数据156和指令158,其由处理器152运行以使训练计算系统150执行操作。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或以其他方式由其实现。
训练计算系统150可以包括模型训练器160,其使用各种训练或学习技术,诸如例如随机梯度下降框架,来训练机器学习的模型120/140,以使总体量化误差最小化。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢弃等),以改善正被训练的模型的泛化能力。具体地,模型训练器160可以基于一组训练数据162来训练多尺度量化模型120/140。
模型训练器160包括用于提供期望功能的计算机逻辑。可以以控制通用处理器的硬件、固件和/或软件来实现模型训练器160。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并且由一个或多个处理器运行的程序文件。在其他实施方式中,模型训练器160包括一组或多组计算机可运行指令,其存储在有形的计算机可读存储介质,诸如RAM硬盘或光或磁介质中。
网络180可以是任何类型的通信网络,诸如局域网(例如,内部网)、广域网(例如,因特网)或其某种组合,并且可以包括任何数量的有线或无线链路。通常,可以使用各种各样通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来承载通过网络180的通信。
图1示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,可以在用户计算设备102处本地地训练和使用多尺度量化模型120。在这些实施方式中的一些中,用户计算设备102可以实现模型训练器160以基于用户特定的数据将多尺度量化模型120个性化。
图2描绘了根据本公开的示例实施例的示例工作流程。具体地,图2示出了多尺度量化模型202,其被配置为提供量化数据集206。具体地,多尺度量化模型202可以接收输入数据集204,并且作为响应,提供量化数据集206,该量化数据集206对描述输入数据集204的信息进行编码。
尽管提供了图像206作为可以使用多尺度量化模型202进行量化的示例数据类型,但是也可以对其他数据类型进行量化,包括例如文本、web文档、音频或其他形式的数据或数据结构。
图3描绘了根据本公开的示例实施例的示例多尺度量化模型300。图3描绘了一个示例模型结构。除了图3中示出的结构之外,可以附加地或者可替代地使用其他结构。多尺度量化模型300包括矢量量化器302、旋转矩阵304、重新参数化器306、乘积量化器308、标量量化器309和缩放器310。
矢量量化器302可对输入数据集204执行矢量量化以生成残差数据集。
旋转矩阵304可以是残差数据集中的矢量量化残差的学习的旋转,并且多尺度量化模型300可以将旋转矩阵304应用于残差数据集以生成包括多个旋转的残差的旋转的残差数据集。
重新参数化器306执行将旋转的残差数据集中的每个旋转的残差重新参数化为方向分量和尺度分量。
乘积量化器308执行对多个旋转的残差的方向分量的乘积量化。
标量量化器309执行对多个旋转的残差的尺度分量的标量量化。
3.1示例多尺度
相对于q取期望得到
现有的量化方法已聚焦于距离的误差中的第一项。然而,对于||x||具有大可变性的VQ残差,第二个二次项成为主导。通过标量量化残差范数,尤其是局部在每个VQ分区内,可以基本上减少第二项,从而可以改善关于真实数据集的召回率。
3.2示例旋转矩阵
在实践中已经发现学习的旋转很高效后执行量化。在某些场景下需要旋转。例如,让xi=Ryi,1≤i≤n,那么存在简单的示例,其中yi具有乘积码,该乘积码具有小码本大小且MSE为0,而要在xi上获得任何小的均方误差,则可能需要指数地使用许多码字。在现实世界数据集上,这种差异可能并不十分明显,但是仍然显著,因此取消旋转可以得到显著更好的MSE。我们提供以下引理。
引理1。令X=RY,即对于1≤i≤n,xi=Ryi。存在数据集Y和旋转矩阵R,使得大小为2的规范基乘积码对于Y足以实现MSE为0,而X上的任何乘积码都需要2c·min(d/K,K)ε个码字以实现MSEε||x||max,其中c是某个通用常数,并且||x||max是任何点的最大范数。
3.3示例粗略量化
当数据由K子空间混合模型(K-subspace mixture model)生成时,分析所提出的矢量和乘积量化,该K子空间混合模型捕获在许多现实世界数据集中观察到的两个属性:样本属于若干基础类别之一,也称为分量,并且在每个分量内,残差在K个子空间中独立地生成。
定理1。给定来自已正确聚类的基础K子空间混合模型的n个样本,以及独立生成的查询q,其中概率≥1-δ,
4.1示例评估数据集
已经在SIFT-1M和DEEP-10M数据集上评估了本公开的某些端到端训练的多尺度量化(MSQ)模型的性能,所述SIFT-1M和DEEP-10M数据集通常用于衡量最近邻搜索的性能。SIFT-1M包含从Flickr图像中提取的1百万个128维SIFT描述符。DEEP-10M包含从GoogLeNet的最终隐藏层激活提取的96个PCA分量。
在训练时,每个数据集都用1024个VQ粗略量化器索引。在查询时,使用ADC进一步搜索来自最接近查询的8个分区的量化残差,以生成最终的最近邻。
4.2示例消融测试(Ablation Test)
与IVFADC(其使用带有粗略量化器的普通PQ相比)相比,本文所述的端到端训练的MSQ的示例实施方式已证明可在SIFT-1M上将量化误差减少15-20%,在Deep-10M上将量化误差减少20-25%,这是实质性的减少。多个分量贡献于这种减少:(1)VQ残差的学习的旋转;(2)将残差范数量化分离为多个尺度;以及(3)所有参数的端到端训练。
图5A描绘了若干消融测试的MSE减少相对于IVFADC的图,以显示每个分量的效果。具体地,在Deep-10M上,提出的多尺度方法和端到端学习在学习的旋转的基础上贡献了附加的5-10%的MSE减少,而在SIFT-1M上,它们贡献了10-15%。重要的是要注意,在SIFT-1M上,多尺度量化和端到端训练比学习的旋转具有更大的影响,而学习的旋转本身通常被认为会得到显著改善。
4.3示例召回率实验
本文所述的端到端训练的多尺度量化技术的示例实施方式已与三种基线技术进行了比较:乘积量化(PQ)、优化乘积量化(OPQ)和堆叠量化器(SQ)。真实结果是使用暴力搜索生成的,并且可以将每种技术的结果与固定比特率设置中的真实结果进行比较。
对于固定比特率实验,召回率针对不同数量的PQ码本形成曲线,PQ码本的数量的范围对于SIFT1M数据集可以为{8,16,32},以及对于DEEP10M数据集可以为{6,12,24}。对于码本的每个数量,在图6和图7中利用16个中心对寄存器内表查找进行实验以及利用256个中心对存储器内表查找进行实验。从召回率曲线来看,多尺度量化跨两个数据集在所有设置中性能均优于所有基线。
4.4示例速度基准
相同的索引结构(IVF)和相同的ADC计算实施方式被用于所有基线(PQ,OPQ,SQ)。因此,所有基线的速度在相同的比特率下本质上相同,这意味着图6和图7都是固定存储器和固定时间的,因此可以直接比较。对于具有256个中心的码本,实现存储器内查找表(LUT256);对于具有16个中心的码本,实现寄存器内查找表(LUT16),这使用来自AVX2的VPSHUFB指令实现,其并行执行32个查找。
而且,文献中报道的不同计算(例如,汉明距离计算、使用存储器内查找表的ADC计算和使用SIMD寄存器的ADC计算)被置于平等地位,并且提供了对不同方法的比较。例如,图5B描绘了在相同比特率下的距离计算的时间。与基于POPCNT的汉明相比,基于VPSHUFB的LUT16具有几乎相同的速度,并且两者均比基于内存的ADC快5倍。作为轶事,当要检索的邻居数量很大时,实际上LUT256和LUT16的召回率1@N在相同的比特率下通常是可比的,并且几乎总是优选5倍速的LUT16。
5.示例优点
根据本公开的一个方面,端到端可训练的多尺度量化模型使总体量化损失最小化。引入了一种新颖的标量量化方法来解决数据点范数中的方差,该方法既有经验依据,也有理论依据。与端到端训练一起,与现有的已经采用优化的旋转和粗略量化的竞争方法相比,这贡献了量化误差的大幅减少。此外,与最新技术相比,在两个大尺度、公开可用的基准数据集上的综合最近邻搜索检索实验显示了相当大的改善。
6.示例方法
图8描绘了根据本公开的示例实施例的用于获得量化数据集的示例方法800的流程图。
在801,计算系统可以获得第一数据集并对其进行矢量量化。例如,矢量量化器302可以矢量量化输入数据集(例如,第一数据集)。
在802,计算系统可以从矢量量化的第一数据集生成残差数据集。例如,矢量量化器302可以生成残差数据集。
在803,计算系统可以生成旋转的残差数据集。例如,旋转矩阵304可以被学习并被应用于残差数据集以生成旋转的残差数据集。
在804,可以将旋转残差重新参数化为方向分量和尺度分量。例如,重新参数化器306可以将旋转的残差数据集重新参数化为方向分量和尺度分量。
在805,可以对方向分量进行乘积量化。例如,乘积量化器308可以从重新参数化器306获得方向分量,并对方向分量执行乘积量化。
在806,可以对尺度分量进行标量量化。例如,标量量化器309可以从重新参数化器306获得尺度分量,并且对尺度分量执行标量量化。
图9描绘了使用多尺度量化模型来执行搜索的示例方法900的流程图。
在901,计算系统可以接收查询。
在902,计算系统可以基于查询来执行最近邻搜索。该计算系统可以在多尺度量化数据库上执行搜索。例如,给定查询q,计算系统可以用矢量量化码本C中的每个码字来计算查询q的平方的距离,并在最近的VQ分区内进一步搜索。如果对应的量化器是并且对应的量化分区是则可以使用查找表计算查询与中的数据库点之间的近似平方距离。可以通过取具有最低近似距离的数据库点来进行最终预测,例如
计算系统可以使用查找表来计算查询的旋转的VQ残差的子矢量与缩放后的乘积量化数据点残差之间的量化内积。计算系统可以确定是的第k个子矢量,并且wx=φSQ(||rx||)是量化的残差范数,并且给定每个的维度为l的K个查找表v(1),…,v(K),对于所有j和k,可以利用PQ码本s按照预先计算内积和平方量化的范数。然后,计算系统可以计算
然而,在一些实施方式中,不对查询进行量化,并且可以基于查询执行搜索而无需对查询进行量化。
在一些实施方式中,计算系统可以使用软矢量量化,并且搜索具有最低的||q-Cj||2的t个矢量量化分区,而不是仅搜索一个矢量量化分区,或者基于未量化的查询,来执行搜索。
在903,计算系统可以获得搜索结果。例如,计算系统可以获得在多尺度量化数据库中表示的查询的一个或多个最近邻。
图10描绘了根据本公开的示例实施例的用于训练多尺度量化模型的示例方法1000的流程图。
在1001,计算系统可以获得量化模型。
在1002,计算系统可以确定目标函数的梯度。例如,可以使用随机梯度下降来联合地训练量化模型的参数(例如,码本、正交变换和残差范数量化器)。
在1003,计算系统可以基于梯度联合地训练量化模型的参数。例如,为了学习残差范数的量化器并用VQ分区捕获其局部分布,可以联合地优化VQ分区内所有数据点的残差范数的标量量化和PQ码的分配。保持PQ码本和旋转固定,训练可以包括在以下两者之间交替:1)确认所有分配的PQ码,并且仅在分区内对残差范数进行标量量化,以及2)确认分区内的所有量化的残差范数并重新分配PQ码,直到收敛。
7.附加公开
本文讨论的技术提及了服务器、数据库、软件应用和其他基于计算机的系统以及对此类系统采取的动作和向此类系统发送的信息及从此类系统接收的信息。基于计算机的系统的固有灵活性允许在组件之间以及组件之中进行任务和功能的多种可能的配置、组合以及划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,或者分布在多个系统上。分布式组件可以顺序或并行操作。
尽管已经针对本主题的各种特定示例实施例详细地描述了本主题,但是每个示例都是通过解释而非限制本公开的方式提供的。本领域技术人员在理解前述内容后,可以容易地对这些实施例进行变更、变型和等同。因此,本公开并不排除对本领域的普通技术人员而言显而易见的对本主题的这种修改、变型和/或添加。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用以得到又一实施例。因此,本公开旨在覆盖这样的变更、变型和等同。
Claims (23)
1.一种计算机实现的方法,用于对第一数据集执行多尺度量化以生成第一数据集的编码,该方法包括:
由计算系统执行对第一数据集的矢量量化;
由计算系统至少部分地基于矢量量化的结果生成残差数据集;
由计算系统将旋转矩阵应用于残差数据集,以生成包括多个旋转的残差的旋转的残差数据集;
由计算系统执行将旋转的残差数据集中的每个旋转的残差重新参数化为方向分量和尺度分量;
由计算系统执行对所述多个旋转的残差的方向分量的乘积量化;以及
由计算系统执行对所述多个旋转的残差的尺度分量的标量量化。
2.根据权利要求1所述的计算机实现的方法,还包括:由所述计算系统执行对于查询的相对于经量化的旋转的残差中的至少一些的近似最近邻搜索。
3.根据权利要求2所述的计算机实现的方法,还包括:接收表示所述查询的数据。
4.根据权利要求2或3所述的计算机实现的方法,其中,由所述计算系统执行所述近似最近邻搜索包括由所述计算系统执行不对称搜索,以及其中,由所述计算系统执行不对称搜索包括由所述计算系统对每个标量量化器执行一次乘积量化器码本的标量乘法。
5.根据任一前述权利要求所述的计算机实现的方法,其中,所述第一数据集包括多个第一数据项。
6.根据权利要求5所述的计算机实现的方法,其中,每个第一数据项与从组中选择的数据相关联,所述组由图像、文本部分、web文档、音频和视频组成。
7.根据任一前述权利要求所述的计算机实现的方法,其中,由所述计算系统执行每个旋转的残差的重新参数化包括:由所述计算系统对每个旋转的残差进行单位归一化以形成针对这个旋转的残差的方向分量。
8.根据权利要求7所述的计算机实现的方法,其中,由所述计算系统对每个旋转的残差进行单位归一化以形成针对这个旋转的残差的方向分量包括:由所述计算系统将每个旋转的残差除以其范数,并且其中,每个旋转的残差的尺度分量都包含其范数。
9.根据任一前述权利要求所述的计算机实现的方法,其中,所述乘积量化是通过将归一化的残差划分为一个或多个子矢量而获得的码字的级联来给出的,所述一个或多个子矢量由多个矢量量化器独立地量化。
10.根据权利要求9所述的计算机实现的方法,其中,经量化的旋转的残差被组织成块,使得在块内,所有旋转的残差具有相同的量化范数。
11.根据任一前述权利要求所述的计算机实现的方法,其中,所述残差数据集的直径小于所述第一数据集的直径。
12.根据任一前述权利要求所述的计算机实现的方法,其中,所述第一数据集的矢量量化至少部分地基于矢量量化码本。
13.根据任一前述权利要求所述的计算机实现的方法,其中,所述方向分量的乘积量化至少部分地基于乘积量化码本。
14.根据任一前述权利要求所述的计算机实现的方法,其中,所述标量量化至少部分地基于标量量化码本。
15.一种用于执行机器学习的计算机实现的方法,所述方法包括:
由计算系统获得量化模型,所述量化模型包括矢量量化器、旋转矩阵、采用一个或多个乘积量化码本的乘积量化器以及采用标量量化器码本的标量量化器;
由计算系统确定用于一个或多个示例的目标函数的梯度;以及
由计算系统至少部分地基于目标函数的梯度联合地训练矢量量化器、旋转矩阵、乘积量化器和标量量化器。
16.根据权利要求15所述的计算机实现的方法,其中,所述乘积量化码本是在矢量量化的单位归一化的残差上学习的。
17.根据权利要求15或16所述的计算机实现的方法,还包括:
使用来自数据集的随机样本初始化矢量量化码本;以及
使用矢量量化和旋转后的一组独立样本的残差来初始化所述一个或多个乘积量化码本。
18.根据权利要求15至17中的任一项所述的计算机实现的方法,其中,联合地训练所述乘积量化器和所述标量量化器包括:
联合地优化针对单个矢量量化分区内所有数据点的残差范数的标量量化和乘积量化码的分配。
19.根据权利要求18所述的计算机实现的方法,其中,联合地优化针对所述单个矢量量化分区内的所有数据点的残差范数的标量量化和乘积量化码的分配包括:迭代地和以交替形式:
确认所有分配的乘积量化码,并且仅在单个矢量量化分区内对残差范数进行标量量化;以及
确认单个矢量量化分区内的量化的残差范数并重新分配乘积量化码。
20.根据权利要求16或从属于其的任何权利要求所述的计算机实现的方法,其中,由所述计算系统至少部分地基于目标函数的梯度来联合地训练所述矢量量化器、旋转矩阵、乘积量化器和标量量化器包括:
执行多次第一训练迭代以训练矢量量化器;以及
在执行所述多次第一训练迭代之后,执行多次第二训练迭代以联合地训练矢量量化器、旋转矩阵、乘积量化器和标量量化器。
21.一种计算机系统,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,其在由所述一个或多个处理器运行时,使所述计算机系统执行操作,所述操作包括:
获得包括多个数据点的数据集;
执行将数据集中的每个数据点重新参数化为方向分量和尺度分量;
由计算系统执行对所述数据点的方向分量的乘积量化;以及
由计算系统执行对所述数据点的尺度分量的标量量化。
22.根据权利要求21所述的计算机系统,其中,获得包括所述多个数据点的数据集包括:
获得原始数据集;
执行对原始数据集的矢量量化;
至少部分地基于对原始数据集的矢量量化的结果来生成残差数据集;
由计算系统将旋转矩阵应用于残差数据集,以生成包括多个旋转的残差的旋转的残差数据集;以及
执行对数据集中的每个数据点的重新参数化包括执行对包括在旋转的残差数据集中的每个旋转的残差的重新参数化。
23.根据权利要求21或22所述的计算机系统,其中,所述操作还包括:执行对于查询的相对于经量化的数据点中的至少一些的近似最近邻搜索。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762549094P | 2017-08-23 | 2017-08-23 | |
US62/549,094 | 2017-08-23 | ||
PCT/US2018/032550 WO2019040136A1 (en) | 2017-08-23 | 2018-05-14 | MULTI-SCALE QUANTIFICATION FOR QUICK SIMILARITY SEARCH |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111033495A true CN111033495A (zh) | 2020-04-17 |
CN111033495B CN111033495B (zh) | 2024-09-24 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508199A (zh) * | 2020-11-30 | 2021-03-16 | 同盾控股有限公司 | 针对跨特征联邦学习的特征选择方法、装置及相关设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297170A (en) * | 1990-08-21 | 1994-03-22 | Codex Corporation | Lattice and trellis-coded quantization |
CN1906855A (zh) * | 2004-01-30 | 2007-01-31 | 法国电信 | 空间矢量和可变分辨率量化 |
US20100114871A1 (en) * | 2008-10-31 | 2010-05-06 | University Of Southern California | Distance Quantization in Computing Distance in High Dimensional Space |
CN101937680A (zh) * | 2010-08-27 | 2011-01-05 | 太原理工大学 | 码书分类重排矢量量化方法及其矢量量化器 |
CN103038822A (zh) * | 2010-07-30 | 2013-04-10 | 高通股份有限公司 | 用于多级形状向量量化的系统、方法、设备和计算机可读媒体 |
JP2013140494A (ja) * | 2012-01-05 | 2013-07-18 | Kddi Corp | 高次元の特徴ベクトルを検索する検索装置及びプログラム |
WO2013129580A1 (ja) * | 2012-02-28 | 2013-09-06 | 公立大学法人大阪府立大学 | 近似最近傍探索装置、近似最近傍探索方法およびそのプログラム |
US20130336588A1 (en) * | 2012-06-15 | 2013-12-19 | Shantanu Rane | Method for Representing Images Using Quantized Embeddings of Scale-Invariant Image Features |
US20150169644A1 (en) * | 2013-01-03 | 2015-06-18 | Google Inc. | Shape-Gain Sketches for Fast Image Similarity Search |
US20160062731A1 (en) * | 2014-08-29 | 2016-03-03 | Adobe Systems Incorporated | Shortlist computation for searching high-dimensional spaces |
US20160140435A1 (en) * | 2014-11-14 | 2016-05-19 | Google Inc. | Generating natural language descriptions of images |
EP3115908A1 (en) * | 2015-07-08 | 2017-01-11 | Thomson Licensing | Method and apparatus for multimedia content indexing and retrieval based on product quantization |
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297170A (en) * | 1990-08-21 | 1994-03-22 | Codex Corporation | Lattice and trellis-coded quantization |
CN1906855A (zh) * | 2004-01-30 | 2007-01-31 | 法国电信 | 空间矢量和可变分辨率量化 |
US20100114871A1 (en) * | 2008-10-31 | 2010-05-06 | University Of Southern California | Distance Quantization in Computing Distance in High Dimensional Space |
CN103038822A (zh) * | 2010-07-30 | 2013-04-10 | 高通股份有限公司 | 用于多级形状向量量化的系统、方法、设备和计算机可读媒体 |
CN101937680A (zh) * | 2010-08-27 | 2011-01-05 | 太原理工大学 | 码书分类重排矢量量化方法及其矢量量化器 |
JP2013140494A (ja) * | 2012-01-05 | 2013-07-18 | Kddi Corp | 高次元の特徴ベクトルを検索する検索装置及びプログラム |
WO2013129580A1 (ja) * | 2012-02-28 | 2013-09-06 | 公立大学法人大阪府立大学 | 近似最近傍探索装置、近似最近傍探索方法およびそのプログラム |
US20130336588A1 (en) * | 2012-06-15 | 2013-12-19 | Shantanu Rane | Method for Representing Images Using Quantized Embeddings of Scale-Invariant Image Features |
US20150169644A1 (en) * | 2013-01-03 | 2015-06-18 | Google Inc. | Shape-Gain Sketches for Fast Image Similarity Search |
US20160062731A1 (en) * | 2014-08-29 | 2016-03-03 | Adobe Systems Incorporated | Shortlist computation for searching high-dimensional spaces |
US20160140435A1 (en) * | 2014-11-14 | 2016-05-19 | Google Inc. | Generating natural language descriptions of images |
EP3115908A1 (en) * | 2015-07-08 | 2017-01-11 | Thomson Licensing | Method and apparatus for multimedia content indexing and retrieval based on product quantization |
Non-Patent Citations (1)
Title |
---|
YANNIS KALANTIDIS ET AL.: "Locally Optimized Product Quantization for Approximate Nearest Neighbor Search", 2014 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 24 September 2014 (2014-09-24), pages 2329 - 2336 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508199A (zh) * | 2020-11-30 | 2021-03-16 | 同盾控股有限公司 | 针对跨特征联邦学习的特征选择方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019040136A1 (en) | 2019-02-28 |
US20200183964A1 (en) | 2020-06-11 |
US20230123941A1 (en) | 2023-04-20 |
US11531695B2 (en) | 2022-12-20 |
EP4357940A2 (en) | 2024-04-24 |
US11874866B2 (en) | 2024-01-16 |
EP3655862A1 (en) | 2020-05-27 |
EP4357940A3 (en) | 2024-05-29 |
EP3655862B1 (en) | 2023-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7055187B2 (ja) | ディープバイナリハッシュおよび量子化を介した効率的なクロスモーダル検索 | |
CN106886599B (zh) | 图像检索方法以及装置 | |
US11874866B2 (en) | Multiscale quantization for fast similarity search | |
CN107944046B (zh) | 大规模高维数据快速检索方法及系统 | |
US9552408B2 (en) | Nearest neighbor clustering determination and estimation algorithm that hashes centroids into buckets and redistributes vectors between clusters | |
CN111177438B (zh) | 图像特征值的搜索方法、装置、电子设备及存储介质 | |
JP7006966B2 (ja) | ベクトル量子化の混合に基づく符号化方法及びこれを用いた最近傍探索(nns)方法 | |
US20240061889A1 (en) | Systems and Methods for Weighted Quantization | |
EP3115908A1 (en) | Method and apparatus for multimedia content indexing and retrieval based on product quantization | |
Ozan et al. | K-subspaces quantization for approximate nearest neighbor search | |
Dupuis et al. | CNN weight sharing based on a fast accuracy estimation metric | |
Jain et al. | Approximate search with quantized sparse representations | |
WO2020022498A1 (ja) | クラスタリング装置、方法、及びプログラム | |
CN115221475A (zh) | 以可扩展的方式对软件代码进行聚类 | |
Gan et al. | Metasample-based robust sparse representation for tumor classification | |
CN105740313B (zh) | 设计等值域图 | |
Xiang et al. | GAIPS: Accelerating maximum inner product search with GPU | |
CN111033495B (zh) | 用于快速相似性搜索的多尺度量化 | |
CN107944045B (zh) | 基于t分布哈希的图像检索方法及系统 | |
Mohamed et al. | Deep sparse dictionary-based representation for 3D non-rigid shape retrieval | |
Yuan et al. | Transform residual k-means trees for scalable clustering | |
CN109299260B (zh) | 数据分类方法、装置以及计算机可读存储介质 | |
Chang et al. | Deep unitary convolutional neural networks | |
CN113760407A (zh) | 信息处理方法、装置、设备及存储介质 | |
Dai et al. | An efficient segmented quantization for graph neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |