GCNH:Graph Convolutional Network Hashing 阅读笔记

GCNH:Graph Convolutional Network Hashing 阅读笔记

摘要:最近,基于图的通过亲和力图学习保持相似性的二进制码的哈希算法在大规模图像检索中得到了广泛的研究。然而,大多数基于图的哈希方法诉诸于棘手的二进制二次程序,使它们无法扩展到大量数据。在本文中,我们提出了一种新的基于图卷积网络的哈希框架,称为GCNH,它直接在图像集和图像集上建立的亲和图上进行光谱卷积操作,自然产生保持相似性的二进制嵌入。GCNH与传统的图哈希方法有根本的不同,后者采用亲和图作为目标函数中唯一的学习指导来追求二进制嵌入。作为GCNH的核心成分,我们引入了一个直观的非对称图卷积(AGC)层,同时卷积锚图、输入数据和卷积滤波器。利用AGC层,GCNH很好地解决了利用关联关系图进行哈希时的可扩展性和样本外扩展问题。作为我们的GCNH的一个用例,我们特别研究了本文中的半建议哈希场景。在CIFAR-10、网络范围和图像网络数据集上的综合图像检索评估表明,在有限的标记数据下,GCNH与最先进的方法相比具有一致的优势。

主要困难:(1)以前的大多数工作都研究了只有几百个节点的图。考虑到整个图的空间复杂度相对于n个数据点是O(n2),GCNs很难扩展到大量的数据集,这是应用哈希技术的主要场景。(2)利用GCNs来解决哈希问题的另一个困难是样本外扩展的问题。由于转换性质,图中的所有数据点都应该在训练阶段出现。对于看不见的查询,它无法处理独立的数据点并预测其哈希代码。

贡献:我们提出了一种新的GCNH方法,它可以学习有效但短的保持相似度的二进制码。与以往的方法不同,GCNH的核心图卷积层直接对亲和图进行光谱卷积操作,使生成的低维二进制嵌入可以自然地保持原始数据之间的相似性。2)我们介绍了一种新的AGC层,它卷积锚图、输入数据和卷积滤波器。AGC层很好地解决了以前GCN模型的可伸缩性和示例外扩展问题。3)我们将GCNH应用于SSH场景,并证明了所得到的哈希机制既是可伸缩的,并且能够在只给定少量标记数据点的情况下生成保持相似性的二进制代码。

方法

模型图:

GCNH:Graph Convolutional Network Hashing 阅读笔记_第1张图片

算法流程图:

GCNH:Graph Convolutional Network Hashing 阅读笔记_第2张图片

图构建:

这里,Zij是一个n*p的矩阵,n是数据点的个数,p是锚点的个数。如果xi是有标签数据,集合M指的是xi与ai标签相同(因为每条数据最多只有一个标签)。如果xi是无标签数据,集合N(xi)指的是xi的s最邻近锚点(s是超参数,论文中取的是5)。然后再把Z矩阵行归一化(可能是每个元素除以此行之和)。至于瞄点的选取,可以用K-mean聚类获得,作者发现,随机选取锚点也能取得满意的效果。

图卷积:

GCNH:Graph Convolutional Network Hashing 阅读笔记_第3张图片

这里,H(0)是输入特征X(n*d维),\widetilde{A}是A的归一化矩阵(A是p*p维),其中,Aij=1,表示ai与aj至少有一个共同标签,否则为0.其反应的是锚点与锚点之间的关系。前两层激活函数为relu,第三层为tanh

网络设置:

GCNH:Graph Convolutional Network Hashing 阅读笔记_第4张图片

损失函数设计:

这里,W是全连接的参数,BlW相当于预测的标签。

GCNH:Graph Convolutional Network Hashing 阅读笔记_第5张图片

测试阶段:

实验

1.实验设置

批大小为120,40个有标签数据,80个无标签数据。600个锚点,最邻近锚点数为5个。

2.参数敏感性实验

作者对三个loss的系数进行了敏感性实验,结果发现模型对\gamma并不敏感。另外,作者提到:“对于这三个约束条件,更大的惩罚会将辅助变量U严重推到−1和1,也就是说,激活函数的斜率变得平坦。这意味着梯度变成了0,这就是梯度消失的问题。因此,该模型并没有受过良好的训练”

GCNH:Graph Convolutional Network Hashing 阅读笔记_第6张图片

3.收敛性分析:

作者的训练时间比深度学习方法的略少,但测试时间稍长(论文中图7)。

4.有标签数据和无标签数据的比例

随着有标签数据的增多,MAP反而下降,作者认为:“一批中更多的标记数据将使网络更多地依赖于标记数据和根据类别定义的非对称邻接矩阵,而更少地依赖于根据距离度量定义的邻接矩阵。然而,在测试阶段,非对称邻接矩阵都是根据距离度量来定义的,因为类别信息是不可用的,这与训练阶段有很大的不同。因此,我们认为更批标记的数据会导致网络过度拟合,并导致性能下降”。

GCNH:Graph Convolutional Network Hashing 阅读笔记_第7张图片

5.锚点个数和邻居数的影响

GCNH:Graph Convolutional Network Hashing 阅读笔记_第8张图片

6.滤波器大小的影响

MAP随滤波器大小先升后降,太大就过拟合了。

GCNH:Graph Convolutional Network Hashing 阅读笔记_第9张图片

7.锚点选取方式的影响

用K-means聚类取锚点稍微高些,但特别费时间。所以作者认为随机取就够了。

8.GCN层数的影响

作者提高GCN的层数,发现MAP反而下降,因此作者用了残差网络,但训练时间稍微长了点。

GCNH:Graph Convolutional Network Hashing 阅读笔记_第10张图片

GCNH:Graph Convolutional Network Hashing 阅读笔记_第11张图片

结论

在本文中,我们促进了GCNs学习语义/保持相似度的二进制嵌入。为了解决GCN的可扩展性和样本外扩展问题,我们提出了一种利用数据锚的新AGC层,有效地堆叠到GCNH框架中。GCNH框架已成功应用于解决SSH(semisupervised hashing)问题。大量的实验证实,GCNH在大规模图像检索中的性能显著优于最先进的哈希方法。

你可能感兴趣的:(跨模态检索,深度学习,机器学习,python)