首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AI综述专栏| 大数据近似最近邻搜索哈希方法综述(下)

AI综述专栏| 大数据近似最近邻搜索哈希方法综述(下)

作者头像
马上科普尚尚
发布于 2020-05-11 06:40:44
发布于 2020-05-11 06:40:44
1.5K0
举报

1 导读

最近邻搜索(Nearest Neighbor Search)也称作最近点搜索,是指在一个尺度空间中搜索与查询点最近点的优化问题。最近邻搜索在很多领域中都有广泛应用,如:计算机视觉、信息检索、数据挖掘机器学习,大规模学习等。其中在计算机视觉领域中应用最广,如:计算机图形学、图像检索、复本检索、物体识别、场景识别、场景分类、姿势评估,特征匹配等。由于哈希方法可以在保证正确率的前提下减少检索时间,如今哈希编码被广泛应用在各个领域。本文是关于大数据近似最近邻搜索问题中应用哈希方法的综述。文章分为两部分,本篇为第二部分。

2.2 数据自身特性

2.2.1 相似度度量

2.2.1.1 欧氏距离

通常情况下,原始空间中的两个x 点 和 y 之间的相似度是由欧氏距离度量的:

大多数哈希方法都基于此,如上面提到的LSH和SH。

2.2.1.2 核距离

上面提到的哈希方法有一定的局限性,即假设原始空间中的点是由向量形式表示的。然而在很多实际应用中,如多媒体、生物、网络等,数据点往往具有复杂的表现形式,如图、树、序列,集合等。对于这些常见的数据类型,大量复杂的核被用来定义数据点之间的相似度。而且在图像检索等视觉应用中,即使图像是由向量形式表示的,核距离与欧氏距离相比可以更好地展现出图像之间的语义相似度。除此之外,对于很多机器学习应用,无法知道原始空间的明确数据,只可以计算点对的核函数相似度。因此在这些情况下,很多处理核函数相似度的哈希方法被提出,它们既可以适用于向量输入也可以适用于非向量输入。

核函数包括线性核函数,多项式核函数,高斯核函数等。其中,高斯核函数是最常见的,也叫做径向基函数,它是一种沿着径向对称的标量函数,定义如下:

其中,xc 是核函数的中心,

是宽度系数。我们可以看出高斯核函数是欧氏距离的反依赖函数。Optimized Kernel Hashing (OKH) 是典型的处理核相似度的哈希方法,详见[1]。

2.2.1.3 语义距离

非监督哈希方法不需要利用带标签训练数据点的标签信息,其目标函数的构造依赖于预先设定的相似度矩阵。然而在图像检索等应用中,图像之间相似度并不是由一个简单的度量标准定义的,因为它并不能保证图像之间的语义相似度。语义相似度往往由带标签的图像对给出,也就是说,原始空间中相似的图像对至少拥有一个共同的标签。对于这样的成对标签数据,监督哈希方法可以生成保持语义相似度的哈希码。其中,Semi-Supervised Hashing (SSH) 是经典的处理语义相似度的哈希方法,详见[1]。

2.2.2 数据模态

2.2.2.1 单模态

近年来,大多数哈希方法都依赖于同质相似度,即数据库中的数据本体都是同一种类型的,这样的哈希方法称作单模态哈希方法。但是随着因特网和多媒体设备的快速发展,我们可以很容易获得大量数据,如文本,图像,视频等。随着数据规模的扩大,数据本体的密度也不断扩大。在实际应用中,异质本体也是普遍存在的,即一些数据库包含的同一种数据本体有多种视角。因此,多模态哈希方法被提出来解决从多种异构领域中搜索出相似数据本体的问题。

2.2.2.2 多模态

初始的多模态哈希方法一般通过将原始空间中的异质数据点映射到一个统一的汉明空间中再进行相似度搜索排序。这种方法的关键问题是如何同时构造多种模态之间的潜在联系以及如何保持在每个模态下的相似度关系。一种方法将多模态本体的每个模态翻译成其中的同一种模态,然后进行单模态搜索。然而这种类型方法有两大缺点:1) 在翻译过程中有一定的近似误差而且很依赖于具体应用。2) 翻译过程往往很慢,导致无法适用于很多实际应用。因此,近期又产生了一些新的多模态哈希方法,详见[1]。

