#无监督 #哈希

  • 论文:https://arxiv.org/abs/1702.08798

文章目录

  • 摘要
  • 引言
  • 相关工作
  • 本文方法
    • 无监督的三元组损失LTL_TLT​
    • 量化损失LQL_QLQ​
    • 信息熵损失LEL_ELE​
  • 实验
    • 实验设置
  • 个人思考

摘要

本文是用来做大规模图片索引的.名字叫无监督三元组哈希法 (UTH) ,依据以下三规则设计:

  • 对于图片索引有更强的鉴别性(既保证相似语义图片类间差小,也保证不同语义图片类间差大?)
  • 原始特征描述算子和学习到的哈希码之间量化损失最小
  • 学习到的特征码的信息熵最大

引言

Restricted Boltzmann Machines(RBMs) 需要预训练且复杂.一些使用图片增强的方法效果不错,尤其带旋转的,通过尝试原始图片和旋转图片的的二进制码距离来实现.但是这种方法也仅仅只提供了正样本,不能确保模型能区分不同语义图片的二进制码.
本文是可以区分不同语义图片的 hash 码的.主要创新点:

  • 用三元组损失替换了 DeepBit 中的旋转不变损失
  • 使用无标签的数据构造三元组
  • 三元组损失可以强行平衡训练数据,而旋转不变损失是不考虑负样本的

相关工作

本文方法

LTL_TLT​ 表示三元组损失,使得图像索引有更多的判别性(Ag 图片和原始图片相近,随机图片和原始图片较远),LQL_QLQ​表示原始特征和学习到的哈希码的之间的量化损失,LEL_ELE​表示哈希码的信息熵损失函数.最终损失是:
L=αLT+βLQ+γLE(1)L=\alpha L_T+ \beta L_Q+ \gamma L_E \tag{1} L=αLT​+βLQ​+γLE​(1)

无监督的三元组损失LTL_TLT​

对于一个未标注的数据集,使用原始图片 ppp 和旋转图片 p+p^+p+ 和随机的另一张图片 p−p^-p− 组成三元组, 则:
LT=max⁡{0,m+∣∣F(p)−F(p+)∣∣22−∣∣F(p)−F(p−)∣∣22}(2)L_T=\max{\{0,m+||F(p)-F(p^+)||_2^2-||F(p)-F(p^-)||_2^2\}} \tag{2} LT​=max{0,m+∣∣F(p)−F(p+)∣∣22​−∣∣F(p)−F(p−)∣∣22​}(2)

FFF为学习到的哈希函数,mmm为设置的边界.

量化损失LQL_QLQ​

