# 无监督SOTA_IJCAI18_Semantic Structure-based Unsupervised Deep Hashing

无监督SOTA_IJCAI18_Semantic Structure-based Unsupervised Deep Hashing

背景

哈希算法的存储和搜索效率高,在大规模数据库中进行近似近邻搜索变得越来越流行。深度学习给计算机视觉、机器学习和其他相关领域带来了革命性的变化。深度哈希分为无监督和有监督。

发现问题

最近的监督哈希方法,通常构造语义相似矩阵来指导哈希码学习使用标签信息,并学习哈希码以保持这种语义关系,已经显示了很好的结果。然而,在无监督的设置中,获取和利用点之间的语义关系是相对困难的。能在没有标签的情况下学习语义结构吗?

解决思路

基础定义:

假设我们有m个数据点,X=image-20210801150649000。无监督哈希的目标是学习数据点的二进制哈希码和可用于生成哈希码的哈希函数

我们使用B =image-20210801151124705 来表示X的哈希码,image-20210801151212834表示xi的哈希码,其中K表示哈希码长度。

1.Semantic Structure Learning:

首先对深度特征进行统计,NUSWIDE和FLICKR25K数据集,发现不同数据点的余弦距离分布可以用两个半高斯分布估计。由于深度特征包含丰富的语义信息,我们假设距离明显小于其他数据点的数据点语义相似,距离明显大于其他数据点的数据点语义不相似。基于上述观察和假设,构建了一个表示数据点对是否相似的语义结构。

image-20210801111518447

具体:

作者先将样本间的距离(文中用了 cosine 距离)算出来,观察这些距离值的分布的概率密度函数(文中 Figure 1(b)),发现有点像两个半边的正态分布(文中 Figure 1 ©、(d))拼在一起的样子。

于是在最高点处劈开两边(即将数据分成两部分),一边各是一个半边的正态分布,分别拟合这两个正态分布,得到它们的均值和标准差:image-20210801143333752

再利用这两组 image-20210801143612834 构造两个距离阈值 image-20210801143813284image-20210801143830169(其中 image-20210801143856742是超参),然后定义相似矩阵:

image-20210801143746277

余弦相似度,就是计算两个向量间的夹角的余弦值。余弦距离就是用1减去这个获得的余弦相似度[0,2]。作者在这里讲的不是很清楚。

2 Hash Code Learning:

为了保留学习到的语义结构,尝试将语义上相似的数据点映射到相似的哈希码中,语义上不相似的数据点映射到不相似的哈希码中,如果不能确定数据点是语义上相似还是不相似,则丢弃对数据点。首先利用不同哈希码的内积构造一个相似结构H,其实就是哈希码的距离的表示:

image-20210607213910035

最小化 学习到点对之间的 特征距离和哈希码距离之间的差距

image-20210607214407048

松弛二元约束:xi是学习到的特征,vi是编码,用tanh()逼近sign()

image-20210607214351729

3.为了整合特征和哈希代码学习过程,设计了一个统一的、端到端可训练的深度框架。

image-20210801111534828

整体算法:

image-20210801152417744

实验

数据集

NUSWIDE:包含269,648张图片,每个数据点都有基于81个概念的多个标签。这里使用的是属于10个最流行概念的子集。随机选择5000幅图像作为测试集。剩下的图像作为检索集,从中随机选取5000幅图像作为训练集。

FLICKR-25K:包含了从Flickr网站收集的25000张图片。有24个提供的标签,每个图像都手动标注至少一个。随机选择2000幅图像作为测试集。剩下的图像作为检索集,从中随机选取10000幅图像作为训练集。

实现细节

TensorFlow,批大小设置为24,动量设置为0.9。训练图像被调整为224 224作为输入。神经网络的前七层是根据ImageNet预先训练的模型进行微调的,而最后一层完全连接的是从头开始学习的。学习速率固定在0.001。

拟合正态分布获得均值和标准差的过程可以直接调 scipy.stats.norm.fit()

结果

数据集实验paper
SSDHFLICKR-25K0.69340.7276
32(位)NUSWIDE0.62100.6768
其他位数和paper差距差不多

思考

1.正态分布两个阈值取值问题:如image-20210801143813284,参数取2,只有大约2:2%的距离小于这个值,那么根据输入样本学习到的可信任标签为1和-1的就很少,这个参数对模型效果影响巨大。

2.loss函数是否能够优化,文中只是简单用哈希码内积image-20210801162633931和Sij的差值来指导来定义loss。

3.很多时候创新涉及 数据科学以及数据处理手段,深度学习离不开数据,数据本身的信息很重要。

后续工作

后续可以注重数据的处理和分析,一些常用库和技巧可以学习,以及一些可视化手段,用来指导模型。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

moletop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值