周波周微毛勇超
基于PyG庫的多種類圖神經網絡對比研究*
周波1,2,3,周微2,3,毛勇超3
(1. 新一代人工智能技術應用交通運輸行業研發中心,浙江 杭州 310023;2. 浙江交通職業技術學院 海運學院,浙江 杭州 310012;3. 浙江工業大學 信息工程學院,浙江 杭州 310023)
各種各樣的基于消息傳遞機制的圖神經網絡架構被提出,但是這些圖神經網絡在同一節點分類任務的表現性能如何缺少相應的研究.文章基于PyG圖神經網絡庫,編寫實驗代碼,包括數據集處理、圖神經網絡搭建和節點分類模型訓練3個主要環節,實現對不同架構的圖神經網絡在節點分類任務上的對比.通過利用多指標衡量基于多種類的圖神經網絡構建的節點分類模型,最后得出最適合節點分類的圖神經網絡結構,并給出實驗分析,同時提出了今后的研究方向.
圖神經網絡;PyG;消息傳遞;節點分類
圖是現實生活中廣泛存在的一種數據形式.現實生活中,很多場景可以建模成以圖形式表示的復雜網絡,比如電力網絡、交通網絡、航空網絡以及社交網絡等.隨著人類社會各個場景下的數據大量產生,以圖形式存儲這些數據之間關系的應用越來越廣泛.因此,開發在圖上對數據進行挖掘、行為預測等任務的技術手段或工具也逐漸引起了科研工作者的興趣.近年來,圖神經網絡(Graph Neural Network,GCN)[1]技術被開發出來應用于解決圖上的各類問題,其被廣泛應用于社交網絡、知識圖譜、推薦系統和生命科學等領域.例如,文獻[2]利用圖神經網絡有效表達城市復雜路網的結構特性;文獻[3]利用圖神經網絡對系統毒病理學領域的應用進行了展望;文獻[4]基于深度圖卷積神經網絡從序列出發預測蛋白質氨基酸的結構,提升關聯圖預測效率;文獻[5]利用圖神經網絡解決復雜圖的推薦難題,采用圖神經網絡可以挖掘有效信息,重構網絡并預測評分.
隨著圖神經網絡的蓬勃發展,基于圖神經網絡基礎架構而采用不同聚合形式的新架構圖神經網絡也越來越多,但是這些新架構圖神經網絡的提出均是針對于某一個特定任務而設計的,缺少在同一任務場景下,對不同架構圖神經網絡之間的性能對比;當前存在的各類圖神經網絡應用需要研究者從頭開始編程搭建,因圖神經網絡存在大量的超參數,從頭開始搭建費時費力,阻礙了圖神經網路的快速部署.因此基于統一的圖神經網絡框架下快速搭建不同架構的圖神經網絡,并部署到同一任務中進行快速對比至關重要,從而為后續的圖神經網絡的實際應用提供支撐,為決策者在同一任務下選擇最優的圖神經網絡架構提供決策輔助.

圖神經網絡對于圖的深層信息具有強大的表征能力,能夠挖掘圖中節點、邊之間的隱藏信息.本文將基于PyG快速搭建常用的不同消息聚合形式的圖神經網絡模型,并將這些模型在同一節點分類任務中的表現進行對比.通常,圖中每一個節點有一個特征向量X以及一個標簽y,實際場景中,圖中只有部分節點的標簽信息可以獲取,節點分類的任務就是利用這些有標簽信息的節點來預測剩余未知節點的標簽.節點分類任務包含兩個步驟,第一步,利用圖神經網絡得到節點的嵌入表達;第二步,構建全連接層深度模型即多層感知機,將第一步獲得的節點嵌入作為輸入,進而得到各個節點在各個類別上的預測分布.多層感知機的輸出一般會進行softmax計算,保證每個節點在各個類別上預測概率之和為1.因此,在節點分類任務中,第一步的圖神經網絡搭建就至關重要.圖神經網絡采用消息聚合的形式來獲得每一個節點的嵌入,其基本聚合形式如下[7]5:


