深度hash DH - 紧的二进制编码

哈希算法可将高维数据编码为一组二进制代码,与此同时还能保持图像或视频的相似性。 这应该最近hash比较火的原因吧。

这一次我们说一下,CVPR2015年的文章,Deep Hashing for Compact Binary Codes Learning 

这个文章提出了一个紧的二进制码用于大型的视觉图像的搜索,之后有人提出了一个离散的深度hash. (2017)。

The basic idea of the hashing-based approach is to construct a series of hash functions to map each visual object into a binary feature vector so that visually similar samples are mapped into similar binary codes。

这里的主要思想是 创建一系列的hash函数,把每个视觉对象映射到二进制的特征向量。而且这些特征向量把相似的图像 或者数据例子(sample) 映射成相似的二进制编码。
深度hash DH - 紧的二进制编码

hash方法有两类:

第一类,数据独立的: 此类方法用随机森林random projection等方法,把数据映射特征空间,然后再二值化。

第二类,数据不是独立的:是用统计的方法的方法来学习。

深度hash DH - 紧的二进制编码

其中黄色的部分公式如下:

深度hash DH - 紧的二进制编码

深度hash DH - 紧的二进制编码

深度hash DH - 紧的二进制编码

深度hash DH - 紧的二进制编码

在此时的技术,都可以用tensorflow上很容易的计算以上的过程。

我看只需要看其中Loss function就好了

深度hash DH - 紧的二进制编码

其中J2 是想让新表达的二进制码的方差变大,这样可以得到随机分布的二进制码。

J1 就是当然让新表达的B 与原来的H 越接近越好。