首页 > 其他分享 >[AAAI 2022]Graph Convolutional Networks with Dual Message Passing for Subgraph Isomorphism Counting

[AAAI 2022]Graph Convolutional Networks with Dual Message Passing for Subgraph Isomorphism Counting

时间:2022-09-22 16:01:19浏览次数:64  
标签:Convolutional 线图 Isomorphism 映射 top 2022 mathcal hat gamma

总结

GNN实现子图匹配。利用线图(边变点)让模型训练时将点和边的特征反复映射到对方领域参与训练。

定义

常规符号

Graph, Edge, Vertex,。X, Y表示点标签和边标签 :\(\mathcal{G}, \mathcal{E}_{\mathcal{G}} \subseteq \mathcal{V}_{\mathcal G} \times \mathcal{V}_{\mathcal{G}}, \mathcal{X}_{\mathcal G}, \mathcal{Y}_{\mathcal G}, \mathcal{V}_{\mathcal G_{S}} \subseteq \mathcal{V}_{\mathcal G}\)
当子图\(\mathcal{G}_S\)完美匹配\(\mathcal{G}\)时:
\(\mathcal{E}_{\mathcal G_{S}} \subseteq \mathcal{E}_{\mathcal G} \cap (\mathcal{V}_{\mathcal G_S} \times \mathcal{V}_{\mathcal{G}_S}), \mathcal{X}_{\mathcal G_S}(v)=\mathcal{X_{\mathcal G}(v)} \forall v \in \mathcal{V}_{\mathcal G_S}, \mathcal{Y}_{\mathcal G_S}(e)=\mathcal{Y_{\mathcal G}(e)} \forall e \in \mathcal{E}_{\mathcal G_S}\)
就是匹配的时候,子图所有边都在大图里,且点和边的标签都能对上。

定义中还涉及线图的概念。线图(line graph)也称作 edge-to-vertex dual graph。简单来说,就是把边转成点。如果两边原本相邻,就把新转出的点相连。换句话说是线的图,也是种边-点对偶转化后的图。

图映射

还有两个图相关映射

  • 子图匹配映射(Isomorphisms):当\(\mathcal{G}_1\)的子图\(\mathcal{G_1}_{S}\)中所有边通过\(f:\mathcal{V}_{\mathcal{G_1}_S} \to \mathcal{V}_{\mathcal{G_2}}\)可以映射成\(\mathcal{V}_{\mathcal{G_2}}\)就认为\(\mathcal{V}_{\mathcal{G_2}}\)是\(\mathcal{V}_{\mathcal{G_1}}\)的子图
  • 线图映射(Edge-to-vertex Transforms):\(g:\mathcal{E}_{\mathcal{G}} \to \mathcal{V}_{\mathcal{H}}\),并方便起见将\(\mathcal{G}\)映射而来的线图\(\mathcal{H}\)写作\(L(\mathcal{G})\)

同构和 Edge-to-vertex Transforms

  • 如果两图同构,则他们的线图也肯定可以相互映射
  • 惠特尼同构定理:四点以上连通图的同构图和它的线图的同构图之间存在一一对应关系
  • 带有反向连通(变无向图了)有向异构图的同构图和线图的同构图和它的线图的同构之间存在一一对应关系
  • 部分反向的连通有向异构图的同构图和它的线图的同构之间存在一一对应关系

Dual Message Passing Neural Networks

可以知道,原始图上找同构等价于在它线图上找同构。这节就是介绍设计的原始图、线图双向传递的模型。这个模型甚至传递扩展到了异构多图上。

  • 对于有n个点m条边的有向图来说,\(A_{\mathcal{G}} + A^{\top}_{\mathcal{G}} = D^+_{\mathcal{G}} + D^-_{\mathcal{G}} - B_{\mathcal{G}}B^{\top}_{\mathcal{G}}\)。其中\(B_{\mathcal{G}} \in \mathbb{R}^{n \times m}\)。如果一个点是某条边的终点就为1,如果是起点就为-1,不然就是0。特别的,如果是无向图就会有\(B_{\mathcal{G}}B^{\top}_{\mathcal{G}}=2(D_{\mathcal{G}}-A_{\mathcal{G}})=2L_{\mathcal{G}}\)
  • 对于有向图,\(A_{\mathcal{H}}+A^+_{\mathcal{H}}=\hat{B}^{\top}_{\mathcal{G}}\hat{B}_{\mathcal{G}}-2I_m\)。这里的\(\hat{B}_{\mathcal{G}} \in \mathbb{R}^{n \times m}\)中,如果一个点连了一个边就是1。如果是无向图,就会有\(A_{\mathcal H}= \frac{1}{2}\hat{B}^{\top}_{\mathcal G}\hat{B}_{\mathcal G}-I_m\),同样的还有拉普拉斯矩阵:\(L_{\mathcal H} = D_{\mathcal H}-A_{\mathcal H} = D_{\mathcal H} + I_m - \frac{1}{2}\hat{B}^{\top}_{\mathcal G}\hat{B}_{\mathcal G}\)