其中:表示圖中每個節點加一個自循環;I表示單位矩陣;是對角度矩陣;其對角線元素為;W是圖神經網絡的模型參數.例如存在一個簡單圖,該圖是一個無向無權的圖,包含4個節點,其連接情況如圖1所示.
則該圖的連接矩陣為:

則添加自循環后的連接矩陣為:

對角度矩陣為:

設圖(1)的節點初始特征為:

為了解釋消息聚合的特性,暫不考慮的情況下,根據矩陣的乘法特性,經過GCN聚合以后節點的特征:



利用PyG中的Planetoid(root,name,transform)函數下載數據集.其中參數root表示數據集存放在本地的位置.參數name表示下載的數據集名稱,本文選用科學引文數據集來實現節點分類任務,科學引文數據集中節點表示發表的文章,節點之間的關系表示文章之間的引用關系,節點的列表表示文章所屬的學科,科學引文數據集包含3個數據集,其基本情況見表1.本文將采用其中一類引文數據集Cora來訓練節點分類模型并評估不同架構形式的圖神經網絡表現效果.Cora引文數據集中的文章共分為七個類別[9],分屬7個學科,分別為:基于案例、遺傳算法、神經網絡、概率方法、強化學習、規則學習和理論.參數transform表示對節點的特征是否進行正則化處理,本文采用L2范數對節點特征進行正則化處理.

表1 引文數據集
為公平對比,在Cora數據集中,從每個類別中采樣20個樣本組成訓練集,再從剩下的樣本中采樣500個樣本組成驗證集,最后剩下的樣本組成測試集.每一個分類模型均是通過5次重復獨立實驗確定最優的分類模型進行對比.研究發現,獨立重復實驗次數超過5以后,節點分類模型已經比較穩定.因此為了節省訓練資源,設定5次獨立重復實驗來選擇最優分類模型.訓練集樣本數越多,分類模型能夠學到更多隱藏信息,分類精度越高.通過前期實驗,我們發現,訓練集中每個類別中樣本數超過20,各個模型的分類精度差別不大.這是因為,各個分類模型本質都是可以實現節點分類的,如果訓練集中各個樣本數大于20,則訓練集信息過于豐富,各個分類模型的分類精度區分度并不明顯.同樣,訓練集中,每個樣本數如果少于20,各個分類模型的精度都較低,區分度也不明顯.通過前期實驗我們還發現,不同類型的數據集其訓練集的組成個數對分類模型的分類精度也有影響,因此數據集特征與分類模型的本質關系我們今后將做進一步研究.
編寫節點分類任務的代碼,并再GPU上訓練節點發呢類模型.GCN的訓練情況如圖2所示,其中橫坐標為訓練測次數,左側縱坐標為損失函數的訓練集損失值,右側縱坐標為驗證集上的分類精度,分類精度定義為相應數據集中預測節點類別正確的個數與數據集個數的比值.從圖2可以看出,GCN能夠比較快的降低損失函數值,并且在驗證集上的分類精度也迅速提升,最后2個曲線在175時間步以后趨于平穩.不同架構的圖神經完網絡在測試集上的分類精度如圖3所示,可以看出,GCN、GAT和GraphSage在測試集上明顯表現優于其他架構的圖神經網絡;在測試集上分類效果最好的是GAT、GraphSage和GCN.接下來,我們將評估這3類圖神經網絡和GIN在節點分類任務中的分類效果.編寫程序計算這4種架構的圖神經網絡在節點分類任務上的混淆矩陣.橫軸表示分類模型預測類別,縱軸表示節點的真實類別,混淆矩陣對角線位置的數據表示預測正確的節點個數,如圖4~7所示.
從圖4~6可以看出,對節點類別0預測成功率最高的是GCN、GAT和GraphSage;對類別1預測成功率最高的是GCN和GAT;對類別2預測成功率最高的是GAT;對類別3預測成功率最高的是GAT;對類別4預測成功率最高的是GCN;對類別5預測成功了率最高的是GAT;對類別6預測成功率最高的是GCN和GraphSage.從圖7可以看出,GIN圖神經網絡在節點各個類別的預測中均處于下風,這與圖3的實驗結果一致.經過分析可知,在類別0、1和6中,至少有2種圖神經網絡的預測精度一致,因此需要更精確滴衡量這3類算法在這3個類別上的表現.

