图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)

本文深入探讨了图匹配的概念,包括精确与非精确匹配,并介绍了图的描述方式,如四元组表示法。文章阐述了图匹配的定义、两种形式化方法以及松弛与求解策略,如谱松弛、半正定规划和双随机松弛。此外,还讨论了提高匹配效果的策略,如学习关联矩阵和高阶图匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章本身是图匹配经典论文《Factorized Graph Matching》的阅读笔记,后来发现该文介绍并串联了许多图匹配相关的知识,甚至可以看作一个小小的综述性文章,因此就作为图匹配的学习笔记了。因为笔者本人才疏学浅,对于图匹配也是刚刚开始接触,所以文章内容难免存在纰漏和错误,也欢迎各位朋友批评指正。

图匹配的定义与形式化

在这里插入图片描述

什么是图匹配?

  如图(a)所示,图匹配就是将两个图中的各个节点一一对应起来,不仅要求匹配的节点相似度高,而且要求节点之间的连线,也就是边的相似度也要高。图匹配问题可以分成两个类别,一个是精确图匹配(Exact Graph Matching),其要求每个节点和对应的边都准确的与另一个图匹配对应,且相似度达到最高。这个约束是非常严格的,求解的难度很大,而且在实际应用中也很少存在这种情况,因此近些年已经很少有人研究和关注精确图匹配问题了。另一个是非精确图匹配(Inexact Graph Matching),他将图匹配问题转化为寻找能够使的节点相似度和边相似度之和最大化的一个优化问题。 也就是说其允许两个图有差别,甚至允许一定程度的错误匹配,但要求能让节点和边的相似度尽可能的大。这为图匹配的求解带来了可能,也带动了相关研究的发展。下面给出图匹配形式化的定义。

图的描述方式

  在定义图匹配之前,我们首先明确图的描述方式。这里我们选择《Factorized Graph Matching》(FGM)最新2016年版本中的定义方式,将图定义为一个四元组 G = { P , Q , G , H } \mathcal{G}=\{P,Q,G,H\} G={P,Q,G,H},其中 P ∈ R d p × n P\in \mathbb{R}^{d_p \times n} PRdp×n表示节点的特征, d p d_p dp表示特征维度, n n n表示节点个数。例如我们用SIFT算法提取图像中关键点的特征,其节点特征维度 d p = 128 d_p=128 dp=128 Q ∈ R d q × m Q\in \mathbb{R}^{d_q \times m} QRdq×m表示边的特征, d q d_q dq表示特征维度, m m m表示边的个数。例如我们我们可以用边的长度和方向来描述边的特征,那么边的特征就是一个二维向量。 G , H ∈ { 0 , 1 } n × m G,H\in \{0,1\}^{n\times m} G,H{0,1}n×m描述了节点和边的对应关系,或者说描述了节点之间是怎么连接的,也就是这个图的结构(Structure)。其中 G G G表示边的起点, H H H表示边的终点,具体而言若 g i c = h j c = 1 g_{ic}=h_{jc}=1 gic=hjc=1那么就说明图中的第 c c c条边由节点 i i i指向节点 j j j, 图(b)和(c)中给了非常直观的例子。

除了这种描述方式,还有另一种更简单的描述方式,即用邻接矩阵(Adjacent Matrix) A ∈ { 0 , 1 } n × n A\in\{0,1\}^{n\times n} A{0,1}n×n来表示节点之间的连接关系,例如 a i j = 1 a_{ij}=1 aij=1表示节点 i i i j j j之间存在一条边。包括FGM的早期2012版本中也采用了这种描述方式,但作者说这种方式只能用于描述无向图,而新的描述方式(用 G , H G,H G,H描述)更加通用,能够用于有向图和无向图。但我觉得如果用 a i j a_{ij} aij a j i a_{ji} aji分别表示由 i i i指向 j j j的边和由 j j j指向 i i i的边,邻接矩阵 A A A同样可以描述有向图呀,这里我并不是非常理解。

图匹配的定义

  知道了图的描述方式后,我们给定两个图 G 1 = { P 1 , Q 1 , G 1 , H 1 } \mathcal{G}_1=\{P_1, Q_1, G_1, H_1\} G1={P1,Q1,G1,H1} G 2 = { P 2 , Q 2 , G 2 , H 2 } \mathcal{G}_2=\{P_2, Q_2, G_2, H_2\} G2={P2,Q2,G2,H2},并定义两个关联矩阵(Affinity Matrix) K p ∈ R n 1 × n 2 K_p \in \mathbb {R}^{n_1 \times n_2} KpRn1×n2 K q ∈ R m 1 × m 2 K_q \in \mathbb {R}^{m_1 \times m_2} KqRm1×m2分别表示两幅图节点和节点之间以及边和边之间的相似度。例如 k i 1 i 2 p = ϕ p ( p i 1 1 , p i 2 2 ) k_{i_1i_2}^p = \phi_{p}(p_{i_1}^1,p_{i_2}^2) ki1i2p=ϕp(pi11,pi22)就表示图 G 1 \mathcal{G}_1 G1中的第 i 1 i_1 i1个节点和图 G 2 \mathcal{G}_2 G2中的第 i 2 i_2 i2个节点之间的相似程度,同理 k c 1 c 2 q = ϕ q ( q c 1 1 , q c 2 2 ) k_{c_1c_2}^q = \phi_{q}(q_{c_1}^1,q_{c_2}^2) kc1c2q=ϕq(qc11,qc22)就描述了图 G 1 \mathcal{G}_1 G1中的第 c 1 c_1 c1个边和图 G 2 \mathcal{G}_2 G2中的第 c 2 c_2 c2个边之间的相似程度,如图(d)所示。则图匹配问题就变成寻找两幅图之间最优的匹配关系 X X X,使得节点间的相似度和边之间的相似度之和最大。
J g m ( X ) = ∑ i 1 i 2 x i 1 i 2 k i 1 i 2 p + ∑ i 1 ≠ i 2 , j 1 ≠ j 2 , g i 1 c 1 1 h j 1 c 1 1 = 1 , g i 2 c 2 2 h j 2 c 2 2 = 1 x i 1 i 2 x j 1 j 2 k c 1 c 2 q ( 1 ) J_{gm}(X) = \sum_{i_1i_2}x_{i_1i_2}k_{i_1i_2}^p+\sum_{i_1\neq i_2, j_1 \neq j_2, g_{i_1c_1}^1h_{j_1c_1}^1=1, g_{i_2c_2}^2h_{j_2c_2}^2=1 }x_{i_1i_2}x_{j_1j_2}k_{c_1c_2}^q \qquad (1) Jgm(X)=i1i2xi1i2ki1i2p+i1=i2,j1=j2,gi1c11hj1c11=1,gi2c22hj2c22=1xi1i2xj1j2kc1c2q(1)
式(1)中第一项表示匹配节点之间的相似度之和,第二项表示匹配边之间的相似度之和。其中 X X X表示了两幅图节点之间的匹配关系, x i 1 i 2 = 1 x_{i_1i_2}=1 xi1i2=1就表示图 G 1 \mathcal{G}_1 G1中的第 i 1 i_1 i1个节点和图 G 2 \mathcal{G}_2 G2中的第 i 2 i_2 i2匹配,如图(e)所示。节点之间的匹配关系要满足一一对应的约束,即 X ∈ Π X\in \Pi XΠ为一个置换矩阵(Permutation Matrix)

置换矩阵是只有0和1元素组成的矩阵,他的每一行和每一列都有且仅有一个元素为1,其余均为0.

Π = { X ∣ X ∈ { 0 , 1 } n 1 × n 2 , X 1 n 2 ≤ 1 n 1 , X T 1 n 1 = 1 n 2 } ( 2 ) \Pi=\{X|X\in\{0,1\}^{n_1 \times n_2}, X\mathbf{1}_{n_2}\leq\mathbf{1}_{n_1},X^T\mathbf{1}_{n_1}=\mathbf{1}_{n_2}\}\qquad(2) Π={XX{0,1}n1×n2,X1n21n1,XT1n1=1n2}(2)
其中 1 n \mathbf{1}_{n} 1n表示长度为 n n n且元素均为1的列向量。我们允许图 G 1 \mathcal{G}_1 G1 G 2 \mathcal{G}_2 G2的尺寸不相同(即节点数目不相同),为不失一般性,我们约定 n 1 ≥ n 2 n_1\geq n_2 n1n2。式(2)约束图 G 2 \mathcal{G}_2 G2中的每个点都与 G 1 \mathcal{G}_1 G1中的点有唯一对应的匹配关系。

图匹配的两种形式化方式

  为了更加清晰地描述和表达图匹配的目标,我们将节点和边的关联矩阵统一为一个关联矩阵 K ∈ R n 1 n 2 × n 1 n 2 K\in\mathbb{R}^{n_1n_2 \times n_1n_2} KRn1n2×n1n2,如图(f)所示。
k i 1 i 2 , j 1 j 2 = { k i 1 i 2 p , i f i 1 = j 1   a n d   i 2 = j 2 , k c 1 c 2 q , i f i 1 ≠ j 1   a n d   i 2 ≠ j 2   a n d   g i 1 c 1 1 h j 1 c 1 1 g i 2 c 2 2 h j 2 c 2 2 = 1 , 0 , o t h e r w i s e k_{i_1i_2,j_1j_2}=\left\{\begin{matrix} k_{i_1i_2}^p, & if \quad i_1 = j_1 \: and\: i_2=j_2,\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\\ k_{c_1c_2}^q, & if \quad i_1 \neq j_1\: and\: i_2 \neq j_2 \: and \: g_{i_1c_1}^1h_{j_1c_1}^1g_{i_2c_2}^2h_{j_2c_2}^2=1,\\ 0,& otherwise \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\end{matrix}\right. ki1i2,j1j2= ki1i2p,kc1c2q,0,ifi1=j1andi2=j2,ifi1=j1andi2=j2andgi1c11hj1c11gi2c22hj2c22=1,otherwise K K K中的对角线元素表示了节点之间的相似度,也就是原来的 K p K_p Kp,非对角线元素表示边之间的相似度,也就是 K q K_q Kq,例如非对角线元素 k i 1 i 2 , j 1 j 2 k_{i_1i_2,j_1j_2} ki1i2,j1j2就表示了图 G 1 \mathcal{G}_1 G1 i 1 i_1 i1 j 1 j_1 j1节点之间的边与图 G 2 \mathcal{G}_2 G2 i 2 i_2 i2 j 2 j_2 j2节点之间的边的相似程度。有了关联矩阵 K K K我们就很容易的将图匹配问题形式化为一个二次分配问题(Quadratic Assignment Problem, QAP)

二次分配问题,也叫二次指派问题,是一个经典的组合优化问题,其已经被证明为NP-hard。而一次分配问题(线性分配问题, LAP),如有权二部图的匹配问题,则可以利用匈牙利算法(Hungarian Algorithm)在多项式时间内求解。

max ⁡ X ∈ Π J g m ( X ) = v e c ( X ) T K v e c ( X ) ( 3 ) \max_{X\in\Pi}J_{gm}(X)=vec(X)^TKvec(X) \quad (3) XΠmaxJgm(X)=vec(X)TKvec(X)(3)
式(3)即为被广泛采用的Lawler’s QAP范式,除此之外还有另一种形式化方式,Koopmans-Beckmann’s QAP
max ⁡ X ∈ Π t r ( K p T X ) + t r ( A 1 X A 2 X T ) ( 4 ) \max_{X\in \Pi}tr(K_p^TX)+tr(A_1XA_2X^T) \quad (4) XΠmaxtr(KpTX)+tr(A1XA2XT)(4)
式(4)中的第一项表示节点之间的相似度,第二项表示边之间的线性相似度。其中加权邻接矩阵 A 1 ∈ [ 0 , 1 ] n 1 × n 1 , A 2 ∈ [ 0 , 1 ] n 2 × n 2 A_1\in{[0,1]^{n_1\times n_1}},A_2\in{[0,1]^{n_2\times n_2}} A1[0,1]n1×n1,A2[0,1]n2×n2分别表示图 G 1 \mathcal{G}_1 G1和图 G 2 \mathcal{G}_2 G2各个节点之间的软连接关系,注意与前面提到的邻接矩阵只有 { 0 , 1 } \{0,1\} {0,1}两种元素不同,加权邻接矩阵的元素是从 [ 0 , 1 ] [0,1] [0,1]之间的权重值,表示两个节点之间的连接强度。可以看到,两种形式化方式的区别主要集中在第二项,也就是边之间相似度的计算方式上。为什么我们说Koopmans-Beckmann’s QAP的第二项是线性相似度呢,因为他只能通过边的权重值之间的内积( A 1 ⊗ A 2 A_1 \otimes A_2 A1A2)大小来描述边和边的相似性,而Lawler’s QAP中的 K K K可以采用包括高斯核函数在内的非线性相似性度量方式。也就是说Koopmans-Beckmann’s QAP只是Lawler’s QAP的一个特例,即当 K = A 1 ⊗ A 2 K=A_1 \otimes A_2 K=A1A2时,Lawler’s QAP退化为Koopmans-Beckmann’s QAP。

图匹配的松弛与求解算法

  尽管非精确图匹配相对于精确图匹配已经做了一定的松弛,但其仍然是一个NP-hard问题。因此需要继续对置换矩阵约束(公式(2))进行松弛,以近似求解图匹配问题。常用的松弛策略包含以下几种:

  • 谱松弛(Spectral Relaxation)
    Umeyama等人[1]将置换矩阵 X X X松弛为正交矩阵,即 X T X = I X^TX=I XTX=I,则图匹配问题可以通过计算特征值的方式求得闭式解,但这类方法只能用于Koopmans-Beckmann’s QAP形式的图匹配问题。Leordeanu等人[2]将 X X X松弛为单位长度,即 ∥ v e c ( X ) ∥ 2 = 1 \|vec(X)\|_2=1 vec(X)2=1,则最优的匹配关系 X X X即为 K K K的主特征向量。但这种松弛方式,忽略的一对一对应的约束条件,并且只计算主特征向量是对 K K K做了秩为1的近似,但实际上 K K K通常是满秩的。因此该方法计算的准确性较差。

  • 半正定规划松弛(Semidefinite-programming (SDP) Relaxation)
    半正定规划(SDP)是一类标准的凸优化问题。通过引入一个新的变量 Y ∈ R n 1 n 2 × n 1 n 2 = v e c ( X ) v e c ( X ) T Y\in\mathbb{R}^{n_1n_2\times n_1n_2}=vec(X)vec(X)^T YRn1n2×n1n2=vec(X)vec(X)T,将图匹配问题的非凸约束松弛为 Y − v e c ( X ) v e c ( X ) T ≥ 0 Y-vec(X)vec(X)^T\geq 0 Yvec(X)vec(X)T0的半正定凸约束。利用SDP算法求解 Y Y Y,然后再采用随机算法[3]或赢家通吃策略[4]近似求解得到 X X X。这类方法的优势在于理论上能够保证在多项式时间内找到近似解。然而在实际应用中,由于 Y Y Y的尺寸是 X X X尺寸的平方,使得求解SDP问题的成本十分高昂。

  • 双随机松弛(Doubly-stochastic Relaxation)
    这类方法将 X X X松弛为一个双随机矩阵(矩阵的每行之和与每列之和均为1), X ∈ D X\in\mathcal{D} XD,其为置换矩阵的一个凸包 D = { X ∣ X ∈ [ 0 , 1 ] n 1 × n 2 , X 1 n 2 ≤ 1 n 1 , X T 1 n 1 = 1 n 2 } ( 5 ) \mathcal{D}=\{X|X\in[0,1]^{n_1\times n_2}, X\mathbf{1}_{n_2}\leq\mathbf{1}_{n_1},X^T\mathbf{1}_{n_1}=\mathbf{1}_{n_2}\}\qquad(5) D={XX[0,1]n1×n2,X1n21n1,XT1n1=1n2}(5)可以看到 D \mathcal{D} D Π \Pi Π的区别在于, X X X的取值范围从 { 0 , 1 } \{0,1\} {0,1}变为了 [ 0 , 1 ] [0,1] [0,1],这一改变使得图匹配问题松弛为了非凸的二次规划问题(Quadratic Programming,QP),有许多方法可以找到局部最优解。Zaslavskiy等人[5]采用路径跟随算法(Path-following Algorithm)来求解该非凸的二次规划问题。Gold and Rangarajan[6] 提出毕业分配算法(Graduated Assignment Algorithm)利用泰勒展开式将目标函数分解为一系列线性近似,再通过迭代的方式求解。

  除了上述松弛化的方法,还有一些方法可以提高图匹配的效果,例如:可以通过监督或无监督的方式学习得到更好的关联矩阵 K K K[7] [8];还可以通过讲关联矩阵 K K K从二维矩阵提到的高阶张量,使得GM具备刚性变换(旋转和平移)不变性[9] [10],但阶数提高一点,就会导致计算复杂度爆炸性增长,因此高阶图匹配算法通常只能用于非常稀疏的图;由于图匹配问题非常依赖初始的图结构,为了解决这一问题Cho and Lee [11]提出一种渐进式的框架,将目标图的构建过程和图匹配结合起来,根据匹配结果重新估计最合理的目标图。

总结

  本文从图匹配的介绍入手,分别介绍了图的描述方式、图匹配的定义和两种形式化的方式。接着总结了三种常见的松弛方法和对应的求解算法,并列举了三种提高图匹配效果的策略。但截至目前,我们还没有开始介绍本文的核心算法FGM是如何实现图匹配过程的,在下篇文章中我们将详细展开。

  1. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)
  2. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(二)
  3. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(三

参考文献

[1] S. Umeyama, “An eigendecomposition approach to weighted graph matching problems,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 10, no. 5, pp. 695–703, Sep. 1988.
[2] M. Leordeanu and M. Hebert, “A spectral technique for correspondence problems using pairwise constraints,” in Proc. 10th IEEE Int. Conf. Comput. Vis., 2005, pp. 1482–1489.
[3] P. H. S. Torr, “Solving Markov random fields using semidefinite programming,” in Proc. Int. Workshop Artif. Intell. Statist., 2003, pp. 1–8.
[4] C. Schellewald and C. Schn€orr, “Probabilistic subgraph matching based on convex relaxation,” in Proc. 5th Int. Conf. Energy Minimization Methods Comput. Vis. Pattern Recog., 2005, pp. 171–186.
[5] M. Zaslavskiy, F. R. Bach, and J.-P. Vert, “A path following algorithm for the graph matching problem,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 31, no. 12, pp. 2227–2242, Dec. 2009.
[6] S. Gold and A. Rangarajan, “A graduated assignment algorithm for graph matching,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 18, no. 4, pp. 377–388, Apr. 1996.
[7] M. Leordeanu, R. Sukthankar, and M. Hebert, “Unsupervised learning for graph matching,” Int. J. Comput. Vis., vol. 95, no. 1, pp. 1–18, 2011.
[8] T. S. Caetano, J. J. McAuley, L. Cheng, Q. V. Le, and A. J. Smola, “Learning graph matching,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 31, no. 6, pp. 1048–1058, Jun. 2009.
[9] R. Zass and A. Shashua, “Probabilistic graph and hypergraph matching,” in Proc. IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recog., 2008, pp. 1–8.
[10] O. Duchenne, F. Bach, I.-S. Kweon, and J. Ponce, “A tensor- based algorithm for high-order graph matching,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 33, no. 12, pp. 2383–2395, Dec. 2011.
[11] M. Cho and K. M. Lee, “Progressive graph matching: Making a move of graphs via probabilistic voting,” in Proc. IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recog., 2012, pp. 398–405.

近日,DeepMind 和谷歌联合进行了项研究,该研究提出了种执行相似性学习的新型强大模型——图匹配网络(GMN),性能优于 GNN 和 GCN 模型。该论文已被 ICML 2019 接收。 DeepMind 和谷歌的这项新研究聚焦检索和匹配图结构对象这极具挑战性的问题,做出了两个重要贡献。 首先,研究者展示了如何训练图神经网络(GNN),使之生成可在向量空间中执行高效相似性推理的图嵌入。其次,研究者提出了新型图匹配网络模型(GMN),该模型以对图作为输入,通过基于跨图注意力的新型匹配机制进行联合推理,从而计算它们之间的相似性分数。 研究者证明 GMN 模型在不同领域中的有效性,包括极具挑战性的基于控制流图的函数相似性搜索问题,这个问题在检索软件系统的漏洞中起着非常重要的作用。实验分析表明 GMN 模型不止能在相似性学习的环境下利用结构,还能超越针对这些问题手动精心设计的特定领域基线系统。研究主题:图相似性学习问题 图是编码关系结构的自然表征,常常出现在多个领域中。根据图结构数据定义的计算可以用在各种领域中,从计算生物学和化学的分子分析到自然语言理解中知识图或图结构解析的分析都可以。 近几年来,图神经网络(Graph Neural Network,GNN)已经成为可以有效学习结构数据表征、解决各种基于图的监督预测问题的模型了。这样的模型在迭代聚合局部结构信息的传播过程中设计并计算图节点表征,从而对图元素的排列(permutation)具有不变性。然后直接将这些节点表征用于节点分类,或者将它们合并到用于图分类的图向量中。而 GNN 在监督分类或回归以外的问题的相关研究相对较少。 DeepMind 的这篇论文研究的是图结构对象的相似性学习问题,这个问题在现实生活中有很多重要的应用,尤其是在图数据库中基于相似性的搜索。还有个应用是涉及计算机安全的二元函数相似性搜索,给定的二元函数可能包含有已知漏洞的代码,我们要检查这个二元函数中是否有和已知易受攻击的函数相似的控制流图(control-flow-graph)。这有助于识别闭源软件中易受攻击的静态连结函式库,这是个很常见的问题 (CVE, 2010; 2018),现在还没有很好的解决方法。图 1 展示了子,在这个子中用汇编语言注释的控制流图来表示二元函数。这种相似性学习问题极具挑战性,因为就算是图之间细微的差别也会造成语义上极大的不同,但结构不同的图语义上可能非常相似。因此,对这个问题而言,个成功的模型应该(1)利用图结构;(2)能从图的结构和学习到的语义中推导出图的相似性。图 1:二元函数相似性学习问题。检查两个图是否相似需要推理图的结构和语义。左边两个控制流图对应使用不同编译器编译的相同函数(因此二者比较相似),但右侧图对应的是不同函数。 解决方案 为了解决图相似性学习问题,该论文研究了 GNN 在这种情况中的使用,探讨了如何用 GNN 将图嵌入到向量空间,并学习这种嵌入模型,从而使向量空间中相似的图靠近、不相似的图分开。这个模型的个重要特性是它可以将每个图独立地映射到个嵌入向量,然后在向量空间中执行相似性计算。因此,可以预先计算并索引大型数据库中的图嵌入,这样就能用快速的最近邻搜索数据结构(如 k-d 树) 或局部敏感哈希算法 (Gionis et al., 1999) 执行高效的检索。 研究者进步扩展 GNN,提出新型图匹配网络(Graph Matching Networks,GMN)来执行相似性学习。GMN 没有单独计算每个图的图表征,它通过跨图注意力机制计算相似性分数,来关联图之间的节点并识别差异。该模型依赖成对图计算图表征,因此它比嵌入模型更强大,并在准确率和计算之间做出了很好的权衡。 研究者在三个任务上评估了 GMN 和基线模型:仅捕获结构相似性的合成图编辑距离学习任务(synthetic graph edit-distance learning tas),以及两个现实世界任务——二元函数相似性搜索和网格检索,这两项任务都需要推理结构相似性和语义相似性。在所有任务中,GMN 都比基线和结构不可知(structure agnostic)模型的性能更好。在更详细的模型简化测试中,研究者发现 GMN 始终优于图嵌入模型和 Siamese 网络。 该研究的贡献如下: 展示了如何用 GNN 产生用于相似性学习的图嵌入; 提出了新型图匹配网络(GMN),该网络基于跨图注意力匹配来计算相似性; 实验证明,该研究提出的图相似性学习模型 GMN 在多个应用中都有良好的表现,比结构不可知模型和现有的手动建立的基线模型都要好。 深度图相似性学习 给定两个图 G1 = (V1, E1) 和 G2 = (V2, E2),我们需要个可以计算两图之间相似性分数 s(G1, G2) 的模型。每个图 G = (V, E) 被表示为节点 V 和边 E 的集合,每个节点 i∈V 都可以和特征向量 x_i 相关联,每条边 (i, j) ∈ E 都可以和特征向量 x_ij 关联起来。这些特征可以表示节点类型、边的方向等。如果个节点或者条边不能关联任何特征,那么我们可以将对应向量设置成值为 1 的常量。研究者提出了两个图相似性学习模型:个是基于标准 GNN 的学习图嵌入的模型;另个是更为崭新也更加强大的 GMN。图 2 展示了这两个模型:图嵌入模型 图嵌入模型可以将每个图都嵌入到向量中,然后用向量空间中的相似性矩阵衡量图之间的相似性。GNN 嵌入模型包括三个部分:编码器、传播层和聚合器。 图匹配网络 图匹配网络以对图作为输入,计算它们之间的相似性分数。和嵌入模型相比,图匹配模型联合成对图计算相似性分数,而不是先将每个图独立地映射到向量上。因此,图匹配模型可能比嵌入模型更加强大,但它需要额外的计算效率。 图匹配网络改变了每个传播层中的节点更新模块,这样不仅可以考虑到每个图的边上的聚合信息,还可以考虑到衡量个图中的个节点和其他图中的或多个节点匹配近日,DeepMind 和谷歌联合进行了项研究,该研究提出了种执行相似性学习的新型强大模型——图匹配网络(GMN),性能优于 GNN 和 GCN 模型。该论文已被 ICML 2019 接收。 程度的跨图匹配向量:以调整图的表征,在它们不匹配时放大它们之间的差异。 实验 研究者在三个任务上评估了图相似性学习(Graph Similarity Learning,GSL)框架、图嵌入模型(GNN)以及图匹配网络(GMN)的性能,并将这些模型与其他方法进行了对比。总体上,实验结果表明在图相似性学习任务上,GMN 表现优异,而且始终优于其他方法。 学习图编辑距离(GED) 图 G1 和 G2 之间的图编辑距离即将 G1 变换为 G2 所需的最小编辑操作。通常这些编辑操作包括添加/移除/替换节点和边。图编辑距离是衡量图之间相似性的自然指标,在图相似性搜索中有很多应用。 从下表 1 中可以看出,通过学习特定分布的图,GSL 模型的性能优于般的基线模型,而 GMN 的性能持续优于图嵌入模型(GNN)。基于控制流图的二元函数相似性搜索 二元函数相似性搜索是计算机安全领域中的重要问题。当我们无法获取源代码时,可以通过二元函数执行分析和搜索,如在处理商业或嵌入式软件或可疑的可执行程序时。 下图 4 展示了具备不同传播步和不同数据设置的不同模型在二元函数相似性搜索任务上的性能。从图中,我们可以看到: 图嵌入模型和图匹配模型的性能随着传播步的增加而持续提升; 在传播步足够的情况下,图嵌入模型持续优于基线模型; 图匹配模型在所有设置和传播步的情况下都优于图嵌入模型。研究者检测了GMN 模型中不同组件的效果,并将 GMN 模型与图卷积网络(GCN)、图神经网络(GNN)和 GNN/GCN 嵌入模型的 Siamese 版本进行对比。 下表 2 展示了实验结果,表明: GNN 嵌入模型是具备竞争力的模型(比 GCN 模型强大); 使用 Siamese 网络架构基于图表征学习相似性要比使用预先指定的相似性指标(Euclidean、Hamming 等)好; GMN 优于Siamese 模型,这表明在计算过程早期进行跨图信息交流是非常重要的。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

深视

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

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

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

打赏作者

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

抵扣说明:

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

余额充值