摘要
现有的在线哈希方法主要应用于单视角的数据。
所以我们提出了动态多视角哈希方法,
它有四大特点:
1,可以根据图片的动态变化适应性地增加哈希码的长度。
2,当现有的编码不能表示新的图片的时候,可以增加哈希码的长度。
3,每一个视角都被赋予了一个权重,并且可以通过在线学习的过程有效地更新。
4,一个巧妙的缓冲区策略可以保存重要的数据,来保持DMVH的有效性。
DMVH两大重要贡献
现有模型的两个缺点:
1,现有的在线学习策略学习固定长度的哈希码。
2,现有的在线学习策略没有为不同的视角估计最优的权重。
所以我们有两大贡献:
1,当新的图片插入到数据集的时候,哈希码的长度可以灵活地增长。
2,我们还可以为不同的视角估计合适的权重。
提出方法
- 说明我们的变量:
输入的多视角数据:
生成的哈希码数据:
生成的字典:
- 总体公式:
- 在线学习公式:
............................................................(1)
这个公式可以转化成:
其中,
注意,这个是这一个插入的数据与字典中所有数据的内积,
表示这一个插入的数据。
通过求导为0,可以得到 的公式:
其中,
将 带入到(1)中,可以得到:
- 动态字典更新与缓冲区策略:
如果前 t-1 个数据生成的字典为,那么第t个数据用这个字典表示的损失函数为:
缓冲区策略:如果这个损失函数过大,说明这个字典不能表示第t个数据(也就是字典与这个向量线性无关):.
这时就把这第t个数据存到缓冲区里面,继续下一个数据。这时如果缓冲区满了,就从里面选择拥有最大损失的样本b,然后删除
缓冲区内一半的数据。
怎么处理选出的样本b呢?就把它加到字典里面:
.
总体的损失函数就可以表示为:
.......................................................(2)
注意,这里的 表示加入b之后的字典,如果我们把让
,那么整个式子就变为
其中扩展字典后,变量的变化如下:
其中, 就是扩充的那一个数据对原字典中的每一个向量做内积,
就是扩充的那一个数据与自己做内积。
是 t-1 个数据中的每一个都与字典做内积,后面加上
的意义就是再加上这t-1个元素再与这个加入字典的
数据做内积。
两个定理
- 引理一
如果 ,则下列的式子成立:
证明:
同理,
- 定理一
目标函数的值将会下降,如果我们设置
,并且
证明:已知
,
是满足的,如果
.
而通常的损失都很高,即
.
最终我们就有
,其中后一项式子是包括b样本的。
对于α的优化
对式子2采用拉格朗日乘子,就可以得到:
其中,
检索策略
对于图片查询,生成的哈希码可以定义为:
对于文本查询,生成的哈希码可以定义为: