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