2.2.3 数据流动性

2.2.3.1 固定数据库

目前大多数哈希方法处理数据库中的数据是固定的。但在实际应用中,数据往往连续生成。比如,百度的数据中心搜索机器每天都新增大量文本图像之类的网页。对于这种流动性数据,已有的哈希方法必须重新训练新的哈希函数,这种效率根本无法适应数据库中数据数量的增长和多样性的变化。

2.2.3.2 在线数据库

因此,近期出现了一些可以处理流动数据的在线哈希方法。详见[1]。

2.3 哈希平台

2.3.1 单机

之前讨论的哈希方法处理的都是单一中心机器上的数据,然而随着数据库规模的扩大,数据常常是分布式存储的,一种直观的方法是将所有的数据读取到同一个工作站中,然后像在单机上一样训练哈希函数。但是这将导致计算,时间和空间复杂度太高。

2.3.2 分布式

Hashing for Distributed Data (HDD) 是一种分布式哈希方法。HDD 分布式地学习哈希函数。由于在训练过程中没有节点之间训练数据的交换,通信成本很小,使得HDD可以适用于任何大规模分布式应用。

3 哈希排序方法简介

哈希排序指的是在哈希过程的最后一步,对数据库中所有点哈希得到的二进制码的排序问题。汉明距离是最常用的二进制码排序标准,但它无法对那些与查询点具有相同汉明距离的二进制码排序。如图3.1所示,假设数据库中的点都是二维的,红色叉表示查询点并被编码为“11”,绿色圆点表示查询点的真实 -最近邻。很显然,所有编码为“01”和“10”的点都与查询点具有相同的汉明距离。然而,由于查询点的真实 -最近邻中包含了部分编码为“01”的点而并不包含任何编码为“10”的点,因此编码“01”应该排在编码“10”的前面。在这个例子中,汉明距离无法给出一个合理的哈希排序。

图3.1 汉明距离排序示例

表3.1 哈希排序方法分类

因此从2011年开始不断有人研究哈希排序算法。近年来的哈希排序成果主要基于两类距离:加权汉明距离和非对称距离。几种代表性的哈希排序方法分类详见表3.1,其中标号为[1]中参考文献。

3.1 加权汉明距离

加权汉明距离的权重一般由两部分组成:Offline权重和Online权重。Offline权重不依赖于查询点,根据数据库中点的分布计算得出。该权重一般在投影空间中求解,因为投影空间 P 的信息量远远大于二进制空间 B ;Online权重依赖于查询点,根据查询点与数据库中点的相对分布关系求解。加权汉明距离的权重基本上有两种计算方法:按位算权重和按类别算权重。

3.1.1 按位算权重

按位算权重即对哈希后的每一位计算一个权重

,并满足 。则查询点 q 和数据库中点

的加权汉明距离

计算如下:

经典的代表算法有QsRank,WhRank等,详见[1]。

3.1.2 按类别算权重

按类别算权重适用于将标签作为相似度表示的数据库,如CIFAR,NUS-WIDE等。我们以Lost in Binarization为例阐述类别权重的计算方法。

  1. Offline权重学习阶段。输入数据库点的二进制码以及类别间的相似度就可以迭代输出 k个类别的权重

。其目标函数旨在最大化类间距离和最小化类内距离。

  1. Online权重学习阶段。首先,计算查询点 q 与数据库中所有点哈希后的二进制码之间的汉明距离,返回与查询点 q 最相近的前 k 个点,并记录它们的标签集合为 T 以及每个标签中含有点的个数( k 近邻中)为

。则查询点q 的最终权重

定义如下:

图3.2显示了以图像搜索为例,应用上述权重对汉明距离进行重排序的完整过程。

图3.2 图像搜索整体框架

3.2 非对称距离

