K-means hashing: An affinity-preserving quantization method for learning binary compact codes论文理解

用KMH(k-means hashing)学习二值编码论文 理解

本篇论文[1]是微软研究院的何凯明等人提出,何凯明在微软2015年一年参与发表5篇CVPR,还有好多其他高质量论文,这篇论文是其2013年CVPR上发表的一篇。下面进入正题。

一、问题提出

ANN检索方法中,向量量化和乘积量化方法是基于查找表的,查找表是放在内存中的。基于hamming距离的方法检索速度快,1.5ms内可以扫描完1百万64bit的hamming码,但是检索结果又没有基于查找表的好。如何才能兼容并蓄、博采众长呢?何凯明等人想到了一种结合上述两类方法优点的做法,思想很直白,且其要优化的目标函数式形式非常简单。

二、思想和原理

1.思想:

将乘积量化过程作为构建索引的第一步,用样本量化后的类中心距离代表样本之间的距离;将hamming hash表的编码过程作为第二步,用hamming码来表示前一步样本量化后的类中心;中间用个最优化函数联系起来,保证目标函数的误差达到最小。最后采用hamming码来表示类中心。用数学式表达目标函数就是:
这里写图片描述
优化目标式(1)就是要优化(2)式和(3)式,优化(2)式采用k-means方法,优化(3)采用ITQ方法学习一个正交变换,使得这里写图片描述,其中V是二进制超立方体的顶点坐标矩阵,C是乘积量化后的类中心坐标矩阵,R就是要学习的正交矩阵。

2.原理推导

主要推导下如何优化目标式(3)。
λ 时,优化(1)等价于使(3)为0,即 d(Ci(x),Ci(y))dh(i(x),i(y)) 是完全相同的, dh(,) 是hamming 空间中超立方体的两个顶点之间的距离,超立方体的一个简单例子如下:
这里写图片描述
超立方体中两点之间的距离不是把两点用直线连起来,而是像蚂蚁从一个顶点爬到另一个顶点要走的最短距离。这时,论文作者说在误差为零时,任何一个类中心映射到hamming空间中后必定是要在超立方体的一个顶点上。至于这种映射关系是有多少种?假如hamming码长为b,那么超立方体的定点数就是 2b 个,那么一一映射的话,就共有 (2b)! 个。非一一映射的情况是采用较长的码来编码较少数目的类中心,这有助于区别类中心之间的距离,相似类中心之间距离应该尽可能小,差别很大的类中心之间的距离应该足够大,这正是论文中对hashing技术的理解。

在这种 λ 情况下,必定存在一个解使(3)式达到最小值,大胆推广到其他情况下,那么用数学公式来表示这种一一映射关系就是:
这里写图片描述
写成矩阵形式就是 V=CR ,要求 R 是正交矩阵,因为正交矩阵有一系列好的性质,它可以保持向量模长不变,可以保持各个编码的bit位相互独立(在实现ITQ时先进行PCA投影使得各个维度不相关了),旋转矩阵就是正交矩阵的一种特例。由于可以保持向量模长不变,那么KMH方法就具有了Affinity-Preserving特性。

公式(4)中的1/2是由于 crt 就是c向基 rt 方向做投影,得到投影长度为 12s ,再加上方向,前面加个正负号。 s 是超立方体任何两个顶点之间的距离,之所以不是1而是个变量s,好处是可以在欧氏距离和hamming距离之间建立一个等式,因为欧氏距离变化范围可以很大,而hamming距离是不同二进制位的个数,最大为b,最小为0。 Equan s 的二次函数,在优化Equan时可以求出 s

求一个正交变换R,使得V=CR,这个问题是一个Orthogonal Procrustes problem,可以参考论文[2],本篇论文中解决方法是使用ITQ迭代算法,可以参考博客http://blog.csdn.net/chieryu/article/details/50421556
总之,k-means hashing方法在样本 x,y 之间距离 d(x,y) 和hamming码 ij 之间的距离 dh(i,j) 建立联系,中间是两个近似过程和一个定义过程。数学表达如下:
这里写图片描述
hamming码i和j之间的距离就i xor j,再统计其中bit为1的个数。

三、推广到乘积空间

由于hamming编码的码书计算和存放需要空间,而且b个bit的hamming码最多只能表示 2b 个码字,于是采用论文[3]中的做法,将k-means hashing的方法推广到乘积量化空间。
证明主要过程如下:
这里写图片描述
跟(5)式相同。

四、最优化函数的求导

这里写图片描述
参考文献:
[1]He K, Wen F, Sun J. K-means hashing: An affinity-preserving quantization method for learning binary compact codes[C]//Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on. IEEE, 2013: 2938-2945.
[2]Schönemann P H. A generalized solution of the orthogonal Procrustes problem[J]. Psychometrika, 1966, 31(1): 1-10.
[3]Jegou H, Douze M, Schmid C. Product quantization for nearest neighbor search[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2011, 33(1): 117-128.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值