最终的卷积网络:
\(h^{(k)} \gets (\theta^{(k)}_0-\theta^{(k)}_1)h^{(k-1)}+\frac{\theta^{(k)}_1}{\lambda_{\mathcal G\max}}B_{\mathcal G}z^{(k-1)}\)
\(z^{(k)} \gets (\gamma^{(k)}_0 - \gamma^{(k)}_1)z^{(k-1)}+\frac{2\gamma^{(k)}_1}{\lambda_{\mathcal H\max}}(D_{\mathcal H}+I_m)z^{(k-1)}-\frac{\gamma^{(k)}_1}{\lambda_{\mathcal H\max}}\hat{B}^{\top}_{\mathcal G}h^{(k-1)}\)
其中\(\theta, \gamma\)都是不断迭代更新的参数,点和边的权重值\(h^{(k)}\in \mathbb{R}^n, z^{(k)}\in \mathbb{R}^m\)是更新完的结果,\(\lambda\)是拉式矩阵最大的特征值,其实就是归到[-1,1]。

分析一下两个式子。其实就是靠B把点和边的权重来回映射,然后不断迭代。

对于异构图

\(H^{(k)}=H^{(k-1)}W^{(k)}_{\theta_0}-(\hat{B}_{\mathcal G} - B_{\mathcal G})Z^{(k-1)}W^{(k)}_{\theta^-_1}+(\hat{B}_{\mathcal G} + B_{\mathcal G})Z^{(k-1)}W^{(k)}_{\theta^+_1}\)
\(Z^{(k)}=Z^{(k-1)}W^{(k)}_{\gamma_0}+2(D_{\mathcal H}+I_m)Z^{(k-1)}(W^{(k)}_{\gamma^-_1}-W^{(k)}_{\gamma^+_1})-(\hat{B}_{\mathcal G} - B_{\mathcal G})^{\top}H^{(k-1)}W^{(k)}_{\gamma^-_1} + (\hat{B}_{\mathcal G} + B_{\mathcal G})^{\top}H^{(k-1)}W^{(k)}_{\gamma^+_1}\)
区别就是把之前的权重扩成了特征值来表征异构信息,再区分进出度(两B相减是出度,相加是入度)

loss

\(\mathcal{J}=\frac{1}{|\mathcal{D}|}\Sigma_{(\mathcal{P, G})\in \mathcal{D}}((\mathcal{c_{P,G}-p_{P,G}})^2+\Sigma_{v \in \mathcal{V_G}}(\mathcal{\omega_{P,v}}-P_{\mathcal{P,v}})^2)\)
c开头是下标第二个在第一个中出现的频率,p是预测结果。

实验

数据集

image.png

结果

image.png
image.png

模型还可以做点分类,要用交叉熵调整loss,不赘述。

标签:Convolutional,线图,Isomorphism,映射,top,2022,mathcal,hat,gamma
From: https://www.cnblogs.com/yujianke/p/16719607.html

相关文章

  • 省选联考2022
    省选联考2022先挖个坑,以后再来补(upt2022.9.22:补了d1t2和d2t2。预处理器小模拟,开\(2\)个\(\text{map}\),一个记录定义的变换,一个记录在本次变换中是否已经经过。......
  • 报告分享|2022虚拟数字人综合评估指数报告
    报告链接:http://tecdat.cn/?p=28655报告指出,随着互联网软硬件技术发展逐步成熟,在“元宇宙”概念成为热点的同时,虚拟数字人产业也进入“爆发期”。但无论从技术整合、场景......
  • 前端开发人员完整路线图 2022
    前端开发人员完整路线图2022FrontendDeveloperCompleteRoadmap2022什么是前端开发人员?前端开发人员是从头开始开发和构建网站设计或在网站中实现新功能的开发人员......
  • 13 刘欣晨 2022.9.15
    实验 一 项目名称:判断输入的是不是黄蓉所说的数实验内容:print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")number=int(input("请输入您认为符合......
  • Jenkins 20220921笔记本1
                            ......
  • [20220909]bbed关于删除记录恢复的问题.txt
    [20220909]bbed关于删除记录恢复的问题.txt--//快下班被别人问的关于删除记录使用bbed恢复的问题,我开始以为很快讲解完,删除记录oracle仅仅打上一个标识,实际的记录还存在......
  • Test 2022.09.21
    今天是\(JSOI2010\)专场T1满汉全席(2-SAT)比较生疏的知识点,当时看着一眼就觉得是图论,甚至想到了最大流,但是因为建不来图,被迫去打了暴力,然而只得到\(10pts\),事实证明我的想......
  • VS2022+OpenGL:安装
    EBU7405-3DGraphicsProgrammingTools的要求罢嘞,除了自带的GL只安装GLUT;参考的老师的文档安装VSCODE下载VSCode预览版下载地址稳定版下载地址选择组件修改......
  • 20220921 模拟赛
    T1彩票\(n\leq10^5\)。发现三等奖有三种情况,一等奖和二等奖却都只有一种情况,感觉很烦,考虑暴力做掉三等奖的彩票号码,直接三重循环枚举,这一部分消耗\(O(\dfrac{100^3......
  • springboot+Flink(读取kafka并存入Mysql)20220921
    1、mysql数据库test 2、kafka创建主题student  3、pom.xml<properties><java.version>1.8</java.version><project.build.sourceEncod......