[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval

总结

GNN实现子图匹配。先初始化边特征,再靠Gumbel-Sinkhorn网络进行排序,最后判断距离确定子图匹配程度。[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval_第1张图片

动机

一般的GNN模型,一方面不能提供边对应关系,一方面评分标准都是对此的,但子图和超图比较本身就是不对称的。为了解决这俩问题实现更好的效果设计了ISONET。

以往工作的限制

  1. 只有点映射
  2. 得分对称
  3. 需要细粒度的监督(这点存疑)
  4. 缺乏可解释性。单纯把图聚合成一个特征能达到效果,但很难进行解释。

本文的贡献

  1. 边对齐的可解释网络
  2. 非对称loss
  3. 粗粒度的监督(只要超图和子图,不需要点和边的直接监督)

定义

符号

无向图\(D=Q \cup C\),其中\(Q=\{G_q=(V_q, E_q)| q \in [|Q|]\}\)是查询图,\(C=\{G_c=(V_c, E_c)| c \in [|C|]\}\)是语料图。

对于查询图,又分相关图\(C_{q\oplus} \subset C\)和不相关图\(C_{q\ominus} \sub C\)。其中\(C_{q\oplus} = C\backslash C_{q\ominus} = \{G_c \in C: G_q {\rm \ is\ relevant\ to\ }G_c\}\)。当\(G_c \in G_{q\oplus}\),则\(y(G_q, G_c)=1\),否则为0。

使用\(G=(V,E)\)表示所有的图。定义点\(u_q, v_q, u_c, v_c\)以及属于任意图的\(u, v\)。邻接矩阵\(A_q, A_c, A\)。图中顶点的排序表示为\(S\),边排序为\(P\)

\({\rm vec}(A)\)表示把A列串联后的向量,\(\otimes\)表示克罗内克积。例子:

[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval_第2张图片

图检索系统

一张查询图\(G_q \in Q\)和语料图集\(C\),图检索系统要返回一个相关性排序。该系统总共两步。

第一步计算两图相关性\(s(G_c|G_q)\)(正相关)或者距离\(d(G_c|G_q)\)(负相关)。

第二步根据这些分数提供\(C\)的排名。

模型部分

点对齐方式

将查询图补全到和语料图一样大后,\(\argmin_S\Sigma_{i,j}[(A_q-SA_cS^{\top})_+]_{i,j}\),其中\((\cdot)_+=\max\{0, \cdot\}\),也就是把对应的点映射到位,没的点屏蔽掉,然后矩阵团成一个值。直观理解就是\(A_q\)肯定比\(A_c\)要小,所以映射完减一下的理想结果是少的点是负的,变0,其它点对应好,也变0 。

文中的说法是,上述方式得到的是更精确的子图匹配,但会有近似匹配的需求,如近义词、结构相似导致性质相似的物质,所以要有node-to-node similarities,也就需要用到embedding:

定义\(h_u \in \mathbb{R}^D\)\(D\)的embedding,所有embedding合一起\(H_q, H_c \in \mathbb{R}^{N \times D}\)

然后就可以把上面的目标转为\(d(G_c|G_q)=\min_S\Sigma_{i,j}[(H_q-SH_c)_+]_{i,j}\)

点对齐的弊端

  • 为所有匹配找到最优\(S\)非常困难
  • 点特征本来就得来自邻居信息,本质上就是加工了边信息变成点信息,之后的实验会证明这样的效果不如直接从边的角度下手

其实说白了就是,子图匹配问题本身就是边匹配问题,点匹配了边不一定匹配,边匹配才意味着两点一线都匹配了。

边对齐方式

靠边来匹配子图最麻烦的就是要把点对应起来。为了这个目的,之前的目标函数要进行改写:

\(\Sigma_{i,j \in [N] \times [N]} [(A_q -SA_cS^{\top})_+]_{i,j}=\Sigma_{k \in [N^2]}[(vec(A_q) - (S \otimes S) vec(A_c))_+]_k\)

也就是把邻接矩阵拍扁了匹配。

这里定义边特征\(r_e\)和边特征集合\(R_q, R_c \in \mathbb{R}^{|E| \times D}\),并重写:\(d(G_c|G_q) = \min_P \Sigma_e[(R_q-PR_c)_+]_e\)。这个式子比老式子好在\(P\)不用是二次项式(那不还是和转点embedding一样吗?)。

之后就需要两组模型,一组训练一个\(\theta\)得到这个方程的解\(P^*\),另一组训练一个\(\phi\)得到\(R_q, R_c\)

找解部分

目标公式中的\(P\)是一个硬解(没有相似度,只有是或不是)。所以要做个软解:\(F_{\theta}(R_q, R_c)\)。找\(P\)的公式就变成了:

\(d_{\theta, \phi}(G_c,|G_q)=\Sigma_{i,j}[(R_q-F_{\theta}(R_q,R_c)R_c)_+]_{i,j}\)

可以把它转成线性的:

\(\max_{C \in [0,1]}\min_P {\rm Trace[C^{\top}(R_q-PR_c)]}\)

其中\(C_{i,j}\)是拉格朗日乘数。相当于是把ReLU换成了矩阵乘法。
这里的转换原因不清楚,甚至还多了个要获取的矩阵。原文说是排除hinge operator上的干扰。对这个概念不清楚。

  • 拉格朗日乘数法:

有n个变量,k个约束条件的最优化问题可以转化为去解一个有n+k个变量的方程组。如求\(f(x,y)\)\(g(x,y)=0\)时的极值,可以变成\(\mathcal{L}(x,y,\lambda)=f(x,y)-\lambda \cdot g(x,y)\)。里面的\(\lambda\)就是拉格朗日乘数。后面分析一下其实可以发现其实和这个概念好像没什么关系,只是个单纯的mask。

  • Trace:

矩阵的迹,及矩阵特征值之和,也是主对角线元素之和。

分析一下这个式子。小括号里的算好是一个\(\mathbb{R}^{|E|\times D}\)的矩阵,且理想情况是上部全是0,下部全是负数。然后左边成一个\(\mathbb{R}^{D \times |E|}\)的原则上用来mask的矩阵,也就是说理想情况下它就是一个mask,及上半部分是1,下半部分是0。

这样一拆分就方便理解为什么取对角线的和了,因为只有对角线的结果才是mask和对应特征的结果,其他位置的都是没对应的。还得找让式子max也好理解了,就是要尽可能mask掉负的值,留下正的值。

现在假设已经可以得到理想的\(C^*=C^*(R_q, R_c)\),问题就转成了:

\(\min_P {\rm Trace}[-P^{\top}C^*(R_q, R_c)R^{\top}_c]\)

能省掉前面部分是因为理想的\(C^*\)会让前半部分变成一个常量,就是查询图的边特征的sum。后半部分是原公式转置之后的结果。

接下来就是计算\(C^*(R_q, R_c)R^{\top}_c\)。先把俩特征矩阵过ReLU激活的linear,再用 Gumbel-Sinkhorn operator做排序。后者是用深度学习实现排序问题,基本思路是学出一个置换矩阵,将离散的排序问题变成连续的学矩阵问题。

这样公式就出来了:

\(F_{\theta}(R_q, R_c) = {\rm GS}(LRL_{\theta}(R_q) \cdot LRL_{\theta}(R_c)^{\top})\)

也就是说直接靠模型实现了边对齐。更具体将\({\rm GS}\)展开的话:

\({\rm GS}(M):=\lim_{t \to \infty} {\rm GS}^t(M), {\rm GS}^0(M)=\exp(M/\tau), {\rm GS}^t(M) = {\rm ColScale}({\rm RowScale}({\rm GS}^{t-1}(M)))\)

过一次幂函数再行归一列归一,拉大差距,最后得到每行或每列求和都为1的双线性矩阵。

边特征嵌入部分

所有点都先初始化一个特征:

\(h_u(0)={\rm INIT}_{\phi}(x_u)\)

然后给个整数\(K\)做迭代:

\(r_{(v,u)}(k-1)={\rm MSG}_{\phi}([h_v(k-1);h_u(k-1)])\\\bar{r}_{(u)}(k-1)={\rm AGGR}_{\phi}(\{r_{(v,u)}(k-1)|v \in nbr(u)\})\\h_u(k)={\rm COMB}_{\phi}(h_u(k-1),\bar{r}_u(k-1))\)

这个MSG应该也是全连接层做的编码。差不多就是两端点特征拼接,映射,聚合邻居,更新

AGGR就是任意聚合

COMB选择的是gated recurrent unit(GRU)

目标函数

\(\min_{\theta, \phi} \Sigma_{G_q}\Sigma_{G_{c\oplus}, G_{c\ominus}}[\gamma + d_{\theta, \phi}(G_{c\oplus},|G_q)-d_{\theta, \phi}(C_{c \ominus}|G_q)]_+\),其中\(\gamma>0\)是超参。

实验

[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval_第3张图片

[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval_第4张图片

[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval_第5张图片

[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval_第6张图片

[AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval_第7张图片

文章没有和DB算法进行比较

你可能感兴趣的:([AAAI 2022]Interpretable Neural Subgraph Matching for Graph Retrieval)