本文共 1558 字,大约阅读时间需要 5 分钟。
论文地址:
这篇论文的主要工作是通过构建对偶图Dual Graph的方式将原图的边转换成对偶图中的节点,从而获得edge feature。原文中给出了这样的解释:
Let G = ( V , E ) \mathcal{G}=(\mathcal{V}, \mathcal{E}) G=(V,E)be a given directed graph, to which we refer as the primal graph. The dual (also known in graph theory as the line (di)graph or adjoint graph) of G \mathcal{G} G, denoted by G ~ = ( V ~ = E , E ~ ) \tilde{\mathcal{G}}=(\tilde{\mathcal{V}}=\mathcal{E}, \tilde{\mathcal{E}}) G~=(V~=E,E~), is constructed as follows : each dual vertex ( i , j ) ∈ V ~ (i, j) \in \tilde{\mathcal{V}} (i,j)∈V~ corresponds to a primal edge ( i , j ) ∈ E ~ (i, j) \in \tilde{\mathcal{E}} (i,j)∈E~, two dual vertices ( i , j ) , ( i ′ , j ′ ) ∈ V ~ (i, j),\left(i^{\prime}, j^{\prime}\right) \in \tilde{\mathcal{V}} (i,j),(i′,j′)∈V~ are connected by an edge in G ~ \tilde{\mathcal{G}} G~ if they share direction and at least an endpoint in G \mathcal{G} G.
简单地说,就是将原图中的边映射为对偶图中的节点,论文中使用了一张图来说明这个过程
左侧是原图,右侧是对偶图中对于(0, 2)
的ego graph。对偶图中的(0,3)
节点表示它是原图中的0
号节点与3
号节点之间的边。因为(0,3)
与(0,2)
都与0
号节点相连,所以(0,3)
与(0,2)
之间存在一条边。 F {F} F是一个 n × q {n \times q} n×q的矩阵,表示原图上所有节点的feature。 F ~ \tilde{F} F~是一个 n ~ × 2 q {\tilde{n} \times 2q} n~×2q的矩阵,表示对偶图上所有节点的feature。对偶图中的节点(i, j)
可由原图中的节点i
和j
的feature直接拼接得到,即 f ~ i j = [ f i , f j ] \tilde{\mathbf{f}}_{ij} =[\mathbf{f}_{i}, \mathbf{f}_{j}] f~ij=[fi,fj]。
(i,j)
的一阶邻居信息,其实就是通过聚合原图上所有与i
和j
相连的边来更新边(i,j)
。 在对偶图上获得原图上所有边的feature后,再次套用GAT:
只不过在计算 α i j \alpha_{ij} αij时可以直接通过边上的feature得到。转载地址:http://vtdqi.baihongyu.com/