在哈希层后额外加一层 ReLU 激活层.二进制码 bbb 通过量化输出特征来生成,即对输出的函数F(p)F(p)F(p)取个阈值二值化:
b={1,if F(p)> threshold0,otherwise(3)b= \begin{cases} 1, & \text{if $F(p)$ > threshold} \\ 0, & \text{otherwise} \\ \end{cases} \tag{3} b={1,0,​if F(p) > thresholdotherwise​(3)
本文实验中,我们设置阈值为0.5,并将输出的特征F(p)F(p)F(p)和量化之后的特征码之间平方差作为正则来缩小差异.其实就是为了保证特征码尽量携带更多的最终特征信息.得到:

LQ=∑n=1N∑m=1M∣∣F(p)−b∣∣2L_Q=\sum_{n=1}^N \sum_{m=1}^M ||F(p)-b||^2 LQ​=n=1∑N​m=1∑M​∣∣F(p)−b∣∣2

$$
\begin{cases}
\sum_{n=1}^N \sum_{m=1}^M ||F§-1||^2 , & \text{if F(p)F(p)F(p) > 0.5} \
\sum_{n=1}^N \sum_{m=1}^M ||F§||^2 , & \text{otherwise} \
\end{cases}
\tag{4}

$$

NNN 是训练数据的数量, MMM 是哈希码的长度

信息熵损失LEL_ELE​

根据 DeepBit 和信息论启发,编码中每个单元的信息分布约均匀,那么信息熵越大.因此我们添加了一个正则:
LE=∑m=1M(um−0.5)2,um=1N∑n=1Nbn(m)(5)L_E=\sum_{m=1}^M (u_m -0.5)^2, u_m= \frac{1}{N} \sum_{n=1}^N b_n(m) \tag{5} LE​=m=1∑M​(um​−0.5)2,um​=N1​n=1∑N​bn​(m)(5)

实验

实验设置

优化方法SGD,使用VGG作为于训练,然后添加一个 ReLU 进行激活.三元组共享权重.旋转图片是分别旋转 ±10\pm 10±10,±5\pm 5±5,训练时设置 α=β=γ=1\alpha =\beta=\gamma=1α=β=γ=1.先使用原始的训练数据训练网络,收敛目标是最小化量化损失和信息熵损失,然后在使用三元组损失来微调. 对于 CIFAR-10 和 MNIST 数据集分别设置哈希为 16位,32位,64位,对于 In-shop 数据设置哈希为 64位,128位,256位.

个人思考

没代码,看不到整个网络架构,但是这里哈希也能算是一个启发

论文阅读 -- unsupervised triplet hashing for fast image retrieval笔记相关推荐

  1. 图像检索--Deep Supervised Hashing for Fast Image Retrieval

    CVPR2016 Deep Supervised Hashing for Fast Image Retrieval 源代码: https://github.com/lhmRyan/deep-super ...

  2. 论文阅读 [TPAMI-2022] Ball $k$k-Means: Fast Adaptive Clustering With No Bounds

    论文阅读 [TPAMI-2022] Ball kkkk-Means: Fast Adaptive Clustering With No Bounds 论文搜索(studyai.com) 搜索论文: B ...

  3. 论文阅读:Multi-Scale Triplet CNN for Person Re-Identification

    中国科技大学的Jiawei Liu等发表在Acm on Multimedia Conference上的论文.作者提出一个多尺度的triplet CNN,在一个数据集Market1501上表现出好的性能 ...

  4. [论文阅读] Unsupervised Domain Adaptive Salient Object Detection Through Uncertainty-Aware Pseudo-Label

    论文地址:https://arxiv.org/abs/2202.13170 代码:https://github.com/Kinpzz/UDASOD-UPL 发表于:AAAI 22 Abstract 深 ...

  5. 论文阅读——Unsupervised Neural Machine Translation with Indirect Supervision

    带有间接监督的无监督神经机器翻译(未开源) https://arxiv.org/pdf/2004.03137.pdf 虽然使用单语数据进行无监督神经机器翻译 UNMT 可以取得不错的结果,但是与监督 ...

  6. [论文阅读] Cascaded Partial Decoder for Fast and Accurate Salient Object Detection

    论文地址:https://arxiv.org/abs/1904.08739 代码:https://github.com/wuzhe71/CPD 发表于:CVPR'19 Abstract 现有的最先进的 ...

  7. 论文阅读Unsupervised Corpus Aware Language Model Pre-training for Dense Passage Retrieval

    密集文本检索的无监督语料库感知语言模型预训练 ACL2022 论文链接 摘要 最近的研究证明了使用微调语言模型(LM)进行密集检索的有效性.然而,密集检索器很难训练,通常需要经过精心设计的微调管道才能 ...

  8. [论文阅读] Unsupervised Domain Adaptation for Cross-Modality Retinal Vessel Segmentation

    [论文地址] [代码] [ISBI 22] Abstract 各种深度学习模型已经被开发出来,用于从医学图像中分割解剖结构,但当在另一个具有不同数据分布的目标域上测试时,它们通常表现不佳.最近,人们提 ...

  9. 目标检测论文阅读:DeFCN(POTO+3DMF)算法笔记

    标题:End-to-End Object Detection with Fully Convolutional Network 会议:CVPR2021 论文地址:https://ieeexplore. ...

  10. 跨模态检索论文阅读:Context-Aware Attention Network for Image-Text Retrieval

    Context-Aware Attention Network for Image-Text Retrieval基于上下文感知的图文检索注意网络 Motivation: 以前的方法没有考虑到单模态中模 ...

最新文章

  1. 数据结构(08)— 线性单链表基本操作
  2. 送给 Java 程序员的 Spring 学习指南
  3. boost::geometry::detail::overlay::select_rings用法的测试程序
  4. 1、.Net Core 基础
  5. 关于cookie使用的几个方法
  6. 帆软超级链接对象、插入子报表、网页框传参的个人使用心得
  7. linux+脚本+pid,Linux启动脚本输出pid
  8. 关于《Delphi源代码分析》的讨论
  9. powerbuilder防止反编译: pbkiller无法解析的部分公布
  10. win7鼠标指针主题包_轻松办公之全局鼠标手势软件
  11. 【放马过来---谈禅修打坐】
  12. 一个TCP FIN_WAIT2状态细节引发的感慨
  13. MTCNN + Deep_Sort实现多目标人脸跟踪之MTCNN人脸检测部分(一)
  14. 楚留香获取服务器信息未响应,楚留香手游后期输出乏力解决方法分享
  15. 背景图自适应屏幕大小
  16. python 调用ocx
  17. 高中历史教师资格证考试成功通过前辈备考经验分享
  18. Windows(IA-32e模式)系统调用
  19. 建筑工程质量竣工资料软件
  20. 使用MDC增强日志记录

热门文章

  1. 2019税改有哪些变化?什么是专项扣除?这些改动与你的工资息息相关!
  2. Python使用在线接口SDK模块(baidu-aip)实现人脸识别
  3. 每日哲学与编程练习3——无重复数字(Python实现)
  4. 超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
  5. 【应急基础】————13、VBS遍历目录获取文件Hash
  6. windows 7计算机用户名和密码忘了,教你电脑密码忘了怎么办
  7. vscode中显示隐藏文件
  8. 关于JSON的常见问题以及首字母大写的JSON
  9. SpringBoot 启动报错 No property found for type !
  10. python--pandas长宽数据转换