Graph Normalization (GN):为图神经网络学习一个有效的图归一化
摘要
作者在不同任務中嘗試了節點式歸一化(Node-wise),鄰接式歸一化(Adjance-wise),圖式歸一化(Graph-wise)和批處理歸一化(Batch-wise)作為歸一化計算方式,來分析每種歸一化方式的優劣,并提出一種基于學習的四合一自動加權組合的方式來學習適合當前任務的圖歸一化。
Paper:
Learning Graph Normalization for Graph Neural Networks
https://arxiv.org/abs/2009.11746
Source Code:
https://github.com/cyh1112/GraphNormalization
背景
圖神經網絡(GNN)近年來吸引了大量的關注,因為圖神經網絡成為了處理圖結構數據最有希望的一種范例。圖神經網絡通過堆疊多層,每一層通過節點間的信息傳遞與聚合來更新每個節點的表示,多層信息傳遞,可以捕捉遠程節點之間的依賴關系,而帶來更好的性能。要訓練一個多層的GNN,歸一化技術是必不可少的。但不同的歸一化技術對不同任務有不一樣的表現,最近arXiv上公開的一篇文章《Learning Graph Normalization for Graph Neural Networks》探討了在圖神經網絡里面,應該如何選擇更好的歸一化技術。
核心思想介紹
首先我們來看在論文中提到的四種歸一化技術,(a)節點式(node-wise)歸一化,其實類似于NLP里面的層歸一化(LayerNorm), 每個節點單獨來計算歸一化;(b)鄰接式歸一化(Adjance-wise)是將該節點的鄰接節點信息加進來一起計算歸一化,在查閱源代碼之后,這一點實現作者用了一個比較巧妙的實現方式,利用dgl的消息傳遞機制,鄰接節點特征聚合到中心節點之后再計算歸一化,等于是做了兩次的信息傳遞。(c)圖式(Graph-wise)歸一化, 就是利用整個圖所有節點的特征來計算歸一化,歸一化只考慮圖內信息,而不是考慮整個數據庫的分布。(d)批處理式(Batch-wise)歸一化,在CV領域最常用的歸一化方式。(e)(f)(g)(h)是同樣的計算,在圖的邊上的體現。
節點式歸一化Node-wise Normalization計算如下:,
本質上Node-wise Normalization和LayerNorm的計算方式是一樣的, 只是LayerNorm經常用在NLP任務中,NLP任務中數據大多是Sequence化的,如Transformer, Bert。而圖中的數據不一定是序列化,大多數情況下不是序列化的,因此Node-wise Normalization對哪類圖問題會比較好是疑問。
鄰接式的歸一化計算Adjance-wsie Normalization如下:
其中k表示第k個圖, i表示第i個節點, 表示第k個圖中第i個節點的所有近鄰節點。
鄰接式的Normalization的計算量要大一點。
圖式的歸一化計算 Graph-wise Normalization如下:
其中G_k\mathcal{G}\_{k}G_k表示第k個圖中的所有節點,∣G_k∣\left|\mathcal{G}\_{k}\right|∣∣?G_k∣∣?表示第k個圖中所有節點的數量。
批處理式的歸一化計算 Batch-wise Normalization如下:
Batch-wise Normalization和BN本質上也是等價的。BN是CV中至關重要的一個技術,有效的改善了梯度爆炸的問題。
除了以上四種歸一化技術之后,作者還提出一種自動學習加權組合的歸一化技術(United Graph Normalization), 將以上四種歸一化技術,加上可學習權重lambda,在lambda可視化中也可以看到,這個lambda權重學習有一定傾向性,作用越大的歸一化方式,對應lambda權重越大,公式如下:
在不同數據集上,隨著層次變化權重的分布圖如下:
在節點分類上,圖式的歸一化效果好,它在最后一層的權重就大,在圖分類和圖回歸上面批處理式的效果好,它在最后一層權重就大。在邊預測問題上面規律沒有圖分類回歸明顯。
4種歸一化方法分析
節點式歸一化: 等同于層歸一化(LayerNorm),只考慮自身特征,但忽略了鄰域和圖結構等信息。
鄰接式歸一化: 計算引入鄰接節點的信息,能反映節點在不同鄰域的差異。
圖式歸一化: 在單圖做歸一化,能體現圖內節點在圖中的差異,在節點分類任務中表現更加優異。
批處理歸一化: 與標準的批處理歸一化一樣,但當在單圖任務上時,與圖式歸一化相似。只是在訓練的時候一個用momentum,一個不用。
實驗
論文除了follow [1]中的實驗之外,還做了一個關鍵信息抽取SROIE的任務,這個任務有四個關鍵字段,’公司名’、’地址’、’時間’、’合計金額’,如下圖所示。論文把關鍵信息抽取看出是一個節點分類任務,其中’公司名’和’地址’可能包含多行,也就是多個節點,只有當所關鍵字段包含的所有節點都同時分類正確才算對,否則就算錯誤。
結果如下表:
結論
在實驗結果和lambda的可視化分析中,我們可以發現,圖式歸一化和鄰接式的歸一化在節點分類上性能突出,這也說明節點分類更依賴節點所在鄰域信息,或者節點所在圖中位置的信息。而批處理歸一化在在圖分類和圖回歸任務中表現很好。而組合式的歸一化( United Graph Normalization)可以調節不同歸一化結果的比重,來達到更好的性能,同時也有一個體現,lambda權重越大,對應單一歸一化結果也更好。我們也可以通過lambda的分布來判斷哪種歸一化更適合。
本文為極市開發者原創投稿,轉載請注明來源。極市「論文推薦」專欄,幫助開發者們推廣分享自己的最新工作,歡迎大家投稿。聯系極市小編(fengcall19)即可投稿~
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Graph Normalization (GN):为图神经网络学习一个有效的图归一化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像算法处理视频不稳定?港科大团队提出一
- 下一篇: 何恺明团队最新力作SimSiam:消除表