圖2 GCN訓練曲線圖

圖3 多種類圖神經網絡測試集分類精度

圖4 GCN混淆矩陣

圖5 GAT混淆矩陣

圖6 GraphSage混淆矩陣

圖7 GIN混淆矩陣
為了更進一步探究GCN、GAT和GraphSage的分類性能,計算三者的查準率、查全率和1分數,其各自定義如下[10]:



其中:表示預測為正樣本正確的個數;表示預測為正樣本錯誤的個數;表示預測為負樣本錯誤的個數.因此,結合混淆矩陣,計算出對于類別0、類別1和類別6下圖神經網絡的查準率、查全率和F分數分別見表2、表3和表4.
從表2可以看出,雖然3個圖神經網絡在數據集上的分類精度一致,但GAT表現更好一些,其在查準率和1分數指標上表現都是最高的,GCN的查全率與GAT的查全率都是最高的.從表3可以看出,除了查全率指標,GAT都是表現最好的.從表4可以看出,GCN和GraphSage對于類別6的分類不分伯仲,具體使用的時候需要看使用傾向.查準率和查全率2個指標是相互矛盾的指標,從兩者的定義上來看,兩者中一個越大,另外一個越小.到底選擇哪一指標來衡量分類模型,需要看使用的場景和傾向.例如,在垃圾郵件檢測分類中,我們希望在整個標記為垃圾郵件的類中,實際為垃圾郵件的個數要多一些,即更大的查準率,形象的理解就是寧可漏掉,不可錯殺,因為誤標記一個正常郵件為垃圾郵件帶來的影響要遠大于未正確識別垃圾郵件的影響.但是,在金融貸款領域,對于異常貸款人的檢測更希望寧愿誤殺,不可漏掉,即希望更大的查全率,因為將資金貸款給檢測分類為正常貸款人實際是異常貸款人的風險異常巨大,往往一個異常貸款人帶來的違約風險可以完全抵消所有正常貸款帶來的收益.因此,在金融領域,寧愿檢測器誤將正常貸款人檢測為異常,也不愿意放過任何一個異常貸款人.1分數就是查準率和查全率的調和平均值.因此,1以作為衡量標準,類別0分類效果最好的圖神經網絡是GAT,類別1分類效果最好的圖神經網絡是GAT,類別6兩者的分類效果一致.

表2 類別0下的分類指標

表3 類別1下的分類指標

表4 類別6下的分類指標
進一步,我們繪制ROC曲線,并計算相應的AUC值,ROC曲線的縱軸是真正例率TPR(True Positive Rate),橫軸是假正例率FPR(False Positive Rate).AUC是ROC曲線下的面積,ROC曲線越遠離中間即AUC數值越大表示分類模型越好.
從圖8和圖9中可以看出,對于類別6,GCN和GraphSage兩個ROC曲線走勢趨于一致,ROC曲線越凸向于左上角,則說明該分類模型效果越好,但憑肉眼很難看出兩者的曲線誰更趨向于左上角,但利用計算ROC曲線下的面積即AUC值,可以發現GraphSage對于類別6的AUC值為0.9834大于GCN的AUC值0.9803.因此,對于類別6從整體分類效果來看,GraphSage的分類效果更勝一籌.因此,綜合以上分析,對于類別0,分類效果最好的分類模型是GAT;對于類別1,分類效果最好的分類模型是GAT;對于類別2,分類效果最好的分類模型是GAT;對于類別3,分類效果最好的分類模型是GAT;對于類別4,分類效果最好的分類模型是GCN;對于類別5,分類效果最好的分類模型是GAT;對于類別6,分類效果最好的分類模型是GraphSage.雖然GAT的分類效果更好一些,但是GCN和GraphSage與之的差別并不大.

