[CVPR 2015] Simultaneous Feature Learning and Hash Coding with Deep Neural Networks [paper]

Hanjiang Lai, Yan Pan, Ye Liu, Shuicheng Yan.

1. Overcome

  • 在大多数哈希方法中,图像都用手工特征表示,这些特征不能很好得保存原始图片的语义信息。
  • 哈希方法大都分为编码量化两个过程,基于手工向量的优化结果可能难以同时兼容编码和量化的过程,从而造成子优化问题。
  • CNNH是一个two-stage的深度哈希方法,利用神经网络同时学习了哈希函数和图像特征表达。在stage 1时,CNNH得到了近似哈希编码,并在stage 2利用这些近似哈希编码来训练得到图像的特征表达,但是这些训练得到的图像特征无法反过来指导近似哈希编码的训练,以得到更好的编码。

2. Contribute

  • 提出了一种 “one-stage”的监督哈希检索方法,可以同时得到图像特征和哈希编码,并且特征信息和哈希编码可以相互改善,从而得到更好的结果。
  • 设计了一种triplet ranking loss,可以很好得保存图像语义的相似信息。

3. Algorithm

NINH方法分为三个步骤:(1)通过一个卷积网络得到中间图像特征;(2)通过divide-and-encode模块得到每张图片的哈希编码;(3)得到图像对的triplet ranking loss,再经由反向传播更新网络。

3.1 Triplet Ranking Loss and Optimization

输入为图像对\((I, I^-, I^+)\),其中\(I\)为查询图像,\(I^-\)为与\(I\)不相似的图像,\(I^+\)为与\(I\)相似的图像。这种输入形式可以更好得表达相似信息“与\(I^-\)相比,图像\(I\)与\(I^+\)更相似”。Triplet ranking hinge loss定义为:

为了便于优化,加入松弛技巧——将Hamming norm替换为L2 norm。得到新的损失函数如下:

损失函数关于\(F(I)、F(I^-)、F(I^+)\)的导数为:

因为损失函数的求导过程非常简单,因此可以容易结合进神经网络的反向传播过程中。

3.2 Shared Sub-Network with Stacked Convolution Layers

Shared Sub-Network使用相同的神经网络结构以及相同的参数得到triplet图像对中的每一张图像的特征表达。网络结构和参数如下表所示:

在该部分,一种替代的策略是对于图像\(I\)使用单独的网络结构和参数,而图像\(I^-\)和\(I^+\)使用相同的网络结构和参数。但是论文中的实验证明,对三个图像使用相同的网络结构和参数的表现会由于这种替代策略。

3.3 Divide-and-Encode Module

Divide-and-Encode(DAE)通过Shared Sub-Network得到每张图片的特征向量后,将这个向量切片成r个部分,每个部分再通过全连接层连接到一个节点,最后通过sigmoid函数转化为[0, 1]之内的值。通过上述步骤,便可以得到一张图片r比特的哈希编码。在这个过程中,因为每个哈希编码是由特征向量的子部分得到的,哈希编码之间的冗余性少,有利于图像的检索。

这个部分另一种策略简称为FC,将整个特征向量通过全连接层直接连接到r个节点,再借由sigmoid函数得到图片的哈希编码。显然这种策略下,每一位哈希编码都利用到了整个特征向量的信息,容易造成冗余。论文的实验也证明了DAE的表现会由于FC。

【Deep Hash】NINH的更多相关文章

  1. 【Deep Hash】CNNH

    [AAAI 2014] Supervised Hashing via Image Representation Learning [paper] [code] Rongkai Xia , Yan Pa ...

  2. 【POJ2185】【KMP + HASH】Milking Grid

    Description Every morning when they are milked, the Farmer John's cows form a rectangular grid that ...

  3. 【Deep Learning】一、AutoEncoder

    Deep Learning 第一战: 完成:UFLDL教程 稀疏自编码器-Exercise:Sparse Autoencoder Code: 学习到的稀疏参数W1: 参考资料: UFLDL教程 稀疏自 ...

  4. HDU 1280 前m大的数【排序 / hash】

    前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  5. 【字符串hash】DNA

    DNA 题目描述 小X身为奆老,兴趣爱好广泛,他还非常喜欢研究DNA序列……小X进行了一项关于DNA序列研究,发现人某条染色体上的一段DNA序列中连续的k个碱基组成的碱基序列与做题的AC率有关!于是他 ...

  6. 【Deep Learning】两层CNN的MATLAB实现

    想自己动手写一个CNN很久了,论文和代码之间的差距有一个银河系那么大. 在实现两层的CNN之前,首先实现了UFLDL中与CNN有关的作业.然后参考它的代码搭建了一个一层的CNN.最后实现了一个两层的C ...

  7. codeforces #441 B Divisiblity of Differences【数学/hash】

    B. Divisiblity of Differences time limit per test 1 second memory limit per test 512 megabytes input ...

  8. Codeforces Round #454 C. Shockers【模拟/hash】

    C. Shockers time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  9. [BZOJ 1014] [JSOI2008] 火星人prefix 【Splay + Hash】

    题目链接:BZOJ - 1014 题目分析 求两个串的 LCP ,一种常见的方法就是 二分+Hash,对于一个二分的长度 l,如果两个串的长度为 l 的前缀的Hash相等,就认为他们相等. 这里有修改 ...

随机推荐

  1. Android的进阶学习(六)--理解View事件分发

    http://www.jianshu.com/p/34cb396104a7 有些无奈,期末考试抱佛脚,还好没有挂,现在继续进阶. 好久以前就看到了View的事件分发,但是当时功底不够,源码也不敢深究, ...

  2. go协程

    一.并发&并行 一个应用程序  ---> 一个进程 ---> 运行在自己内存地址空间里的独立执行体 ---> 同一个内存地址空间的一起工作的多个线程 一个并发程序 ---&g ...

  3. Coprime (单色三角形+莫比乌斯反演(数论容斥))

    这道题,先说一下单色三角形吧,推荐一篇noip的论文<国家集训队2003论文集许智磊> 链接:https://wenku.baidu.com/view/e87725c52cc58bd631 ...

  4. 椭圆曲线签名算法的v的定义

    在之前的个个与签名相关的地方我都对v的定义感到十分困惑,知道查看了黄皮书以后才对它的作用有了一定地了解,如下: (v is the recovery id: a 1 byte value specif ...

  5. 树莓派开启SSH

    2017-04-10-raspbian-jessie默认SSH功能时关闭的 boot下新建一个ssh的空文件

  6. PAT A1076 Forwards on Weibo (30 分)——图的bfs

    Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may ...

  7. 一键搭建LNMP脚本

    还有不足的地方,请谅解   2天时间刚做到安装mysql这里.... # [root@localhost ~]# cat /etc/centos-release # CentOS release 6. ...

  8. AI 信息论

    信息论,主要用于量化信息. 事件发生的概率越大,包含的信息就越少.例如“太阳从东边升起”,信息量就很少. 1.自信息(self-information) 两个独立事件发生所包含的信息,等于各自发生包含 ...

  9. C# 语法四 修饰符

    1.sealed 不能派生 2.internal 仅仅在本项目中被访问 3.public 整个系统 4.private 本类访问 5.protected 本类.派生类访问 using System; ...

  10. 【Codeforces 1110D】Jongmah FST分析

    Codeforces 1110 D FST分析 dotorya.FizzyDavid.MofK.gamegame.matthew99.chokudai.eddy1021.DBradac.Happy_N ...