论文部分内容阅读
目前,各种类型的信息数据呈爆炸型增长。传统信息处理技术正面对着前所未有的挑战。如何在海量高维数据中高效查找目标数据,是计算机领域的热门问题之一。近似最近邻检索是解决该问题的一种方案,它的主要思想是提出新的近似距离度量,检索在这种度量下和查询对象距离最近的数据对象。目前,许多近似最近邻算法陆续出现,且被应用于多个领域。乘积量化是解决此问题的有效方法之一,具有内存消耗低,查询效率高等优点。不过,乘积量化需建立量化中心的距离查询表,时间复杂度较高。针对此缺点有人提出了 k-means哈希量化,直接把向量数据量化为二进制码,且尽量保持数据的空间近邻结构。由于二进制码汉明距离的计算远远快于向量欧氏距离计算,此方法节省了存储空间和运行时间。然而它本质上是把一个高维超立方体放在原始空间内做迭代优化,若立方体维度较高,优化速度过慢,内存消耗也比较大。为此,本文提出了一种新的量化算法——堆叠哈希量化算法。若要提高二进制码对于原始数据的近似程度,不能仅依靠增大超立方体的维度,可以通过利用多层低维立方体对原始数据进行逐步逼近,本文称之为堆叠哈希量化。该算法的核心思想为:第一步,在训练数据集上,用乘积量化将高维训练集划分为多个低维训练集;第二步,对低维子空间进行k-means哈希训练产生相应码本;第三步,计算上一步之后的误差向量,将其作为新的训练数据进行码本训练,得到相应码本;重复第三步直至达到给定误差或规定码本层数。再利用分层码本集对数据库的数据进行编码,得到多层哈希码。在线查询阶段,首先利用分层码本集对查询向量进行编码,然后通过汉明距离对查询向量和数据库里的向量进行近邻匹配。本文在公开的SIFT1M数据集和论文构造的SIFT17数据集上设计了实验,与经典的量化方法相比,本文算法在召回率、精确率、MAP值等性能指标上具有优势。