哈希编码分为投影和量化为二进制两个过程。非对称的意思是只对数据库中的点二进制化,而对查询点只投影不量化。因此,将非二进制的查询点与二进制的数据库点之间的距离称作非对称距离,详见[1]。非对称距离可以提高检索精度主要有以下两点原因:

  1. 由于没有对查询点二进制化,因此可以获取查询点更精准的位置信息,从而提高检索精度。在存储上,仅仅多额外存储一个查询点的非二进制化向量与检索过程的整个存储量级相比是可以忽略的。
  2. 非对称距离的实数量级与汉明距离的整数量级相比,可以对距离空间进行更浓密的划分。也就是说,非对称距离可以将汉明距离无法区分的二进制码重新排序,从而提高检索精度。

4 总结

我们简述了哈希方法的发展历史,并从一个新颖的角度对哈希方法进行清晰地分类。该文很适合对哈希方向感兴趣的读者快速找到他们感兴趣的分支。

参考文献

  1. Yuan Cao, Heng Qi, Wenrui Zhou, Kato Jien, Keqiu Li, Xiulong Liu, and Jie Gui. "Binary hashing for approximate nearest neighbor search on big data: A survey." IEEE Access 6 (2018): 2039-2054.
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能前沿讲习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AI综述专栏| 大数据近似最近邻搜索哈希方法综述(上)(附PDF下载)
在科学研究中,从方法论上来讲,都应先见森林,再见树木。当前,人工智能科技迅猛发展,万木争荣,更应系统梳理脉络。为此,我们特别精选国内外优秀的综述论文,开辟“综述”专栏,敬请关注。
马上科普尚尚
2020/05/14
1.6K0
AI综述专栏| 大数据近似最近邻搜索哈希方法综述(上)(附PDF下载)
可搜索加密:基础知识
Locality Sensitive Hashing:主要用于高效处理海量高维数据的最近邻问题 ,使得 2 个相似度很高的数据以较高的概率映射成同一个hash 值,而令 2 个相似度很低的数据以极低的概率映射成同一个 hash 值。
小简
2023/01/04
2.1K1
可搜索加密:基础知识
​综述 | SLAM回环检测方法
在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿解算当前帧位姿,因此其中的误差便这样一帧一帧的传递下去,也就是我们所说的累积误差。一个消除误差有效的办法是进行回环检测。回环检测判断机器人是否回到了先前经过的位置,如果检测到回环,它会把信息传递给后端进行优化处理。回环是一个比后端更加紧凑、准确的约束,这一约束条件可以形成一个拓扑一致的轨迹地图。如果能够检测到闭环,并对其优化,就可以让结果更加准确。
用户1150922
2019/08/29
3.2K0
​综述 | SLAM回环检测方法
大规模图像检索的深度哈希方法简介
传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,称为“以字找图”(text-based image retrieval),既耗时又主观多义。如今每一秒都有数百万图片通过各种渠道上传到各种大规模存储设备中。给定一张查询图片,快速从百万量级的图像数据库中通过图像特征来找出内容相近的一定数量的图片,这种任务被称为“基于内容的图像检索”(content-based image retrieval (CBIR)),是目前非常流行的研究方向。
用户1324186
2018/03/06
6.4K0
大规模图像检索的深度哈希方法简介
向量将死,哈希是 AI 未来
人工智能是建立在向量算法的基础上的,但最新的进展表明,对于某些 AI 应用程序而言,它们可以使用其他二进制来表示(例如神经哈希),以提供更小的内存占用和更快的反馈速度。
AI科技评论
2021/10/11
5810
向量将死,哈希是 AI 未来
哈达玛矩阵指导下的在线哈希学习新方法
越来越多的数据流,让视觉相似度检索在应用场景中越来越难,例如微信每天都会产生十几亿甚至上百亿的流数据网络图片,给相似图片搜索带来了挑战。而视觉哈希编码技术逐渐成为实现相似性检索的有效途径。
AI科技评论
2020/05/25
9160
哈达玛矩阵指导下的在线哈希学习新方法
[文献阅读]Deep Metric and Hash-Code Learning for Content-Based Retrieval of Remote Sensing Images
春恋慕 为进一步探究基于度量学习的深度哈希图像检索方法,阅读IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium会议论文:Deep Metric and Hash-Code Learning for Content-Based Retrieval of Remote Sensing Images。论文题目翻译成中文便是基于深度度量和哈希码学习的遥感图像内容检索。
月梦@剑心
2022/09/14
3400
[文献阅读]Deep Metric and Hash-Code Learning for Content-Based Retrieval of Remote Sensing Images
一文带你了解检索增强生成中的神兵利器 —— 近似近邻搜索
随着大语言模型Chatgpt的横空出世,大语言模型(Large Language Model, LLM)频繁地出现在公众的视野中,成为了商业、娱乐、教育等领域讨论的热点。在LLM众多的出色能力中,其强大的检索能力(Information Retrieval)能力备受瞩目。大语言模型本身不联网,但却好像能回答互联网上能搜到的大部分问题,包括包括事情发生的具体时间、人物关系和前因后果等等。然而,LLM的记忆能力和检索能力也不是无限的。比如,LLM的幻觉(Hallucination)问题就是学术界和工业界目前致力于解决的问题 [1]。幻觉指的是即使在不确定答案的情况下,LLM不但不会承认无法回答,还会以自信的口吻凭空捏造出事实,通常可以以假乱真。为了解决这一现象,许多研究方向被提了出来,而检索增强生成(Retrieval-Augmented Generation, RAG)就是其中的一种方法。对于用户的提问,RAG首先生成信息检索请求,然后在数据库中寻找相关的信息,最后,结合相关信息和用户的提问向大语言模型进行提问(流程示意图见图1)。因为在数据库中寻找到的信息都是真实可靠的,大语言模型会根据提供的真实数据进行回答,减少其幻觉的可能。不仅如此,RAG的范式极大的扩展了大语言模型的应用场景,使得其可以实现大规模内容的记忆与整理。许多应用也由此催生出来,包括虚拟人设、文章理解/总结等。在RAG中,如何在大量的内容向量(数以万计)中找到与检索向量相匹配的内容直接决定了生成的质量和效率。能否在短时间内得到丰富翔实的内容对于最后回答的生成起到了近乎决定行性的作用。在本篇文章中,我们将介绍近似近邻搜索的概念,并介绍其中三种常见的方法。
飞翔的西红柿
2024/02/29
1.1K3
一文带你了解检索增强生成中的神兵利器 —— 近似近邻搜索
WWW2020 | 基于GNN和哈希学习的高效推荐系统
最近看了篇利用哈希技术来提高基于图神经网络的推荐系统检索速度的文章。该文的亮点本人认为主要有以下两点:(1)模型同时学习用户/物品的实值表示和离散表示,用于协调模型的效率和性能,(2)该文提出了一个端到端的训练框架,解决了哈希模型在反向传播中遇到的优化困境:即模型中包含非光滑函数sign(.)。因此把这篇文章推荐给大家。
用户3578099
2020/09/10
1.3K0
WWW2020 | 基于GNN和哈希学习的高效推荐系统
图像检索系列——利用 Python 检测图像相似度
最近在做一个海量图片检索的项目,可以简单的理解为“以图搜图”,这个功能一开始是搜索引擎带火的,但是后来在电商领域变得非常实用。在制作这个图片检索的项目前,笔者搜索了一些资料,如今项目临近结尾,便在这里做一些简单的分享。本文先介绍图像检索最基础的一部分知识——利用 Python 检测图像相似度。
出其东门
2019/08/26
5.3K0
图像检索系列——利用 Python 检测图像相似度
最近邻搜索|Nearest neighbor search
最近邻搜索 ( NNS ) 作为 邻近搜索(proximity search) 的一种形式,是在给定集合中找到与给定点最接近(或最相似)的点的优化问题(optimization problem)。相似度通常用不相似函数表示:对象越不相似,函数值越大。
用户3578099
2023/09/01
1.2K0
最近邻搜索|Nearest neighbor search
使用SimHash进行海量文本去重
传统的Hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上仅相当于伪随机数产生算法。传统的hash算法产生的两个签名,如果原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别很大。所以传统的Hash是无法在签名的维度上来衡量原内容的相似度,而SimHash本身属于一种局部敏感哈希算法,它产生的hash签名在一定程度上可以表征原内容的相似度。
sunsky
2020/08/19
2.7K0
【犀牛鸟论道】深度哈希方法及其在移动视觉搜索中的应用
1. 简介 移动视觉搜索技术是多媒体搜索领域中一个前沿的研究课题。近年来,移动设备的飞速发展,改变了互联网上图像和视频等视觉内容的产生,以及人们检索和观看的方式。移动设备的便携性和无处不在的网络接入能力使其逐渐成为主要的互联网图像和视频内容的访问和查询入口。而移动设备上丰富的传感器原件,也使得移动视觉搜索的过程更加自然、有效——用户可以直接通过拍摄图像和视频进行搜索。因此,移动视觉搜索具有巨大的市场需求和应用前景。但是,不同于传统的桌面搜索,移动视觉搜索主要面临如下挑战:1)查询图像\视频受拍摄环境干扰严重
腾讯高校合作
2018/03/21
1.3K0
【犀牛鸟论道】深度哈希方法及其在移动视觉搜索中的应用
基于内容的图像检索技术综述-传统经典方法
今天我们来介绍一下图片检索技术,图片检索就是拿一张待识别图片,去从海量的图片库中找到和待识别图片最相近的图片。这种操作在以前依靠图片名搜图的时代是难以想象的,直到出现了CBIR(Content-based image retrieval)技术,依靠图片的内容去搜图。比较常见的图搜平台有百度、谷歌、拍立淘等,有些图搜技术已经能达到非常不错的效果。接下来我们做个测试,给出一个柯基宝宝的图片,分别用三家搜索引擎进行搜索:
SIGAI学习与实践平台
2018/08/07
5630
基于内容的图像检索技术综述-传统经典方法
LSH算法:高效相似性搜索的原理与Python实现II
局部敏感哈希(LSH)是一种高效的近似相似性搜索技术,广泛应用于需要处理大规模数据集的场景。在当今数据驱动的世界中,高效的相似性搜索算法对于维持业务运营至关重要,它们是许多顶尖公司技术堆栈的核心。
用户3578099
2024/07/15
6720
LSH算法:高效相似性搜索的原理与Python实现II
Bags of Binary Words | 词袋模型解析
Bags of Binary Words for Fast Place Recognition in Image Sequences
计算机视觉
2021/01/28
1.1K0
【向量检索研究系列】快速入门
随着互联网的不断发展,产生了各种各样的海量数据,比如图片、文本、视频和语音等非结构化数据,这些数据可以通过人工智能技术提取出特征向量,然后通过对这些特征向量的计算和检索来实现对非结构化数据的分析和检索,如何对非结构化的向量数据进行高效检索即为向量检索技术的核心问题。
码之有理
2022/06/30
3.4K4
【向量检索研究系列】快速入门
超越标准 GNN !DeepMind、谷歌提出图匹配网络| ICML最新论文
一种新的图匹配网络,在几个图相关任务中均胜过精心设计的神经网络模型和基于标准GNN的图嵌入模型。
新智元
2019/05/15
1K0
超越标准 GNN !DeepMind、谷歌提出图匹配网络|  ICML最新论文
常见计算用户之间的相似度方法有哪些?
模型计算用户之间的相似度方法在多个领域有着广泛应用,以下是对几种常见方法的详细描述:
jack.yang
2025/04/05
3170
常见计算用户之间的相似度方法有哪些?
基于度量学习的深度哈希图像检索研究初步探索
面对毕设题目一堆陌生的术语,我查阅资料进行了初步探索,对毕设有了大致了解。春恋慕 李聪的博客 基于度量学习的深度哈希图像检索研究
月梦@剑心
2022/09/14
5550
推荐阅读
相关推荐
AI综述专栏| 大数据近似最近邻搜索哈希方法综述(上)(附PDF下载)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档