論文資訊
論文標題:Accurate Learning of Graph Representations with Graph Multiset Pooling
論文作者:Jinheon Baek, Minki Kang, Sung Ju Hwang
論文來源:2021, ICLR
論文地址:download
論文程式碼:download
1 Introduction
圖池化存在的問題:獲得的圖表示需進一步使用池化函式將一組節點表示對映為緊湊的形式。對所有節點表示的簡單求和或平均都平等地考慮所有節點特徵,而不考慮它們的任務相關性,以及它們之間的任何結構依賴性。
圖池化方法:
圖解:
-
- Figure 1 (B):簡單對所有節點求和或平均;
- Figure 1 (C):節點刪除方法,使用來自圖卷積層的資訊獲得每個節點的得分,然後在每個池化步驟中刪除得分較低的不必要的節點;
- Figure 1 (D):節點聚類方法,利用相似節點的層次結構將相似節點聚類為單個節點;
對於節點刪除方法存在的問題:在每個池化步驟中都不必要地丟棄一些節點,從而導致那些被丟棄的節點上的資訊丟失。
對於節點聚類方法存在的問題:計算具有鄰接矩陣的密集聚類分配矩陣。這阻止了它們利用圖拓撲中的稀疏性,從而導致過高的計算複雜度。
我們可以將圖表示學習可以看作是一個多集(multiset)編碼問題,它允許可能重複的元素,因為一個圖可能有冗餘的節點表示(見 Figure 1 最右邊)。圖表示學習可以認為是一個受到結構控制的多集編碼問題。編碼的目標是:兩個不同的圖,給出多集的節點特性之間的輔助結構依賴,到兩個獨特的嵌入。本文利用一個圖結構的注意單元來解決這個問題。通過利用這個單元作為一個基本的構建塊,我們提出了圖多集變換器(Graph Multiset Transformer,GMT),這是一種池化機制,它將給定的圖壓縮成具有代表性的節點集,然後進一步編碼它們之間的關係,以增強圖的表示能力。
2 Graph Multiset Pooling
2.1 Preliminaries
訊息傳遞的基本定義.....
2.2 Graph Multiset Transformer
Multiset Encoding
READOUT 函式需要滿足的條件:
-
- 單射(injectiveness)
- 排列不變性(permutation invariance)
Graph Multi-head Attention
為克服簡單的池化方法(如 sum )在區分重要節點方面的不足,本文使用注意機制作為池化方案的主要元件。
假設有 $n$ 個節點向量,注意力函式的輸入(Att)由查詢 $\boldsymbol{Q} \in \mathbb{R}^{n_{q} \times d_{k}}$,鍵 $\boldsymbol{K} \in \mathbb{R}^{n \times d_{k}}$ 和值 $V \in \mathbb{R}^{n \times d_{v}}$,其中 $n_{q}$ 是查詢向量的數量,$n$ 是輸入節點的數量,$d_{k}$ 是鍵向量的維度,和 $d_{v}$ 是值向量的維度。然後計算所有鍵、查詢的點積,對相關值,即節點施加更多的權重,如下:$\operatorname{Att}(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V})=w\left(\boldsymbol{Q} \boldsymbol{K}^{T}\right) \boldsymbol{V}$,其中 $w$ 是一個啟用函式。我們可以進一步使用多頭注意力,而不是計算單一注意力,分別通過線性投影查詢 $Q$、鍵 $K$ 和值$V$ $h$次,產生 $h$ 個不同的表示子空間。則多頭注意函式(MH)的輸出可表示如下:
$\begin{array}{left}\operatorname{MH}(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V})=\left[O_{1}, \ldots, O_{h}\right] \boldsymbol{W}^{O} ; \\O_{i}=\operatorname{Att}\left(\boldsymbol{Q} \boldsymbol{W}_{i}^{Q}, \boldsymbol{K} \boldsymbol{W}_{i}^{K}, \boldsymbol{V} \boldsymbol{W}_{i}^{V}\right)\end{array}$
其中:
-
- $h$ 可以通過並行運算
- 查詢 $\boldsymbol{Q} \in \mathbb{R}^{n_{q} \times d_{k}}$,及 $\boldsymbol{W}_{i}^{Q} \in \mathbb{R}^{d_{k} \times d_{k}}$
- 鍵 $\boldsymbol{K} \in \mathbb{R}^{n \times d_{k}}$ ,及 $\boldsymbol{W}_{i}^{K} \in \mathbb{R}^{d_{k} \times d_{k}}$
- 值 $V \in \mathbb{R}^{n \times d_{v}}$,及 $\boldsymbol{W}_{i}^{V} \in \mathbb{R}^{d_{v} \times d_{v}}$
- 輸出投影矩陣:$\boldsymbol{W}^{O} \in \mathbb{R}^{h d_{v} \times d_{\text {model }}}$,$d_{\text {model }}$ 代表著多頭注意力(MH)輸出維度
多頭注意力雖然考慮了節點之間的重要性,但是次優的生成了 鍵(key)和值(value),因為它從 $\text{Eq.1}$ 得到的節點嵌入 $H$ 線性投影得到鍵(key)和值(value)。
$\boldsymbol{H}_{u}^{(l+1)}=\operatorname{UPDATE}^{(l)}\left(\boldsymbol{H}_{u}^{(l)}, \operatorname{AGGREGATE}^{(l)}\left(\left\{\boldsymbol{H}_{v}^{(l)}, \forall v \in \mathcal{N}(u)\right\}\right)\right) \quad\quad\quad(1)$
為了解決這一限制,本文新定義了一種新的圖多頭注意塊(GMH)。形式上,給定節點特徵 $\boldsymbol{H} \in \mathbb{R}^{n \times d}$ 及其鄰接資訊 $A$,我們使用 GNNs 構造鍵和值,以顯式地利用圖結構如下:
$ \begin{array}{left}\operatorname{GMH}(\boldsymbol{Q}, \boldsymbol{H}, \boldsymbol{A})=\left[O_{1}, \ldots, O_{h}\right] \boldsymbol{W}^{O} ; \\O_{i}=\operatorname{Att}\left(\boldsymbol{Q} \boldsymbol{W}_{i}^{Q}, \operatorname{GNN}_{i}^{K}(\boldsymbol{H}, \boldsymbol{A}), \operatorname{GNN}_{i}^{V}(\boldsymbol{H}, \boldsymbol{A})\right)\end{array} \quad\quad\quad(6)$
其中,對於 Att 中的鍵、值矩陣,與 $\text{Eq.5}$ 中的線性投影節點嵌入 $\boldsymbol{K} \boldsymbol{W}_{i}^{K}$ 和 $\boldsymbol{V} \boldsymbol{W}_{i}^{V}$ 相比,$\mathrm{GNN}_{i}$ 的輸出包含圖的鄰近資訊。
Graph Multiset Pooling with Graph Multi-head Attention
給定從GNN 獲得的節點特徵矩陣 $\boldsymbol{H} \in \mathbb{R}^{n \times d}$ ,定義一個 Graph Multiset Pooling (GMPool ),將 $n$ 個節點壓縮為 $k$ 個典型節點,使用引數化的種子矩陣 $\boldsymbol{S} \in \mathbb{R}^{k \times d}$,用於直接以端到端方式進行優化的池化操作,如 Figure 2-GMPool :
$\begin{array}{left}\boldsymbol{Z}=\mathrm{LN}(\boldsymbol{S}+\operatorname{GMH}(\boldsymbol{S}, \boldsymbol{H}, \boldsymbol{A}))\\\operatorname{GMPool}_{k}(\boldsymbol{H}, \boldsymbol{A})=\mathrm{LN}(\boldsymbol{Z}+\mathrm{rFF}(\boldsymbol{Z})) ; \end{array} \quad\quad\quad(7)$
其中:rFF 是獨立處理每個單獨行的任何行前饋層,LN 是一個層的標準化。
注意,$\text{Eq.7}$ 中的 GMH 函式考慮了 $S$ 中的 $k$ 個種子向量(查詢)和 $H$中的 $n$ 個節點(鍵)之間的相互作用,將 $n$ 個節點壓縮為 $k$ 個簇,以及查詢和鍵之間的注意力相似性。此外,為了將池化方案從集合擴充套件到多集,我們只需考慮冗餘節點表示。
Self-Attention for Inter-node Relationship
雖然前面描述的 GMPool 將整個節點壓縮為 $k$ 個具有代表性的節點,但該方案的一個主要缺點是它沒有考慮節點之間的關係。為了解決這一限制,我們應該進一步考慮 $n$ 個或壓縮的 $k$ 個不同節點之間的相互作用。
為此,提出了自注意力函式(SelfAtt),如 Figure 2-SelfAtt 所示:
$\begin{array}{left}\boldsymbol{Z}=\mathrm{LN}(\boldsymbol{H}+\operatorname{MH}(\boldsymbol{H}, \boldsymbol{H}, \boldsymbol{H}))\\\operatorname{SelfAtt}(\boldsymbol{H})=\operatorname{LN}(\boldsymbol{Z}+\operatorname{rFF}(\boldsymbol{Z})) ; \end{array} \quad\quad\quad(8)$
其中,與 $\text{Eq.7}$ 中考慮 $k$ 個向量和 $n$ 個節點之間相互作用的 GMH 相比,SelfAtt 通過將節點嵌入 $H$ 放在 $\text{Eq.8}$ 的MH中的查詢和關鍵位置來捕獲 $n$ 個節點之間的相互關係。為了滿足 SelfAtt 的單射特性,它可能不考慮 $n$ 個節點之間的相互作用。
Overall Architecture
對於具有節點特徵 $X$ 和鄰接矩陣 $A$ 的圖 $G$,編碼器:$G \mapsto \boldsymbol{H} \in \mathbb{R}^{n \times d}$ 表示如下:
$\operatorname{Encoder}(\boldsymbol{X}, \boldsymbol{A})=\mathrm{GNN}_{2}\left(\mathrm{GNN}_{1}(\boldsymbol{X}, \boldsymbol{A}), \boldsymbol{A}\right) \quad\quad\quad(9)$
從編碼器獲得一組節點特徵 $\boldsymbol{H} $ 後,池化層將這些特徵聚合成單一的向量形式。池化:$\boldsymbol{H}, \boldsymbol{A} \mapsto \boldsymbol{h}_{G} \in \mathbb{R}^{d}$。為了處理大量的節點,我們首先用圖多集池(GMPool)將整個圖壓縮為 $k$ 個具有代表性的節點,這也能適應不同大小的節點,然後利用它們之間的節點與自注意塊(SelfAtt)的互動作用。最後,我們使用 $k=1$ 的 GMPool 得到整個圖表示如下:
$\left.\operatorname{Pooling}(\boldsymbol{H}, \boldsymbol{A}\right)=\mathrm{GMPool}_{1}\left(\operatorname{SelfAtt}\left(\operatorname{GMPool}_{k}(\boldsymbol{H}, \boldsymbol{A})\right), \boldsymbol{A}^{\prime}\right) \quad\quad\quad(10)$
其中,$\boldsymbol{A}^{\prime} \in \mathbb{R}^{k \times k}$ 是粗化的鄰接矩陣,因為鄰接資訊應該在用 $GMPool_k$ 將節點從 $n$ 壓縮到 $ k$ 後進行調整。
2.3 Connection With Weisfeiler-lehman Graph Isomorphism Test
Weisfeiler-Lehman (WL) test 以其能夠有效地區分兩種不同的圖而聞名,通過在多集上使用單射函式將兩個不同的圖對映到不同的空間。
Theorem 1 (Non-isomorphic Graphs to Different Embeddings). Let $\mathcal{A}: \mathcal{G} \rightarrow \mathbb{R}^{d}$ be a G N N , and Weisfeiler-Lehman test decides two graphs $G_{1} \in \mathcal{G}$ and $G_{2} \in \mathcal{G}$ as non-isomorphic. Then, $\mathcal{A}$ maps two different graphs $G_{1}$ and $G_{2}$ to distinct vectors if node aggregation and update functions are injective, and graph-level readout, which operates on a multiset of node features $\left\{\boldsymbol{H}_{i}\right\}$, is injective.
Lemma 2 (Injectiveness on Graph Multiset Pooling). Assume the input feature space $\mathcal{H}$ is a countable set. Then the output of $\operatorname{GMPool}_{k}^{i}(\boldsymbol{H}, \boldsymbol{A})$ with $G M H\left(\boldsymbol{S}_{i}, \boldsymbol{H}, \boldsymbol{A}\right)$ for a seed vector $\boldsymbol{S}_{i}$ can be unique for each multiset $\boldsymbol{H} \subset \mathcal{H}$ of bounded size. Further, the output of full GMPool $(\boldsymbol{H}, \boldsymbol{A})$ constructs a multiset with $k$ elements, which are also unique on the input multiset $\boldsymbol{H}$ .
2.4 Connection with node clustering approaches
節點聚類被廣泛用於分層地粗化圖,如 $\text{Eq.4}$ 所述。然而,由於它們需要儲存甚至將鄰接矩陣 $A$ 與軟賦值矩陣 $\boldsymbol{C}: \boldsymbol{A}^{(l+1)}=\boldsymbol{C}^{(l)^{T}} \boldsymbol{A}^{(l)} \boldsymbol{C}^{(l)}$ 相乘,它們需要 $n$ 個節點的一個二次空間 $\mathcal{O}\left(n^{2}\right)$,這對於大圖來說是有問題的。同時,我們的 GMPool 不計算一個粗化的鄰接矩陣 $A^{(l+1)}$,這樣圖池只有在稀疏實現時才可能實現,如 Theorem 4 中形式化的那樣。
Theorem 4 (Space Complexity of Graph Multiset Pooling). Graph Multiset Pooling condsense a graph with n nodes to $k$ nodes in $\mathcal{O}(n k)$ space complexity, which can be further optimized to $\mathcal{O}(n) $.
Proposition 5 (Approximation to Node Clustering). Graph Multiset Pooling $GMPool_k$ can perform hierarchical node clustering with learnable k cluster centroids by Seed Vector S in $\text{Eq.7}$.
3 Experiment
4 Conclusion
在這項工作中,我們指出,現有的圖池方法要麼不考慮每個節點的任務相關性(和或平均值),要麼可能不滿足注入性(節點下降和聚類方法)。克服這些限制,我們提出了一種新穎的圖池方法,圖多集變壓器(GMT),不僅編碼給定的節點嵌入作為多集唯一地嵌入兩個不同的圖嵌入兩個不同的嵌入,但還考慮圖的全域性結構和他們的任務相關性在壓縮節點特性。我們從理論上證明了所提出的池化函式與WL測試一樣強大,並且可以擴充套件到節點聚類方案中。我們在10個圖分類資料集上驗證了所提出的GMT,我們的方法在大多數資料集上優於最先進的圖池模型。我們進一步表明,我們的方法在圖重建和生成任務上優於現有的圖池方法,後者需要比分類任務更準確的圖表示。我們堅信,所提出的池化方法將帶來實質性的實際影響,因為它通常適用於許多正在變得越來越重要的圖形學習任務。