Dual-Primal Graph Convolutional Networks 對偶-原始圖卷積神經網絡

論文地址:Dual-Primal Graph Convolutional Networks
這篇論文的主要工作是通過構建對偶圖Dual Graph的方式將原圖的邊轉換成對偶圖中的節點,從而獲得edge feature。

什麼是對偶圖?

原文中給出了這樣的解釋:
Let G=(V,E)\mathcal{G}=(\mathcal{V}, \mathcal{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}, denoted by G~=(V~=E,E~)\tilde{\mathcal{G}}=(\tilde{\mathcal{V}}=\mathcal{E}, \tilde{\mathcal{E}}), is constructed as follows : each dual vertex(i,j)V~(i, j) \in \tilde{\mathcal{V}} corresponds to a primal edge (i,j)E~(i, j) \in \tilde{\mathcal{E}}, two dual vertices(i,j),(i,j)V~(i, j),\left(i^{\prime}, j^{\prime}\right) \in \tilde{\mathcal{V}} are connected by an edge in G~\tilde{\mathcal{G}} if they share direction and at least an endpoint in G\mathcal{G}.

簡單地說,就是將原圖中的邊映射爲對偶圖中的節點,論文中使用了一張圖來說明這個過程
原圖與對偶圖
左側是原圖,右側是對偶圖中對於(0, 2)的ego graph。對偶圖中的(0,3)節點表示它是原圖中的0號節點與3號節點之間的邊。因爲(0,3)(0,2)都與0號節點相連,所以(0,3)(0,2)之間存在一條邊。

模型部分

對偶圖上的卷積

F{F}是一個n×q{n \times q}的矩陣,表示原圖上所有節點的feature。F~\tilde{F}是一個n~×2q{\tilde{n} \times 2q}的矩陣,表示對偶圖上所有節點的feature。對偶圖中的節點(i, j)可由原圖中的節點ij的feature直接拼接得到,即f~ij=[fi,fj]\tilde{\mathbf{f}}_{ij} =[\mathbf{f}_{i}, \mathbf{f}_{j}]
在對偶圖上直接套用GAT:

對偶圖上的GAT
輸出是一個q~\tilde{q}維的向量f~ij\tilde{\mathbf{f}}_{ij}^{\prime}。這一步在對偶圖上聚合節點(i,j)的一階鄰居信息,其實就是通過聚合原圖上所有與ij相連的邊來更新邊(i,j)

原圖上的卷積

在對偶圖上獲得原圖上所有邊的feature後,再次套用GAT:
原圖上的GAT
只不過在計算αij\alpha_{ij}時可以直接通過邊上的feature得到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章