Deep Hashing Network for Efficient Similarity Retrieval

本文介绍了一种深度哈希网络(DHN),它通过改进传统的监督哈希方法,利用CNN学习图像特征并直接生成二进制码,减少量化误差。DHN在NUS-WIDE、CIFAR-10和Flickr数据集上的实验表明其在相似性检索任务上的优势。
摘要由CSDN通过智能技术生成

Deep Hashing Network for Efficient Similarity Retrieval

Introduce

这是发表在AAAI-2016的一篇paper,下载地址
在本篇论文之前的监督Hash方法,第一步通过手动学习或者机器学习得到特征向量,第二步学习二进制的Hash Code。然而,这种方法存在明显的缺点,首先提取的特征并不一定完善,并且学习的二进制的Hash Code也有量化的误差。所以作者提出了Deep Hashing Network(DHN)。DHN模型主要从以下四个部分对之前的方法进行改进:

  • 使用CNN来学习图像的特征。
  • 使用CNN的全连接层来生成二进制码。
  • 减少交叉熵损失,使原始空间相似的图片在海明空间也相似。
  • 减少量化误差提高Hash Code的质量。
    在下面详细介绍一下改进过程:

Deep Hashing Network

相似性检索中,给定训练集N个points { xi}Ni=1 ,每一个是一个D维的特征向量, xRD 。每一对特征向量之间有一个相似性的label sij ,如果 xi xj 相似, sij=1 ;如果 xi xj 不相似, sij=0 。我们的目标就是学习到非线性的hashing function f:xh{ 1,1}Kh=f(x)
在本篇论文中,作者提出了如下图所示的网络结构,网络的输入是一组 { xi,xj,sij} 三元组。
图1 网络结构
figure1 显示的图片是AlexNet的修改,原始AlexNet网络结构con1-con5是5个卷积层,fc6-fc8是三个全连接层。对于每一个全连接层l总会学习到一个非线性的mapping。

zli=al(Wlzl1i+bl)

这里 zli 是原始的数据 xi 在l层的表示, Wl,bl 分别表示l-th 层网络的权重和偏置, al 表示激活函数,这里采用了ReLU函数 al(x)=max(0,x) 。由于需要将原始的数据映射为K维的hash code,作者修改了网络的第8层,将AlexNet的fc8的softmax classifier变成了有K个隐节点的fch layer。 hi=zli,l=8 。为了保证fch layer的输出的范围在[-1,1]之间,作者将该层的激活函数修改为 al(x)=tanh(x) 。为了保证fch layer输出的hash code 性能良好,需要保持hash code 和原始的S中相似性一致,并且输出的二进制码量化误差最小。
一对二进制码 hi hj ,海明距离和内积之间有以下的性质
distH(hi,hj)=12(Khi,hj)

图像的label已知的,通过label可以得到相似性的矩阵 S={ sij} ,那么最好的目标就是在相似性矩阵已知的情况下,根据贝叶斯公式可知,后验的概率与先验概率和似然函数的乘积正相关:
logp(H|S)logp(S|H
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值