CN109299097B - 一种基于哈希学习的在线高维数据最近邻查询方法 - Google Patents
一种基于哈希学习的在线高维数据最近邻查询方法 Download PDFInfo
- Publication number
- CN109299097B CN109299097B CN201811128413.2A CN201811128413A CN109299097B CN 109299097 B CN109299097 B CN 109299097B CN 201811128413 A CN201811128413 A CN 201811128413A CN 109299097 B CN109299097 B CN 109299097B
- Authority
- CN
- China
- Prior art keywords
- data
- hash
- function
- image
- vector
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于哈希学习的在线高维数据最近邻查询方法,首先设计了分别根据样本相似或不相似性的预测损失函数并且扩宽了损失函数的范围,进一步设置了相似或不相似范围,然后结合哈希模型需要保持历史信息同时需要当前数据对损失最小的原则,提出新的目标函数,通过对在线哈希算法的收敛性进行分析,找到目标函数最优值。在此基础上,对于待查询数据点,能够快速地查询到最接近的数据点,平均准确率结果稳定收敛,迭代学习过程中哈希函数的更新大大减少。
Description
技术领域
本发明涉及一种在线最近邻查询方法,尤其是涉及一种基于哈希学习的在线高维数据最近邻查询方法。
背景技术
近邻查询(Nearest Neighbor Search)是信息检索领域一个重要的研究方向,在图像检索和数据挖掘方面均有广泛应用。近邻查询常用的技术主要有基于树和基于哈希的两类方法。但是当数据维度变大时,基于树的近邻检索的效率会受到较大限制。而基于哈希的方法则是将原始数据通过哈希函数压缩成低维的二进制编码,然后在海明距离下排序检索,因此该方法具有快速高效且维度不敏感的优势。目前研究较多的哈希方法是将所有数据统一训练的批处理方法,这种方法无法处理实时的流式数据。尽管学术界有少量针对流式数据的实时在线哈希学习方法,但这些方法较多讨论的仅仅如何提高平均准确率。
目前在线哈希学习所采用的方法主要包括在线核哈希(Online hashing)、监督哈希(Online Supervised hashing)和在线互信息哈希(MIHash Online Hashing)等,新数据训练后会自动更新哈希函数。但是哈希函数变化会导致数据集映射后的海明编码发生改变。为了使得新数据和原有数据哈希编码匹配,则需要通过新的哈希函数计算重新计算哈希编码。但是重新计算哈希编码时的更新迭代过程频繁,以致随着数据增大计算开销需求过大。且上述方法在在线迭代学习过程中哈希模型还存在哈希函数更新频率较快和哈希模型稳定性较弱的问题。原因在于:(1)设计损失函数,在整个数据集上把相似和不相似样本设置成统一阈值;(2)仅根据相邻两次投影向量差别尽可能小来更新哈希函数,无法保证模型的稳定性。而在实际应用中,哈希模型更重要的是在何时能快速迭代出最优哈希函数,以及是否能够达到稳定收敛的状态,而且更新哈希模型过程中也需要更新频率尽可能少。
发明内容
本发明所要解决的技术问题是提供一种基于哈希学习的在线高维数据最近邻查询方法,该方法具有在线最近邻查询平均准确率结果稳定收敛,能够减少迭代学习过程中哈希函数过于频繁的更新。
本发明解决上述技术问题所采用的技术方案为:一种基于哈希学习的在线高维数据最近邻查询方法,包括以下步骤:
①图像数据获取和预处理:获取包含原始二维图像的数据集,按照图像像素信息将该数据集等价转换成保留原始特征的数值矩阵,并对数值矩阵进行数据清洗和降维处理两步操作;
②定义处理数据的哈希模型;;
③建立预测损失函数:对于顺序收到的流式数据,根据相似或者不相似数据对的标签,计算对应海明距离的均值,分别统计相似或者不相似数据两类样本的阈值,然后根据流式数据对的海明距离和阈值关系,根据任意数据经过哈希函数映射后是否仍然保持相似性的原则,建立判断更新后的哈希向量是否合理的海明距离预测损失函数;
④获取目标函数:当步骤③中预测损失函数值为零时,将此时的哈希向量作为目标函数参数,当步骤③中预测损失函数值非零时,则计算下一轮次训练的哈希向量,并判断下一数据的相似性,直到找到符合要求的新的数据,并将此时的哈希向量作为目标函数的参数;
⑤优化目标函数:对于目标函数,用随机梯度下降算法SGD寻找每次迭代过程中当前范围内的极小值,不断向函数减小的方向逼近,直至局部最低点,找到其导数近似为零的极小值点,将对应的哈希向量作为目标函数最优值;
⑥测试数据库查询:对于待查询数据点,首先按照步骤①初步处理待查询图像数据,然后选取最新更新的哈希向量组成哈希函数族,把待查询图像数据映射到海明空间后,筛选出最接近的数据点,作为待查询图像数据的反馈结果。
与现有技术相比,本发明的优点在于提出一种新的在线学习哈希算法,首先设计了分别根据样本相似(不相似性)的预测损失函数并且扩宽了损失函数的范围,进一步设置了相似(不相似)范围,然后结合哈希模型需要保持历史信息同时需要当前数据对损失最小的原则,提出新的目标函数,通过对在线哈希算法的收敛性进行分析,找到目标函数最优值。在此基础上,对于待查询数据点,能够快速地查询到最接近的数据点,平均准确率结果稳定收敛,迭代学习过程中哈希函数的更新大大减少。
具体实施方式
以下结合实施例对本发明作进一步详细描述。
一种基于哈希学习的在线高维数据最近邻查询方法,包括以下步骤:
①图像数据获取和预处理:在公开的图像领域网站获取包含原始二维图像的数据集,按照图像像素信息将该数据集等价转换成保留原始特征的数值矩阵,并对数值矩阵进行数据清洗和降维处理两步操作,具体操作过程为:
①-1对获取的图像数据进行归一化操作,维持整体数据的完整性,对离群数值使用分箱、聚类、和回归进行人工处理,对离群图像像素数据采用均值代替;
②-2采用SIFT算法提取原始二维图像中的局部性特征,把图像中关键点定位并确定图像局部的梯度方向,降低原始二维图像中的高维数据,然后将原始二维图像数据集合分为训练图像数据库X=[x1,x2,...,xi,.xn]和查询图像数据库Y=[x1,x2,...,xi,.xq],其中xi为任意一张图像的d维特征向量,i是数据库中图像数据的编号,n是训练图像个数,,q是测试图像个数,再将训练图像数据库中的训练数据设置为流式数据的形式顺序传送;
②定义处理数据的哈希模型:对于给定的原始数据X∈Rd×n,定义映射原始数据的哈希函数为:
其中Rd×n是d行n列的实数矩阵,c是样本数据的个数,d是样本数据的维数,W=[w1,...wr]∈Rr×d是哈希投影向量,WT是W的转置,Rr×d是r行d列的实数矩阵,r表示投影的维度,是第i个数据的除去均值后的结果,sgn表示取符号函数两种值{+1,-1},F是r维度的二进制编码;
③建立预测损失函数:对于顺序收到的流式数据,根据相似或者不相似数据对的标签,计算对应海明距离的均值,分别统计相似或者不相似数据两类样本的阈值,然后根据流式数据对的海明距离和阈值关系,根据任意数据经过哈希函数映射后是否仍然保持相似性的原则,建立判断更新后的哈希向量是否合理的海明距离预测损失函数:
④获取目标函数:定义原始数据对应的哈希向量为W(0),t轮次训练的哈希向量为W(t):
式中,为数据对在哈希向量W(t)的映射下的哈希编码损失值,为F范数的平方,W(t-1)表示前一轮训练的哈希向量,W(t-n)表示前n轮训练的哈希向量,m表示选取的中间哈希向量,η为相邻两次更新哈希编码损失差值,当步骤③中预测损失函数值为零时,则判断经过哈希函数映射后的新数据与原始数据相似性保持一致,将此时的哈希向量W(t)作为目标函数参数,当步骤③中预测损失函数值非零时,则判断经过哈希函数映射后的新数据与原始数据相似性未保持一致,则计算下一轮次训练的哈希向量,并判断下一数据的相似性,直到找到符合要求的新的数据,并将此时的哈希向量作为目标函数的参数;
⑤优化目标函数:对于目标函数,用随机梯度下降算法SGD寻找每次迭代过程中当前范围内的极小值,每次迭代的一对数据随机选取,从原始数据对应的哈希向量W(0)开始不断迭代产生新的投影向量,对于每一个投影向量都要沿着梯度下降的方向计算更新,如此往复直至代价函数足够小为止,即在W维度空间内,不断向函数减小的方向逼近,直至局部最低点,找到其导数近似为零的W(*),即为极小值点,将对应的哈希向量作为目标函数最优值;
⑥测试数据库查询:对于待查询数据点xi,在查询图像数据库Y中查找近似图像,首先按照步骤①初步处理待查询图像数据,然后选取最新更新的哈希向量组成哈希函数族,把待查询图像数据映射到海明空间后,将查询图像数据库Y中的数据集进行海明距离排序比较,根据降序排序筛选出最接近的数据点,作为待查询图像数据的反馈结果。
Claims (1)
1.一种基于哈希学习的在线高维数据最近邻查询方法,其特征在于包括以下步骤:
①图像数据获取和预处理:在公开的图像领域网站获取包含原始二维图像的数据集,按照图像像素信息将该数据集等价转换成保留原始特征的数值矩阵,并对数值矩阵进行数据清洗和降维处理两步操作,具体操作过程为:
①-1对获取的图像数据进行归一化操作,维持整体数据的完整性,对离群数值使用分箱、聚类、和回归进行人工处理,对离群图像像素数据采用均值代替;
①-2采用SIFT算法提取原始二维图像中的局部性特征,把图像中关键点定位并确定图像局部的梯度方向,降低原始二维图像中的高维数据,然后将原始二维图像数据集合分为训练图像数据库X=[x1,x2,...,xi,.xn]和查询图像数据库Y=[x1,x2,...,xi,.xq],其中xi为任意一张图像的d维特征向量,i是数据库中图像数据的编号,n是训练图像个数,q是测试图像个数,再将训练图像数据库中的训练数据设置为流式数据的形式顺序传送;
②定义处理数据的哈希模型:对于给定的原始数据X∈Rd×n,定义映射原始数据的哈希函数为:
其中Rd×n是d行n列的实数矩阵,c是样本数据的个数,d是样本数据的维数,W=[w1,...wr]∈Rr×d是哈希投影向量,WT是W的转置,Rr×d是r行d列的实数矩阵,r表示投影的维度,是第i个数据的除去均值后的结果,sgn表示取符号函数两种值{+1,-1},F是r维度的二进制编码;
③建立预测损失函数:对于顺序收到的流式数据,根据相似或者不相似数据对的标签,计算对应海明距离的均值,分别统计相似或者不相似数据两类样本的阈值,然后根据流式数据对的海明距离和阈值关系,根据任意数据经过哈希函数映射后是否仍然保持相似性的原则,建立判断更新后的哈希向量是否合理的海明距离预测损失函数:
④获取目标函数:定义原始数据对应的哈希向量为W(0),t轮次训练的哈希向量为W(t):
式中,为数据对在哈希向量W(t)的映射下的哈希编码损失值,为F范数的平方,W(t-1)表示前一轮训练的哈希向量,W(t-n)表示前n轮训练的哈希向量,m表示选取的中间哈希向量,η为相邻两次更新哈希编码损失差值,当步骤③中预测损失函数值为零时,则判断经过哈希函数映射后的新数据与原始数据相似性保持一致,将此时的哈希向量W(t)作为目标函数参数,当步骤③中预测损失函数值非零时,则判断经过哈希函数映射后的新数据与原始数据相似性未保持一致,则计算下一轮次训练的哈希向量,并判断下一数据的相似性,直到找到符合要求的新的数据,并将此时的哈希向量作为目标函数的参数;
⑤优化目标函数:对于目标函数,用随机梯度下降算法SGD寻找每次迭代过程中当前范围内的极小值,每次迭代的一对数据随机选取,从原始数据对应的哈希向量W(0)开始不断迭代产生新的投影向量,对于每一个投影向量都要沿着梯度下降的方向计算更新,如此往复直至代价函数足够小为止,即在W维度空间内,不断向函数减小的方向逼近,直至局部最低点,找到其导数近似为零的W(*),即为极小值点,将对应的哈希向量作为目标函数最优值;
⑥测试数据库查询:对于待查询数据点xi,在查询图像数据库Y中查找近似图像,首先按照步骤①初步处理待查询图像数据,然后选取最新更新的哈希向量组成哈希函数族,把待查询图像数据映射到海明空间后,将查询图像数据库Y中的数据集进行海明距离排序比较,根据降序排序筛选出最接近的数据点,作为待查询图像数据的反馈结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811128413.2A CN109299097B (zh) | 2018-09-27 | 2018-09-27 | 一种基于哈希学习的在线高维数据最近邻查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811128413.2A CN109299097B (zh) | 2018-09-27 | 2018-09-27 | 一种基于哈希学习的在线高维数据最近邻查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109299097A CN109299097A (zh) | 2019-02-01 |
CN109299097B true CN109299097B (zh) | 2022-06-21 |
Family
ID=65164668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811128413.2A Active CN109299097B (zh) | 2018-09-27 | 2018-09-27 | 一种基于哈希学习的在线高维数据最近邻查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299097B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069666B (zh) * | 2019-04-03 | 2021-04-06 | 清华大学 | 基于近邻结构保持的哈希学习方法和装置 |
CN110688501B (zh) * | 2019-08-28 | 2022-04-05 | 宁波大学 | 一种基于深度学习的全卷积网络的哈希检索方法 |
CN110569244A (zh) * | 2019-08-30 | 2019-12-13 | 深圳计算科学研究院 | 一种海明空间近似查询方法及存储介质 |
CN111026741A (zh) * | 2019-12-04 | 2020-04-17 | 国网天津市电力公司电力科学研究院 | 基于时间序列相似性的数据清洗方法及装置 |
CN115909741B (zh) * | 2022-11-30 | 2024-03-26 | 山东高速股份有限公司 | 一种交通状态的判别方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462196A (zh) * | 2014-10-30 | 2015-03-25 | 南京信息工程大学 | 多特征联合哈希信息检索方法 |
CN104699747A (zh) * | 2014-12-15 | 2015-06-10 | 宁波大学 | 一种基于高维数据过滤器的近似成员查询方法 |
WO2017053779A1 (en) * | 2015-09-24 | 2017-03-30 | Trustees Of Boston University | Data storage and retrieval system using online supervised hashing |
CN107291895A (zh) * | 2017-06-21 | 2017-10-24 | 浙江大学 | 一种快速的层次化文档查询方法 |
CN108108657A (zh) * | 2017-11-16 | 2018-06-01 | 浙江工业大学 | 一种基于多任务深度学习的修正局部敏感哈希车辆检索方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020321B (zh) * | 2013-01-11 | 2015-08-19 | 广东图图搜网络科技有限公司 | 近邻搜索方法与系统 |
CN105550368A (zh) * | 2016-01-22 | 2016-05-04 | 浙江大学 | 一种高维数据的近似最近邻检索方法及检索系统 |
CN106777038B (zh) * | 2016-12-09 | 2019-06-14 | 厦门大学 | 一种基于序列保留哈希的超低复杂度图像检索方法 |
CN108256058B (zh) * | 2018-01-16 | 2021-05-07 | 山东理工大学 | 一种基于微型计算平台的实时响应大媒体近邻检索方法 |
-
2018
- 2018-09-27 CN CN201811128413.2A patent/CN109299097B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462196A (zh) * | 2014-10-30 | 2015-03-25 | 南京信息工程大学 | 多特征联合哈希信息检索方法 |
CN104699747A (zh) * | 2014-12-15 | 2015-06-10 | 宁波大学 | 一种基于高维数据过滤器的近似成员查询方法 |
WO2017053779A1 (en) * | 2015-09-24 | 2017-03-30 | Trustees Of Boston University | Data storage and retrieval system using online supervised hashing |
CN107291895A (zh) * | 2017-06-21 | 2017-10-24 | 浙江大学 | 一种快速的层次化文档查询方法 |
CN108108657A (zh) * | 2017-11-16 | 2018-06-01 | 浙江工业大学 | 一种基于多任务深度学习的修正局部敏感哈希车辆检索方法 |
Non-Patent Citations (4)
Title |
---|
Online Hashing for Scalable Remote Sensing Image Retrieval;Peng Li等;《remote sensing》;20180504;第2309-2321页 * |
Online Hashing;Long-Kai Huang 等;《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》;20170406;第29卷(第6期);第1-15页 * |
基于在线学习型哈希的最近邻查找算法研究进展;胡伟等;《数据通信》;20180228(第01期);第22-26页 * |
基于学习型哈希的最近邻查找算法研究进展;彭聪;《数据通信》;20171031(第05期);第42-49页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109299097A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299097B (zh) | 一种基于哈希学习的在线高维数据最近邻查询方法 | |
Baranchuk et al. | Revisiting the inverted indices for billion-scale approximate nearest neighbors | |
Dhanabal et al. | A review of various k-nearest neighbor query processing techniques | |
CN105912611B (zh) | 一种基于cnn的快速图像检索方法 | |
Singh et al. | Evolving limitations in K-means algorithm in data mining and their removal | |
WO2017092183A1 (zh) | 一种基于可变长深度哈希学习的图像检索方法 | |
CN109871379B (zh) | 一种基于数据块学习的在线哈希最近邻查询方法 | |
EP3752930B1 (en) | Random draw forest index structure for searching large scale unstructured data | |
CN107341178B (zh) | 一种基于自适应的二进制量化哈希编码的数据检索方法 | |
CN104035949A (zh) | 一种基于局部敏感哈希改进算法的相似性数据检索方法 | |
CN104679887B (zh) | 基于emd距离的大规模图像数据相似性搜索方法 | |
Anagnostopoulos et al. | Learning set cardinality in distance nearest neighbours | |
CN108763295A (zh) | 一种基于深度学习的视频近似拷贝检索算法 | |
CN113377981B (zh) | 基于多任务深度哈希学习的大规模物流商品图像检索方法 | |
Li et al. | I/O efficient approximate nearest neighbour search based on learned functions | |
EP3115908A1 (en) | Method and apparatus for multimedia content indexing and retrieval based on product quantization | |
Zhang et al. | Dynamic time warping under product quantization, with applications to time-series data similarity search | |
CN109446293B (zh) | 一种并行的高维近邻查询方法 | |
CN112241475B (zh) | 基于维度分析量化器哈希学习的数据检索方法 | |
Neeb et al. | Distributed k-nearest neighbors | |
CN116304213B (zh) | 基于图神经网络的rdf图数据库子图匹配查询优化方法 | |
Wan et al. | Cd-tree: A clustering-based dynamic indexing and retrieval approach | |
CN116383437A (zh) | 一种基于卷积神经网络的跨模态素材推荐方法 | |
Zhao et al. | Scalable nearest neighbor search based on KNN graph | |
CN115049894A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |