Pairwise Relationship Guided Deep Hashing for Cross-Modal Retrieval

Pairwise Relationship Guided Deep Hashing for Cross-Modal Retrieval(PRDH)论文阅读笔记。

image-20180913110303751

AAAI 2017

本文提出了基于数据对关系的深度哈希方法,能同时学习每个模态的特征以及哈希码,并且将其整合到一个端到端的框架之中,还加入了模态间模态内的基于关系对的约束,此外,本文还引入了去关联约束(decorrelation constraints),来提高每个哈希bit的辨别能力。

模型

image-20180913111606622

  • 训练集: 分别表示图像和文本数据
  • 相似矩阵: 表示 相似, 表示不相似
  • 为两个模态数据分别学习一个哈希函数 ,生成长度为 的哈希码

深度框架

对于图像模态,本文使用 VGG-F 网络,并将其 fc8 层用一个有 个结点的 fch 哈希层代替。

对于文本模态,使用由 3 个全连接层构成的多层感知机,并将最后一层做与图像模态一样的处理。

哈希码学习

为了更好地保留训练样本的语义相似度,本文的目标函数包含 4 个部分

  • 不同模态间基于对的损失
  • 相同模态内基于对的损失
  • 去相关损失
  • 正则项损失

基于对的损失使得相似对的相似关联更强,而不相似对的关联更弱,本文使用负对数似然来度量这样的联系。

假设图像网络的输出的哈希码为 ,文本网络的哈希码输出为 ,相似标签 ,似然函数定义如下:

其中 。因此,不同模态间基于对的损失定义如下:

很容易看出,优化上述的损失函数,可以使得两个相似的实例之间的Hamming距离减小,不相似的实例之间的距离增大,所以,这样可以很好的保留不同模态数据的语义相似度。

此外,还需要每种数据在自己的模态中有很好的判别能力,来保留模态内的语义信息,所以,有必要给每个模态加一个模态内基于对的损失。

图像模态内基于对的损失如下:

其中

同样的,文本模态内基于对的损失如下:

其中

值得注意的是,如果哈希码中一些不同的位(bit)有着很高的关联度,举例来说, 在所有实例上同时变化,则这些位就有着重复的信息。为了让哈希码的每一位提供的信息最大,本文为每个模态的不同哈希位之间都加入了去关联约束:

其中

  • 是位 和 位 在图像数据的 batch 上的协方差矩阵,
  • 是 batch 上实例的第 个特征(位)的均值
  • 是 batch size
  • 的定义类似

为了能够在网络上进行梯度下降,将两个模态的 放松到实值。

为了更好地理解去关联约束,考虑图像模态下对一个样本 的一个特定的哈希位 的梯度:

将上式右边的项记为 ,当第 位对样本 有着很高的判别性时,该项值(绝对值)就会较大,否则就会接近 ,所以 可以看做是“重要度”因子。左边的项就是哈希位 a 和哈希位 的协方差,上述梯度可以重写为:

对样本 很重要并且与 关联度高时,上述梯度的值就会变大,哈希位 的激活就会受到抑制。

文本还加入了正则项约束,能够减少量化损失,保持哈希码的平衡:

其中 是两个模态的联合哈希码。

总的目标函数如下:

优化算法

固定 $\theta_x$ 和 $\theta_y$ 优化 $\mathbf{B}$

固定时,目标函数可以写为:

其中 ,可以得到上式的最优解为:

优化 $\theta_x$ 和 $\theta_y$

固定其他参数的情况下,分别使用SGD,通过BP算法优化。

在训练数据对的采样中,传统的方法是在一个 batch 中采样数据对,这样一个迭代得到的数据对最多有 ,文本中训练集数据的选择保存在一个矩阵中,每次选择的数据是 batch 和整个数据集的结合,每个迭代可以得到 个数据对。由于 ,相同的 batch size,更多的数据对被用来训练,所以可以更有效地进行优化,使得模型对噪声和离群点更加鲁棒。

最终的算法如下:

image-20180913155711683

实验

详见论文。

此时不赞何时赞!