来源:我爱计算机视觉

编辑:安然

图灵联邦编辑部出品

最近邻搜索(Nearest neighbor search)是指在数据库中查找与查询数据距离最近的数据点,是计算机视觉、推荐系统、机器学习等领域的基本问题。

比如在基于内容的图像检索中,在计算完查询图像特征向量后,需要在成千上万甚至几十亿的数据库图像特征向量中查找距离最小的Top n 幅图像,作为结果返回给用户。

Facebook的FAISS是这一领域重要的开源库:

https://github.com/facebookresearch/faiss

这个过程必须考虑计算和存储效率,而使用哈希算法将特征向量二值化,把问题转化为二值向量再进行比较是使用最广泛的方法。随着深度学习在该领域的应用,深度哈希算法取得了比传统方法更好的结果。

昨日,阿里巴巴达摩院与北京大学的研究学者发布了一篇论文A Survey on Deep Hashing Methods,参考了138篇近几年的文献,对使用深度学习的哈希方法进行了全面的综述,非常值得该领域的朋友参考。

哈希方法既然是将原浮点型向量转化为0-1二值向量,使得原空间中两数据点与二值向量空间数据点的距离尽量相似,作者就按照在深度哈希方法中损失函数里相似性保留方法对算法进行了分类。

主要分五类:

1. 成对相似性保留(pairwise similarity preserving)

在计算Loss时,以保留两个数据项之间距离相似性为目标,这一类别下包含Product loss minimization、Difference loss minimization、 Likelihood loss minimization方法。

2. 多对相似性保留(multiwise similarity preserving)

在计算Loss时,以保留多于两个数据项之间距离相似性为目标,三元组损失函数(triplet loss)是这一方向最常见的。

Deep Neural Network Hashing、Deep Regularized Similarity Comparison Hashing、Deep Triplet Supervised Hashing、Deep Semantic Ranking-based Hashing 是这一类中代表性方法。

3. 隐式相似性保留(implicit similarity preserving)

在Loss函数设计时,没有显式的使用成对或多对的相似性信息保留,但他们依然利用了其间的相似关系,比如利用互信息。

Hashing with Mutual Information、Hashing as Tie-Aware Learning to Rank、Angular Deep Supervised Hashing是这一类代表性方法。

4. 面向分类的深度哈希(Classification-oriented deep hashing)

Loss函数设计时,利用分类信息而非距离相似性信息,哈希码是与数据的类别标签相关的,这一类中迁移学习和特征提取是主流方法。

Deep Binary Hashing、Supervised Semantics-preserving Deep Hashing、Very Deep Supervised Hashing、SUBIC、Mutual Linear Regression-based Discrete Hashing、Central Similarity Hashing、Hadamard Codebook Based Deep Hash是这一类的代表性方法。

5. 量化(quantization)

使用量化方法进行深度监督哈希的方法。

Deep Quantization Network、Deep Triplet Quantization、Deep Visual-semantic Quantization、Deep Product Quantization、Deep Spherical Quantization、Similarity Preserving Deep Asymmetric Quantization 是这一方向的代表性方法。

论文还讨论了该领域的一些新方向:

  1. GAN与深度哈希学习
  2. 集成学习的哈希方法
  3. 深度哈希的训练策略
  4. 深度无监督哈希方法
  5. 多模态深度哈希方法

作者指出MNIST、CIDAR-10、ImageNet、NUS-WIDE、COCO是该领域常用数据集。

作者列出了部分算法在CIFAR-10、NUS-WIDE数据集上的结果:

由此结果作者总结:

  1. 深度哈希算法大大优于传统方法;
  2. 在深度哈希算法中相似性信息是需要的;
  3. 分类标签信息可以增加深度哈希算法性能;
  4. 一些技巧(正则化项、集成学习、bit平衡、bit independence )可使得算法更精确和鲁棒。

论文地址:

https://arxiv.org/abs/2003.03369