圖8 GCN的ROC曲線和AUC值

圖9 GraphSage的ROC曲線和AUC值
本文基于PyG庫,以Cora數據集為基準,編寫分類任務代碼,對比六類圖神經網絡的分類效果.在整體分類精度上GCN、GAT和GraphSage表現遠好于其他3類,接著重點分析了GCN、GAT和GraphSage在不同類別上的表現效果,利用混淆矩陣、查全率、查準率和分數指標,繪制ROC曲線并計算相應AUC值,最終得出GAT在節點分類上效果最好,但是GCN和GraphSage與之的差別并不大.
本文的對比僅僅是從分類精度上來衡量,但是一個算法的好壞評價包括運算效率、時間復雜度、空間復雜度和泛化性等方面.因此,對于圖神經網絡在其他方面的對比是我們今后的一個研究方向.本文的研究可以為后續圖神經網絡的應用提供決策指導,為決策者提供用何種神經網絡來進行節點分類提供了數據支撐.
[1] 徐冰冰,岑科廷,黃俊杰,等.圖卷積神經網絡綜述[J].計算機學報,2020,43(05):755-780.
[2] 閆旭,范曉亮,鄭傳潘,等.基于圖卷積神經網絡的城市交通態勢預測算法[J].浙江大學學報(工學版),2020,54(06):1147-1155.
[3] 王浩博,王中鈺,陳景文,等.基于圖神經網絡模型的系統毒理學研究展望[J].環境化學,2021,40(11):3297-3306.
[4] 徐佳燕.基于深度卷積神經網絡的蛋白質氨基酸關聯圖預測[D].上海交通大學,2019.
[5] 李嫻,張澤華,趙霞,等.TWD-GNN:基于三支決策的圖神經網絡推薦方法[J].計算機工程與應用,2020,56(12):156-162.
[6] Paszke A, Gross S, Massa F, et al. Pytorch: An imperative style, high-performance deep learning library[J]., 2019,32:1-12.
[7] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv Preprint arXiv:1609.02907, 2017(4):1-14.
[8] 周波.不同優化器對GCN模型參數訓練的影響[J].浙江交通職業技術學院學報,2020,21(04):23-28.
[9] Yang Z, Cohen W, Salakhudinov R. Revisiting semi- supervised learning with graph embeddings[C]// International conference on machine learning, PMLR, 2016:40-48.
[10] 宋楓溪,高林.文本分類模型性能評估指標[J].計算機工程,2004(13):107-109+127.
A Comparative Study of Multi-class Graph Neural Networks Base on PyG Library
ZHOU Bo1,2,3, ZHOU Wei2,3, MAO Yongchao3
()
Various graph neural network architectures based on message passing mechanisms have been proposed, but there is a lack of corresponding research on how these graph neural networks perform on the same node classification task. Based on the PyG graph neural network library, our paper writes experimental code, including data set processing, graph neural network construction and node classification model training. We realize the comparison of graph neural networks with different architectures on the node classification task, and measure the node classification model based on multiple types of graph neural networks by using multiple metrics. Finally, the graph neural network structure that is most suitable for node classification is obtained, the experimental analysis is given, and the future research direction is also proposed.
graph neural networks; PyG; message passing; node classification
TP399
A
1672-0318(2022)03-0021-06
10.13899/j.cnki.szptxb.2022.03.003
2022-02-18
新一代人工智能技術應用交通運輸行業研發中心基金資助(202102H);浙江省教育廳一般科研項目“基于強化學習訓練的多智能安全性研究”資助項目(Y202043984).
周波,男,江蘇徐州人,講師,在讀博士,研究方向:復雜網絡、機器學習和圖數據挖掘.
(責任編輯:王璐)