Neural Subgraph Isomorphism Counting学习笔记


用GNN来做子图同构统计的第一篇论文,需要关注的点主要在问题定义、合成数据、寻找同构的网络这三点上。

问题定义

给定一个小图(pattern)和一个大图(graph),统计graph中与pattern同构的子图数量。
用GNN来做的优势在于能够在可接受的误差范围内以更快的速度解决这个问题。

解决方案

Graph Model

Graph Model的作用是对pattern和graph进行编码,得到新的representation: V p , V g Vp, Vg Vp,Vg,作为模型的输入。
这部分作者尝试了GIN和RGCN两种模型,因为这两种模型都能较好地挖掘图中的关联性信息。GIN和Multilayer Perceptrons以及 sum aggregator一起使用的效果会更好,作者命名为RGIN,也是本文中效果最好的Graph Model。

Dynamic Intermedium Attention Memory

在得到pattern和graph的Representation之后,将其输入DIAM来统计isomorphism数量。
如果直接使用朴素的attention来解决这个问题,其时间复杂度为:在这里插入图片描述作者在这里创建了一个新的网络结构DIMA,使用额外的memory作为中介,保证在处理pattern时有graph的信息,处理graph时有pattern的信息,并且时间复杂度只需在这里插入图片描述,从而保证了在大图上也可应用。

在这里插入图片描述
在这里插入图片描述

合成数据

除了使用现有数据集MUTAG外,更主要的是作者自己生成了合适的pattern-graph数据。pattern可以直接用generator生成。graph则是通过先用generator生成很多个彼此独立的小图,这些小图(的子图)中很可能有就有与pattern同构,然后将这些小图相连构成一个大图同时保证在相连过程中不会导致新的与pattern同构的子图产生。这样就可以只在小图中寻找pattern的同构子图统计数量了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值