读《Graph Matching Networks for Learning the Similarity of Graph Structured Objects》

2019

摘要

通过新的基于交叉图注意力的匹配机制对输入的一对图进行联合推理,计算它们之间的相似度得分

1.引言

现有的GNN通过迭代聚合局部结构信息的传播过程设计和计算图节点表示,对图元素的排列保持不变
(这句话语法分析看着好怪,词性真的没用错吗)

Scarselli et al., 2009;
Li et al., 2015;
Gilmer et al., 2017

然后将这些节点表示直接用于节点分类,或汇集到图向量中进行图分类。
GNN 对监督分类或回归之外的问题的研究相对较少。

主要任务:

  1. 证明GNN可以为相似性学习提供嵌入
  2. 设计GMN计算图间相似匹配

2.相关

提出GNN与WL研究图同构(相同)与本文要研究图相似有区别

全图同构或子图同构(Berretti et al., 2001; Shasha et al., 2002; Yan et al., 2004; Srinivasa & Kumar, 2003)

——————
(这一段倒是总结了不少图核的论文)
不过也提出图核更重于设计,基于图论,没有基于学习,不端到端

(Yanardag & Vishwanathan, 2015)
引入了学习,但基本元素还是手工设计的

————————
Siamese网络可通过网格化计算相似度

3.深层图相似计算

采用标准GNN和本文的GMN

3.1 图嵌入模型

这里GNN包括三部分

  • 编码器
  • 传播层
  • 聚合
编码器

通过MLP构造节点和边的嵌入向量h和e

传播层

将节点嵌入映射到新的节点表示
在这里插入图片描述
其中fmessage 通常是对输入拼接做MLP,而 fnode 可以是 MLP 或RNN系列
绝活这些信息可以用简单的求和,也可以用均值,最值,注意力等

通过多层传播,每个节点的表示将在其局部邻域中积累信息。

聚合

输入一系列节点表示计算出一个图表示
在这里插入图片描述
通过上述带有门控权重的聚合方法,可以滤波掉无关信息,这比上面说的求和等方法强得多

有了两个图的表示就可以在欧式空间计算相似度了,比如欧氏距离,余弦相似度,汉明相似度等

如果没有传播层就是

Deep Set (Zaheer et al., 2017) or PointNet (Qi et al., 2017)

计算独立点的表示,再池化到整个图上,但这样就忽视了结构信息,单纯在处理一堆独立数据

3.2 GMN

相比起GNN单独对每个图搞成嵌入,GMN是针对每对图计算相似度

改变每个传播层的节点更新模块,不仅考虑之前每个图边上的聚合信息,而且考虑图间匹配向量,用来衡量一个图中的节点与另一个图中的一个或多个节点的匹配程度
在这里插入图片描述
这里fmatch可以用注意力机制
在这里插入图片描述
相比起GNN,GMN在时间上开销多了些

注意力模块有两个好处:

  • 两图完美匹配时,注意力权重达到峰值,μ的和为0,这样两图在下一轮传播中会计算相同的表示
  • 图间差异会记录在μ的和中,通过传播逐渐放大,可以让匹配模型对差异更加敏感

匹配模型可以基于其他图来改变当前图的表示,也即调整图的表示使得图间差异愈发明显便于匹配

3.3 学习

可以选择成对训练,还是三元训练
成对训练需要标签positive (相似) or negative (不相似)
而三元训练只需要相对相似,即 G1 更接近 G2 还是 G3

使用欧式相似度,基于边缘的成对损失
在这里插入图片描述
其中t ∈ {−1, 1}作为这一对图的标签,γ > 0是边缘参数,d是欧氏距离
当这一对相似(t=1)时,损失L收敛到0会让d< 1−γ;当 t = −1 时,d> 1+γ。

给定 G1 和 G2 比 G1 和 G3 更接近的三元组,我们优化以下基于边距的三元组损失:
在这里插入图片描述
损失收敛到0可以通过边缘γ让d(G1, G2)比d(G1, G3) 小

将图表示成二进制-1或1,可以最小化相似对的汉明距离,最大化不相似对的距离(扩大类间距,缩小类内距的方法吗?)这样可以提高检索效率
于是可以引入tanh变化优化损失函数
在这里插入图片描述
其中在这里插入图片描述
是近似的平均汉明距离(有点像多图递归矩阵补全代码里的那个损失函数处理)这样会比基于边缘的损失更稳定

4.实验

4.1 GED

GED被定义为图间最小距离,因为是NP难所以近似(但是既然近似计算相似度的这些算法里没有用到GED或者其思想,那为啥还要说它呢,不就和它没关系吗?)

训练过程:
随机构造一个n节点,边概率p的图G1,然后再随机替换kp条边为新边构造相似样本G2,替换kn条边构造不相似样本G3,kp<kn(原来如此,代码里构造数据集的过程类似于GED,这不是NP难吗,怪不得运行不出来?)模型需要预测相似对(G1,G2)的相似度高于不相似对(G1,G3)

对于 GMN,可以将图间注意力可视化,以进一步了解它是如何工作的。
在这里插入图片描述
可以看到,当两个图匹配时,注意力权重可以很好地对齐节点,而当它们不匹配时,往往会关注度数较高的节点。 然而,该模式不像标准注意力模型那样具有可解释性。

5.总结

从相似性学习设置中学习的表示也可以轻松地泛化到训练期间未见过的类的数据(零样本泛化)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值