距离向量算法_阿里北大:深度哈希算法最新综述相关推荐

  1. 阿里北大:深度哈希算法最新综述

    点击我爱计算机视觉标星,更快获取CVML新技术 最近邻搜索(Nearest neighbor search)是指在数据库中查找与查询数据距离最近的数据点,是计算机视觉.推荐系统.机器学习等领域的基本问 ...

  2. Python_机器学习_算法_第1章_K-近邻算法

    Python_机器学习_算法_第1章_K-近邻算法 文章目录 Python_机器学习_算法_第1章_K-近邻算法 K-近邻算法 学习目标 1.1 K-近邻算法简介 学习目标 1 什么是K-近邻算法 1 ...

  3. 主要推荐系统算法总结及Youtube深度学习推荐算法实例概括

    主要推荐系统算法总结及Youtube深度学习推荐算法实例概括 By ZhuZhiboSmith2017年7月09日 17:00 现如今,许多公司使用大数据来做超级相关推荐,并以此来增加收益.在海量推荐 ...

  4. 算法学习笔记13:哈希算法

    哈希算法(上):如何防止数据库中的用户信息被脱库 什么是哈希算法 应用一:安全加密 应用二:唯一标识 应用三:数据校验 应用四:散列函数 解答开篇 哈希算法(下):哈希算法在分布式系统中有哪些应用 应 ...

  5. 多目标优化算法_阿里提出多目标优化全新算法框架,同时提升电商GMV和CTR

    论文作者| Xiao Lin,Hongjie Chen 等 编译 | 吴少杰 编辑 | Natalie AI 前线导读: 在推荐系统中,多目标优化一直是热门话题,阿里针对推荐中的多目标优化问题提出了一 ...

  6. python检测图片相同部分_用 Python 实现哈希算法检测重复图片

    在 Python 中导入 hashlib 模块,调用函数就可以生成某一个字符串或者文件的哈希值.这个算法对于未被篡改的上传文件非常有效,如果输入数据有细微变化,加密哈希算法都会导致雪崩效应,从而造成新 ...

  7. hash算法_阿里面试官:讲一下Hashmap中hash算法!

    注:本文内容全部基于jdk8讲述. 相信很多人都知道,在JDK8中,HashMap的容量总是2的n次幂,那么这么设计的目的究竟是什么呢?我可不可以将默认的初始容量从16改成20呢,扩容的时候我可不可以 ...

  8. 【算法】阿里精准推广的核心算法MLR

    原文:http://www.sohu.com/a/146522397_463994 阿里妈妈,是一个想让天下没有难做的营销的大数据平台,它拥有阿里巴巴集团的核心商业数据.在这里,每天有超过50亿的推广 ...

  9. 错误录入 算法_如何使用验证错误率确定算法输出之间的关系

    错误录入 算法 Monument (www.monument.ai) enables you to quickly apply algorithms to data in a no-code inte ...

最新文章

  1. 【学习笔记】【C语言】结构体
  2. 恩智浦智能车大赛2020_内蒙古科技大学第九届智能车大赛校内公开赛总决赛
  3. OpenShift 4 - 查看关键证书到期日期
  4. 异常:java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext
  5. Pandas Series 1
  6. nodejs应用在linux服务器中的部署
  7. Cannot resolve plugin org.apache.tomcat.maven:tomcat7-maven-plugin:<unknown>
  8. 如何使用万能地图下载器下载80坐标的等高线
  9. Matlab排序函数
  10. 云计算是用来做什么的
  11. oracle数据库year函数怎么用,数据库 year函数
  12. True Launch Bar 4.2 注册码
  13. 动环监控设备维护与故障处理,动环监控系统调试
  14. 598. 范围求和 II【我亦无他唯手熟尔】
  15. c语言中地址值是什么意思,单片机C语言中如何区别是地址还是数值啊?
  16. 如何获取easyclick手机安装包
  17. 电脑开机后鼠标右键点击桌面图标反应很慢,要等上1分钟左右右键内容才能出来怎么办?
  18. java抢购_java redis 实现抢购秒杀
  19. Dell服务器raid5扩容及相关技术mark
  20. spring security oauth2.0 client集成第三方登录

热门文章

  1. 如何使用SAT trace一个正在运行的程序
  2. 使用微软Outlook的收件Rule规则自动删除垃圾邮件
  3. 使用Visual Studio Code编写和激活ABAP代码 (上)
  4. SAP Fiori UI上关于时区Timezone的一些问题和解决方案
  5. coverity代码检测工具介绍_兴业证券:静态代码检测最佳实践
  6. find命令过滤 no such_运维老手常用的linux命令操作
  7. excel图表之道_学习笔记:Excel之图表布局
  8. python链表_使用python实现链表操作
  9. linux ls in*,35 ls Command Examples in Linux (The Complete Guide)
  10. mysql死锁影响_MySQL死锁系列-常见加锁场景分析