【论文逐句精读】SimGNN,图网络的标准处理流程+NTN/PNC实现快速图相似度匹配

SimGNN是一种利用图神经网络进行图相似度计算的方法,旨在解决传统方法的时间消耗问题。论文提出了图级嵌入交互和节点对比较两种策略,结合GCN进行节点和图的嵌入表示,并利用注意力机制处理节点重要性。实验表明,SimGNN在图相似度检测上表现优秀,尤其在捕捉局部结构差异方面有优势。

原文链接:SimGNN

手动防爬虫,作者优快云:总是重复名字我很烦啊,联系邮箱daledeng123@163.com

阅读前的建议

有GCN基础。配套理论资料:手撕图机器学习,图神经网络
至少完成DeepWalk精读,对节点嵌入有一定理解:DeepWalk论文精读Node2Vec论文精读

背景知识

SVD分解

在大图中,一个节点嵌入矩阵储存的表往往非常庞大,非常不利于后续计算。恰巧在NLP推荐系统方向,通常会使用一种奇异值分解的方法(SVD)来降低大表的维护成本和计算开销。假设这里由1000万的用户,100万个商品,那么如果需要用一张表去统计每个用户对每个商品的喜好程度,那么这张表是一张[1000万,100万]的庞大稀疏表,因为不可能每个用户都对这100万个商品有偏好,如果这个用户就喜欢那么3 4个,那么剩下999996个都是0。对这张表去做用户推荐和信息挖掘,非常困难。
因此,工业界采用的方法是,维护这一张表改成维护[1000万, k][k,100万]两张表,这里的k是一个隐藏关系值,表示用户和商品之间可能存在k个影响因素。假设这里k=10,那么只需要维护[1000万, 10][10,100万]两张表,对于这两张表的计算,首先下降了几个数量级,并且稀疏性也得到了良好改善。或者换个例子,城市有100万人想要购房,有1000万套房,难道让这100万人去挨家挨户看吗,显然过于困难,这个时候安排100个中介去做这个事,那么整件事情的完成效率和质量都会高很多。
因此,在SVD中,最核心的就是找到一个合适的K值,让大表计算变成小表维护。

论文精读

Title and Authors

在这里插入图片描述
这是2019年发表在wsdm数据挖掘和信息检索顶会上的一篇论文。论文的题目是SimGNN: A Neural Network Approach to Fast Graph Similarity Computation。可以看出论文有两个重点,第一个是图相似度检测,第二个就是fast,即如何快准狠的实现。

作者是来自加州大学洛杉矶分校,普渡大学和浙大的研究人员。Yunsheng Bai和国内很多知名高校都联合发表过图相似度的文章。但目前技术的瓶颈仍然在大规模数据的产生和处理上(没有统一的规范,类似早期人工特征工程一样群魔乱舞)。

Abstract

在这里插入图片描述
作者首先列举了图相似度的一些应用,并且说传统图匹配方式往往是通过一些连接结构(距离、邻居)去对比,现在图神经网络发展之后,图相似度应该有其他办法。
第二段,作者说想要匹配图相似度,首先需要把图表示成一个向量,即图嵌入,然后对比两个向量的相似度即可;其次,作者认为同样需要对节点做嵌入,这样可以更好的挖掘信息。至此,全文最核心的两件事已经指明:如何把图表示成向量,如何把点表示成向量。

Introduction

在这里插入图片描述
首先,作者介绍了图的相似性计算问题。传统的图编辑距离GED和最大公共子图MCS方法1、耗时;2、无法计算大图。
在这里插入图片描述
为了解决这两个问题,目前提出了一些方法。第一种方法,修剪-验证框架。说白了,既然不能计算大图,那就想办法把图变小。通过一系列数据库索引技术和修剪策略,可以将查询的精确图相似度计算总量减少到可处理的程度。但是作者认为,这种方法依然没有简化时间复杂度。第二种方法,直接降低图相似度计算的成本。这种方法并不是想办法计算的更加精确,而是从数学的角度更快去发现近似值,然后停止迭代计算。但是这些方法通常需要基于离散优化或组合搜索进行相当复杂的设计和实现。作者认为时间复杂度依然没有改变。
在这里插入图片描述
为了实现快速计算,作者提出了一种SimGNN的算法。这里介绍了训练阶段,预测阶段怎么做。后面算法再展开讲。
在这里插入图片描述

这种嵌入的方法应该满足三个条件:
(1)表示不变性。对于一张图,无论邻接矩阵如何变化,表示出来的向量应该是稳定的;
(2)归纳性。对于一张未见全貌的图,也应该可以进行向量表示;
(3)可学习性。这点其实也是普适性的一种说法,即应该对任何的图问题都可以做。

在这里插入图片描述
首先设计了一个可学习嵌入函数,将每个图映射到一个向量中,提供了一个全局摘要(图嵌入)。其次,我们设计了一种成对节点比较方法来补充具有细粒度节点级信息的图级嵌入(节点嵌入)。该模型在未见过的图上实现更好的泛化。
在这里插入图片描述
这一大段其实就是吹牛逼,基于图嵌入和节点嵌入,这个模型乱杀其他模型。

2 Prelimiaries

2.1 Graph Edit Distance(GED)

在这里插入图片描述
作者首先介绍了GED的做法。GED其实就是把图转化为最优中心对齐的次数。
在这里插入图片描述
论文举例,这幅图需要经过三次编辑。这里的编辑操作只能是插入或删除顶点/边缘或重新标记。

2.2 Graph Convolutional Networks(GCN)

在这里插入图片描述
关于这部分的解释,可以参考手撕图机器学习,图神经网络中GCN部分。个人感觉作者的2.1和2.2写的都过于简单,并没有解释的很清楚。

3 The proposed approach: SimGNN

在这里插入图片描述
作者提出SimGNN,首先说他是一个end-to-end模型,即端到端格式,其实神经网络几乎都是end-to-end,这个模式表示一条龙服务,即输入到输出全自动,不需要自己再操作什么。至于SimGNN,作者提到,是输入一对图,然后输出他们的相似度得分。

3.1 Strategy one: Graph-Level Embedding Interaction

在这里插入图片描述
作者这里讲了具体4步应该怎么做。第一步,就是节点嵌入;第二步,是图嵌入。注意这里作者使用了attention-based这样一个表达,如果看过手撕图神经网络部分,应该知道,图网络中的注意力机制,本质上就是对邻接矩阵做了加权处理。所以本质上也不难、第三步和第四步就是输入向量计算相似度得分。因此,核心仍然是1和2两步。
在这里插入图片描述
点嵌入,其实就是GCN。
在这里插入图片描述
图嵌入部分。作者提到,图是由一系列点构成的,而点已经被表示成向量了。在这种情况下,计算方式可以非常简单,例如一张图ABC三个节点。那么图向量可以用 ( V e c t o r a + V e c t o r b + V e c t o r c ) / 3 (Vector_a+Vector_b+Vector_c)/3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总是重复名字我很烦啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值